From 8206d24c7eb9c4887efcb115ba65d79cb8c026e8 Mon Sep 17 00:00:00 2001 From: Ralimist <28601907+Teoxoy@users.noreply.github.com> Date: Thu, 29 Mar 2018 07:54:56 +0200 Subject: [PATCH] first commit --- .gitignore | 6 + LICENSE | 21 + README.md | 26 + package-lock.json | 14985 +++++ package.json | 53 + parser/defines.lua | 598 + parser/exportRawData.js | 109 + parser/json-entity.tpl | 11 + parser/json-icon.tpl | 11 + parser/luajs/lua.js | 1800 + parser/luajs/lua_parser_umd.js | 1441 + parser/processRawData.js | 466 + src/app.ts | 289 + src/blueprintSchema.json | 475 + src/bundles/entityBundle.json | 62266 ++++++++++++++++++ src/bundles/inventoryBundle.json | 1908 + src/bundles/itemBundle.json | 5976 ++ src/bundles/recipeBundle.json | 5615 ++ src/bundles/tileBundle.json | 2287 + src/containers/blueprint.ts | 342 + src/containers/editEntity.ts | 167 + src/containers/entity.ts | 427 + src/containers/info.ts | 135 + src/containers/inventory.ts | 248 + src/containers/overlay.ts | 387 + src/containers/paint.ts | 257 + src/containers/toolbar.ts | 59 + src/containers/underlay.ts | 136 + src/containers/wires.ts | 111 + src/entitySprite.ts | 83 + src/factorio-data/BPString.ts | 67 + src/factorio-data/blueprint.ts | 403 + src/factorio-data/book.ts | 53 + src/factorio-data/connectionsManager.ts | 132 + src/factorio-data/entity.ts | 324 + src/factorio-data/factorioData.ts | 1048 + src/factorio-data/positionGrid.ts | 361 + src/factorio-data/tile.ts | 30 + src/globals.ts | 84 + src/index.d.ts | 25 + src/index.html | 13 + src/logo.png | Bin 0 -> 11279 bytes src/sample-blueprint.ts | 2 + src/spritesheets/entitySpritesheet.json | 1730 + src/spritesheets/entitySpritesheet.png | Bin 0 -> 15774295 bytes src/spritesheets/extra_iconSpritesheet.json | 65 + src/spritesheets/extra_iconSpritesheet.png | Bin 0 -> 24562 bytes src/spritesheets/iconSpritesheet.json | 1110 + src/spritesheets/iconSpritesheet.png | Bin 0 -> 531074 bytes src/updateGroups.ts | 86 + src/util.ts | 157 + src/zoomPan.ts | 189 + tsconfig.json | 24 + tslint.json | 122 + webpack.common.js | 83 + webpack.dev.js | 9 + webpack.prod.js | 38 + 57 files changed, 106850 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 parser/defines.lua create mode 100644 parser/exportRawData.js create mode 100644 parser/json-entity.tpl create mode 100644 parser/json-icon.tpl create mode 100644 parser/luajs/lua.js create mode 100644 parser/luajs/lua_parser_umd.js create mode 100644 parser/processRawData.js create mode 100644 src/app.ts create mode 100644 src/blueprintSchema.json create mode 100644 src/bundles/entityBundle.json create mode 100644 src/bundles/inventoryBundle.json create mode 100644 src/bundles/itemBundle.json create mode 100644 src/bundles/recipeBundle.json create mode 100644 src/bundles/tileBundle.json create mode 100644 src/containers/blueprint.ts create mode 100644 src/containers/editEntity.ts create mode 100644 src/containers/entity.ts create mode 100644 src/containers/info.ts create mode 100644 src/containers/inventory.ts create mode 100644 src/containers/overlay.ts create mode 100644 src/containers/paint.ts create mode 100644 src/containers/toolbar.ts create mode 100644 src/containers/underlay.ts create mode 100644 src/containers/wires.ts create mode 100644 src/entitySprite.ts create mode 100644 src/factorio-data/BPString.ts create mode 100644 src/factorio-data/blueprint.ts create mode 100644 src/factorio-data/book.ts create mode 100644 src/factorio-data/connectionsManager.ts create mode 100644 src/factorio-data/entity.ts create mode 100644 src/factorio-data/factorioData.ts create mode 100644 src/factorio-data/positionGrid.ts create mode 100644 src/factorio-data/tile.ts create mode 100644 src/globals.ts create mode 100644 src/index.d.ts create mode 100644 src/index.html create mode 100644 src/logo.png create mode 100644 src/sample-blueprint.ts create mode 100644 src/spritesheets/entitySpritesheet.json create mode 100644 src/spritesheets/entitySpritesheet.png create mode 100644 src/spritesheets/extra_iconSpritesheet.json create mode 100644 src/spritesheets/extra_iconSpritesheet.png create mode 100644 src/spritesheets/iconSpritesheet.json create mode 100644 src/spritesheets/iconSpritesheet.png create mode 100644 src/updateGroups.ts create mode 100644 src/util.ts create mode 100644 src/zoomPan.ts create mode 100644 tsconfig.json create mode 100644 tslint.json create mode 100644 webpack.common.js create mode 100644 webpack.dev.js create mode 100644 webpack.prod.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..99786b1b --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +node_modules +.wwp-cache +dist +*.log +parser/temp +parser/temp.* diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..a83e693f --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Tanasoaia Teodor Andrei + +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/README.md b/README.md new file mode 100644 index 00000000..5328ef19 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# factorio-blueprint-editor + +A [Factorio](https://www.factorio.com/) blueprint editor and renderer webapp + +# TODO: +- ctrl + click to add modules +- implement more entity settings (filters, conditions) +- edit bp label and icons +- put entityInfo icon backgrounds on another layer +- pipe window +- implement the other cursorBoxes +- overlay for turrets +- show electricity-icon-unplugged for entities that are not connected to a power pole +- bp manager (manage bps and books in an editor + placement of new blueprint in an allready loaded bp) +- show bp inputs (show icons for belts) +- throughput calculator/bp analyzer/bottleneck detector +- highlight lone underground pipes/belts +- train-stop station name +- tiles support +- poles range, wires and rotations +- rotate bp +- implement circuit_wire_max_distance with visualization ((x - center_x)^2 + (y - center_y)^2 <= radius^2) +- rail endings +- rail custom bounding box +- rail rotations +- belt endings diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..7d842428 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,14985 @@ +{ + "name": "factorio-blueprint-editor", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.42.tgz", + "integrity": "sha512-L8i94FLSyaLQpRfDo/qqSm8Ndb44zMtXParXo0MebJICG1zoCCL4+GkzUOlB4BNTRSXXQdb3feam/qw7bKPipQ==", + "dev": true, + "requires": { + "@babel/highlight": "7.0.0-beta.42" + } + }, + "@babel/core": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.42.tgz", + "integrity": "sha512-jcjZRewF/xqROfbk8EGyWlykaIR3IwrcefjWHu8xh4QnULSv3nfkjPM35v1itDgAT4/Jj5b4mPf4eZSC2HoRQA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.42", + "@babel/generator": "7.0.0-beta.42", + "@babel/helpers": "7.0.0-beta.42", + "@babel/template": "7.0.0-beta.42", + "@babel/traverse": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "babylon": "7.0.0-beta.42", + "convert-source-map": "1.5.1", + "debug": "3.1.0", + "json5": "0.5.1", + "lodash": "4.17.5", + "micromatch": "2.3.11", + "resolve": "1.6.0", + "semver": "5.5.0", + "source-map": "0.5.7" + } + }, + "@babel/generator": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.42.tgz", + "integrity": "sha512-9x3zS4nG/6GAvJWB8fAK+5g/Di36xdubB43dMNSucNJTwPvmyfCippir/0I8zyG+ID66hLCLi8V9bomlWRYaHA==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.42", + "jsesc": "2.5.1", + "lodash": "4.17.5", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.42.tgz", + "integrity": "sha512-2lmcB7mHRSXZjDV9fdnWGRco+5fbI0PdUtsL7mNA2GtJs0GPoKdV3sCx0N4cpzG2YRR4dNCiB2riYIrzWjmQ1Q==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.42.tgz", + "integrity": "sha512-lI14OS85dMAvsjTNTLrk3qqqvmy4CNxgXGpWkjMuKlYzwnC7LQvdrdH7wf3CBl8C0GSZHbgvADMUtrKiNjxJ5w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-call-delegate": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.42.tgz", + "integrity": "sha512-iGZJrRSKIvla9m8VJNv8wlbPReOLmVqFTpefl07v6e5cMPvP2XOgVWR2B4HZ9UwVo7Lx8rPAQ8/UZgjvq+pJ+A==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "7.0.0-beta.42", + "@babel/traverse": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-define-map": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.42.tgz", + "integrity": "sha512-MKaHNaciAiPc7q4AS2XRqk+I0d2ADryuIxd6r0EykkQ57w2nQxFx/CTWWQEnob9OSAP5dPO1stWIZ9j/VeKtIQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "lodash": "4.17.5" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.42.tgz", + "integrity": "sha512-fT1kVF2PoogggBT9QBgb4IXjbpC3VzFh1sJ6p/k3fZhOXbyqqco7oQ6lzvcIAO6rA7b15/iaIyLj0E+SLCHbwQ==", + "dev": true, + "requires": { + "@babel/traverse": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-function-name": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.42.tgz", + "integrity": "sha512-6IZ+kkPypwJrnmNzI3y31qAps2kXoPtCE241SvBva2YzB0n/YORWx2YM0jHPYOJBU9Xx5KkUhOKuWkeXZQgtTA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "7.0.0-beta.42", + "@babel/template": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.42.tgz", + "integrity": "sha512-hF5KKcn+V/5PwU7KZ1aVwo535woLC9eV+djaoyNPZeMMJ2s+8bZlEa66Tarei0T68VRL5LXIs1Ao4hSabSkpBg==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.42.tgz", + "integrity": "sha512-07NJrcvE2a5oOYiQUzSzih21R6nOpfoIe9saelKxORKXr9cOXcpoLXDi9XIAbRJoww8hqp57JbQxRK09FltZhQ==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.42.tgz", + "integrity": "sha512-0kTX0cjuVKUKDJmHjmAb504kNrwae0Ja32hGii7zSHDKm0tVZvvpT8Cc1yYHo6UsIkUmzEvfGwIrNYemx1jTtQ==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.42", + "lodash": "4.17.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.42.tgz", + "integrity": "sha512-XfCGsf6ijExiXw+oKL1Cp7VJttvgq8qalTGRqz4pviVNEjHU89Pfjsi1K/shdy5x4x+PiTSqn4zZ2PKfVp+vgg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "7.0.0-beta.42", + "@babel/helper-simple-access": "7.0.0-beta.42", + "@babel/helper-split-export-declaration": "7.0.0-beta.42", + "@babel/template": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "lodash": "4.17.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.42.tgz", + "integrity": "sha512-4Sssg3iFnLH/1fZQFCPNJ7ISZzrRwq/X8/T5OaURGP3NMVTR4mnEUqrc3v8/SfL3pfa57q3Fe4zIC2h7FuPkww==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.42.tgz", + "integrity": "sha512-hZLw8Iz9/YOxI9mgWyPOP1S84OcdQo1WFkZrS1sSf45g16sEb4dVslds2uvZgmx9BiG94PoWyABGf48Py6D6CA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.42.tgz", + "integrity": "sha512-QdwTsTPjJ63StltU6cEtqmB0Lc+L/OkK9Pz2bL9rylDF3UloyXinBA+SI/FkVyXi5HhDbBRf4T/OeVhWrsK68A==", + "dev": true, + "requires": { + "lodash": "4.17.5" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.42.tgz", + "integrity": "sha512-At+ipbHRYoN0AaafqPvTPqyVYi+beantKZ2orCYSb/AzP2+JywaWlOPH0wyXLOGzjkJX548Is4cV2wGbEG7++Q==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "7.0.0-beta.42", + "@babel/helper-wrap-function": "7.0.0-beta.42", + "@babel/template": "7.0.0-beta.42", + "@babel/traverse": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-replace-supers": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.42.tgz", + "integrity": "sha512-5OwdkTm7TaEBiBMOUV97j8a2goD3+avek9EOl/UdE/CYdtdQ/8RPdUPqtqXApay30aZ/EjIpBItcNlBtt29WBw==", + "dev": true, + "requires": { + "@babel/helper-optimise-call-expression": "7.0.0-beta.42", + "@babel/template": "7.0.0-beta.42", + "@babel/traverse": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-simple-access": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.42.tgz", + "integrity": "sha512-SK1nb/sx+Q/0N8USPR+/5G1D1U9tCo82MzJknmK7X4yexDacHmDHtqNP7xqUlSSo3xfMfyHgT7mAH17Cwik/gA==", + "dev": true, + "requires": { + "@babel/template": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "lodash": "4.17.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.42.tgz", + "integrity": "sha512-2r8pZG6SAJTTaI2OhxCmz5PKlMUPY5adOHrHtb1gM3ibJPDOzPAeOQNzItdxNnM33jjRakEGitXX6iYg7Sz73w==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helper-wrap-function": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.42.tgz", + "integrity": "sha512-jpZDbZROEw2HfmlImLXDB7BFoyo6M/Wn8jOOc1+JfCpg2uaZ+n6Q0C3sA6mCN6o7ZgpJkgT7IHQwdB3RMV6KLA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "7.0.0-beta.42", + "@babel/template": "7.0.0-beta.42", + "@babel/traverse": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/helpers": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.42.tgz", + "integrity": "sha512-att9SiG9GxOUdjai87LqjSstgNsdo1nXiGu+Eh078zwRiN8bM5Ww8vrbYkAm9PF4HaW6OzOKqyKxv595RT79bA==", + "dev": true, + "requires": { + "@babel/template": "7.0.0-beta.42", + "@babel/traverse": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42" + } + }, + "@babel/highlight": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.42.tgz", + "integrity": "sha512-X3Ur/A/lIbbP8W0pmwgqtDXIxhQmxPaiwY9SKP7kF9wvZfjZRwMvbJE92ozUhF3UDK3DCKaV7oGqmI1rP/zqWA==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.42.tgz", + "integrity": "sha512-fPPsSCajWzefDSb49JEeZfd/UeMK3xEQSRAz/H3BZ1uaRatwNNZoOJq4/WRH/xDeISmYUdkLRtqs39VPWLKYVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/helper-remap-async-to-generator": "7.0.0-beta.42", + "@babel/plugin-syntax-async-generators": "7.0.0-beta.42" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.42.tgz", + "integrity": "sha512-L4z5R8k3GxQKVYE2zGwftQ9K/IIIXMZKnY4C0lDyyMJAVk+H+cFUD0NfD4KTyZACc8DPqjkw6aEtC/AKCKUvEA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.42" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.42.tgz", + "integrity": "sha512-hD8HTOKzLqMXwKkqX+Qiig8aqsCoZ9k9Y0I3zLjkpYh7HBPoPhUhlN6McxtPHGRjM/qBCNcLCwtWuJetK/cNZg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.42" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.42.tgz", + "integrity": "sha512-aUEpQFuQydhs20dQSkz7edWkRaNHt8rVfcqHy5ykR4dqflq7+EclnuljuzIS+MJ3V8i5cyLMEXv/W1uWWf7UGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/helper-regex": "7.0.0-beta.42", + "regexpu-core": "4.1.3" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.42.tgz", + "integrity": "sha512-k6oVMsmY/mcp+rPRcK4dJL/J1ahtIRucXtNHNvAVRV9WFc7G3r1rrb1GlM4iNHareXBNdRlf7mkxyVaVpyJ3TQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.42.tgz", + "integrity": "sha512-Zhz6MdSpEviY3UFh/DUlrvf/Tn4wWosHXrnR52PBRtP/8ESWVaFuk57xWcBon3jJh0z5hYyRUr+D0wR7W7ZmnQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.42.tgz", + "integrity": "sha512-TXJpGMX/M9r0tkJPgZtoaBCdrhFMeAZtOiwNtVf5dWoA6TOmDwnnnbaUqynbBZm16jE7quWW5VhfFjDlOP1vMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.42.tgz", + "integrity": "sha512-/tpAo2Ur8m32U9pBcGQ6JKplWNEh462zxCnwVKL9yVwG02lttC4QSYBvreRK1wBidDz8JgRZFGGeB9N4l23/Sg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.42.tgz", + "integrity": "sha512-TTu8z0xz/mS8H98nCVw3wp86RSzdvUhtM4hX32sItrauJX1X8shVZDKbDtG8ZdA1FMKLgfvmn/hxtPOqjOkkpw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "7.0.0-beta.42", + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/helper-remap-async-to-generator": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.42.tgz", + "integrity": "sha512-Ib3bSf7pYLbqe+46RrJFJae1DrNYvIrGleYjzaN/MFYNaG9ePaOevSBmFHPxuW1SM5l2tTloeu5a7mhs9h0oxg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.42.tgz", + "integrity": "sha512-qvlAR1L7gZ1gqdj81a2AEfuar3lFsr7FSad4JrN5CJinQlVn/1eJe8oB1DQ7U8ocAzDDjn3tGit9lN7uKBWZsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "lodash": "4.17.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.42.tgz", + "integrity": "sha512-0GCv1wNyfMXKuaulype6+TF02Bxq/zQZ4NUbn2w9aQxzIZviAe1jcA7IRrNN2eVQL9L4oi8N6B26Wf8xFoBNrQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "7.0.0-beta.42", + "@babel/helper-define-map": "7.0.0-beta.42", + "@babel/helper-function-name": "7.0.0-beta.42", + "@babel/helper-optimise-call-expression": "7.0.0-beta.42", + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/helper-replace-supers": "7.0.0-beta.42", + "@babel/helper-split-export-declaration": "7.0.0-beta.42", + "globals": "11.4.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.42.tgz", + "integrity": "sha512-WYGXfe2uo2FdACubMhwV6Oq1Zx3SNSeBUHRe2X53WKbIKLMZlxRR5GfoLv4V2CeDGHL3mb97wYhmXSb56bIXeg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.42.tgz", + "integrity": "sha512-G3hwLdgeKCZ8EWqwMqeOEoXxRBc5aJthMUD5kN7sAIko+lvwIVQ0do9Op/+DAGVnrvC+g0Ool2Mihcej2NsCPQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.42.tgz", + "integrity": "sha512-g/XbJzib6qmbHOJv/2n/bVKLcfJUBRSo9zO73O7lvJEYh8JvHWM/oVU829ztVPpdPT3xgHMiTVhnV/O5r5dYNA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/helper-regex": "7.0.0-beta.42", + "regexpu-core": "4.1.3" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.42.tgz", + "integrity": "sha512-Nze+na6pnoZdrMtQv5Ct/i3031ib+kctDwt8KgcrtnOr52qUlbogPe1jY2WxpwSMtiowdPY93XsRFZeq6ogMTA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.42.tgz", + "integrity": "sha512-ylnAziSEho282hxQROK5tbNtxm0sSoQaQS74OCSE52eFeDNqSNGapyiNiWMZ71gqs8q5aqYsPgfa/vTccLT7uA==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "7.0.0-beta.42", + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.42.tgz", + "integrity": "sha512-pn+fmrr6pfXeEUMyx7JrKAOG/XCiABvXFOmQYqLoCl0POcW8sE75r8w/Lu2wHFayrNgDqR7/RCb7RW4h/U2u1Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.42.tgz", + "integrity": "sha512-OopJXZQAgBsPUAHr49Z4S4X24XJa9Iu0zPUPCML9weHloyFnkw5SGQIDLC6BxxPOmqfiB49gfIuHjbtJfUsOJw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "7.0.0-beta.42", + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.42.tgz", + "integrity": "sha512-mWEayRwUCY3/u8LZpcdR96TiWqofP60jjfVZUJ6agK6ifwEBgamv1Db8syIwUCjaZww5bjyZqX61AmP4fx3dvQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.42.tgz", + "integrity": "sha512-JCNM+WPKImpNHVLZG6x9F87AyX+K8KpMCkuCqyE7YgxAJWB+5FHVnpkdF6lprDilE/LXGwplmNb9OrWulMss2g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "7.0.0-beta.42", + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.42.tgz", + "integrity": "sha512-tCN0FFdTHaXpuJokvW8iWtbDpjKDNDO2dIyb8rr0GMQxsA62914e8oclcDUPEbC5iF5SCDEF0CmVHXbxnvANfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "7.0.0-beta.42", + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/helper-simple-access": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.42.tgz", + "integrity": "sha512-IEN3HVHpMPWrnI2EAEHg0248+Axkg2nrdspajefIyeZMlrN0dUt0gDgVsZtza5PK/1a+RZlpli7dDgcA7heTMg==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "7.0.0-beta.42", + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.42.tgz", + "integrity": "sha512-yOA2qnk4snRxkdgKDp6xN+by3V3z8q14cDf/aB0j36Jv2YqpDWUWMMWLQjabCEE/l7ptePBS4qbFH8dffCm4Tg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "7.0.0-beta.42", + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.42.tgz", + "integrity": "sha512-P2zwIIeTOev0Xjo//4p7ugtsWazIsycbs/T6I/ghiV2lREFxo9s93fygbXNXt5ALRPRWDthiAYIDA9n1vrgkVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.42.tgz", + "integrity": "sha512-d+gki0bYQtlleX4LnvpwjIkjmZScKQuHhDsD3N3nHLpwxbANp3YGtIfuf8dbY/PIbUKtd55/ErCvdsyuGlxAlw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/helper-replace-supers": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.42.tgz", + "integrity": "sha512-z2iXwael/zMHkOvvkJSirg1jIxGA00JOIwdERB+x+VGxLfLb+1IdyiytVw9+w5RTNSVAGYt6R4jhvUdAeQwMiQ==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "7.0.0-beta.42", + "@babel/helper-get-function-arity": "7.0.0-beta.42", + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.42.tgz", + "integrity": "sha512-E1s/MBk8ztbXqxbeUvFH26x8vAWq/7qX3UdbB8fKoN3EX2Wg9+yXWyuI50jOhXOq7jfmbOrVe0BWoUOjCOqWPQ==", + "dev": true, + "requires": { + "regenerator-transform": "0.12.3" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.42.tgz", + "integrity": "sha512-GID8z2s6R/XOHgaoxrKBH+zdBOBqFJTDYDS91w30fJGiHxVM4qFVOpYDNIMxmsjqW6bKVHyLeHBezp0OHv+9QQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.42.tgz", + "integrity": "sha512-ZzWt7RvGcV+9DcOTBwE6ArNqDpUMpzZhCToj3UNtULol9gGBbrGgUK/LdGwGInj+Z2aIdOjbAMFtEuC6626lJg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.42.tgz", + "integrity": "sha512-zQI5NhVfnSNNFiG8JhoXXzTV89aLTfHW22inWefATRmtqe64iHZ4bivBTkDbxt6X/St1yH0aZB+4XtBDZjzcKQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/helper-regex": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.42.tgz", + "integrity": "sha512-sCQmaa8fd3uPdy/J/qOkvPtxo3RtiH6SyW5bzdnUSOQ3+ND3Bj4OfJNziZxJwZZ8Y40lHrM0dKxZ8YnihlCETQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "7.0.0-beta.42", + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.42.tgz", + "integrity": "sha512-cuDOzCv7kpMqaLypTEN90ErVmKUV3vjTuO8qzCGlmJMZwCcteTpxCiwISJLnAxcGtj++fMVY0vntbcj4nXf9XQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.42.tgz", + "integrity": "sha512-iqQ8bhkRPZE2Vl5gR7GF0x4xUVlkncMxr7ve7Rjp/TMzNbO3S2XLr+1SPu+B+U3fIPDDA4I97enw5YL5V7QFOA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/helper-regex": "7.0.0-beta.42", + "regexpu-core": "4.1.3" + } + }, + "@babel/preset-env": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.0.0-beta.42.tgz", + "integrity": "sha512-DawmnYYDbOpMqq0H64iwtZJ7C1xjdwqJXBvAjRKv9WVnKPqZbMMli4JhwO30WnPELzOMGRwtLFAchPcEeyyCpQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "7.0.0-beta.42", + "@babel/helper-plugin-utils": "7.0.0-beta.42", + "@babel/plugin-proposal-async-generator-functions": "7.0.0-beta.42", + "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.42", + "@babel/plugin-proposal-optional-catch-binding": "7.0.0-beta.42", + "@babel/plugin-proposal-unicode-property-regex": "7.0.0-beta.42", + "@babel/plugin-syntax-async-generators": "7.0.0-beta.42", + "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.42", + "@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.42", + "@babel/plugin-transform-arrow-functions": "7.0.0-beta.42", + "@babel/plugin-transform-async-to-generator": "7.0.0-beta.42", + "@babel/plugin-transform-block-scoped-functions": "7.0.0-beta.42", + "@babel/plugin-transform-block-scoping": "7.0.0-beta.42", + "@babel/plugin-transform-classes": "7.0.0-beta.42", + "@babel/plugin-transform-computed-properties": "7.0.0-beta.42", + "@babel/plugin-transform-destructuring": "7.0.0-beta.42", + "@babel/plugin-transform-dotall-regex": "7.0.0-beta.42", + "@babel/plugin-transform-duplicate-keys": "7.0.0-beta.42", + "@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.42", + "@babel/plugin-transform-for-of": "7.0.0-beta.42", + "@babel/plugin-transform-function-name": "7.0.0-beta.42", + "@babel/plugin-transform-literals": "7.0.0-beta.42", + "@babel/plugin-transform-modules-amd": "7.0.0-beta.42", + "@babel/plugin-transform-modules-commonjs": "7.0.0-beta.42", + "@babel/plugin-transform-modules-systemjs": "7.0.0-beta.42", + "@babel/plugin-transform-modules-umd": "7.0.0-beta.42", + "@babel/plugin-transform-new-target": "7.0.0-beta.42", + "@babel/plugin-transform-object-super": "7.0.0-beta.42", + "@babel/plugin-transform-parameters": "7.0.0-beta.42", + "@babel/plugin-transform-regenerator": "7.0.0-beta.42", + "@babel/plugin-transform-shorthand-properties": "7.0.0-beta.42", + "@babel/plugin-transform-spread": "7.0.0-beta.42", + "@babel/plugin-transform-sticky-regex": "7.0.0-beta.42", + "@babel/plugin-transform-template-literals": "7.0.0-beta.42", + "@babel/plugin-transform-typeof-symbol": "7.0.0-beta.42", + "@babel/plugin-transform-unicode-regex": "7.0.0-beta.42", + "browserslist": "3.2.3", + "invariant": "2.2.4", + "semver": "5.5.0" + } + }, + "@babel/template": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.42.tgz", + "integrity": "sha512-EK7YdTe47j4VxlwNvz5bnlk5Jx/wWublnqfgOY2IuSNdxCQgXrLD34PfTnabGxywNSkJkcSo6jwr2JGT+S48dA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "babylon": "7.0.0-beta.42", + "lodash": "4.17.5" + } + }, + "@babel/traverse": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.42.tgz", + "integrity": "sha512-DZwMuZBfYVIn/cxpXZzHDgKmarW/MWqplLv1k7QJYhK5r5l6GAac/DkKl75A0CjPYrD3VGco6H6ZQp12QaYKSw==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.42", + "@babel/generator": "7.0.0-beta.42", + "@babel/helper-function-name": "7.0.0-beta.42", + "@babel/helper-split-export-declaration": "7.0.0-beta.42", + "@babel/types": "7.0.0-beta.42", + "babylon": "7.0.0-beta.42", + "debug": "3.1.0", + "globals": "11.4.0", + "invariant": "2.2.4", + "lodash": "4.17.5" + } + }, + "@babel/types": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.42.tgz", + "integrity": "sha512-+pmpISmTHQqMMpHHtDLxcvtRhmn53bAxy8goJfHipS/uy/r3PLcuSdPizLW7DhtBWbtgIKZufLObfnIMoyMNsw==", + "dev": true, + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.5", + "to-fast-properties": "2.0.0" + } + }, + "@pixi/filter-adjustment": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-adjustment/-/filter-adjustment-2.5.0.tgz", + "integrity": "sha1-VBrm9g/nTEPNbXS3g0fZfaShwgo=" + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true + }, + "@types/keyboardjs": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/@types/keyboardjs/-/keyboardjs-2.2.31.tgz", + "integrity": "sha512-AtqgGAdEUADxvQglI2J3XcIar0SYbH/WvORs4mbE4F52uuyqdv0O83K0ybYlf0P4c5gIJCxTvT2wMn4NOBzPsg==", + "dev": true + }, + "@types/node": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.1.tgz", + "integrity": "sha512-xwlHq5DXQFRpe+u6hmmNkzYk/3oxxqDp71a/AJMupOQYmxyaBetqrVMqdNlSQfbg7XTJYD8vARjf3Op06OzdtQ==", + "dev": true + }, + "@types/pixi.js": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.7.2.tgz", + "integrity": "sha512-ybrqVdncNCa81fCYCqxz/CISyMbXl8usszNv0mwdeYDyfDqmemQHJtf4GtduHva+3suhItPc9Akr/WfV19zWiQ==", + "dev": true + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "dev": true, + "requires": { + "mime-types": "2.1.18", + "negotiator": "0.6.1" + } + }, + "acorn": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "dev": true, + "requires": { + "acorn": "5.5.3" + } + }, + "ajv": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", + "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", + "requires": { + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1", + "uri-js": "3.0.2" + } + }, + "ajv-keywords": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz", + "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "any-observable": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.2.0.tgz", + "integrity": "sha1-xnhwBYADV5AJCD9UrAq6+1wz0kI=", + "dev": true + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.11.0" + } + }, + "array-parallel": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/array-parallel/-/array-parallel-0.1.3.tgz", + "integrity": "sha1-j3hTCJJu1apHjEfmTRszS2wMlH0=", + "dev": true, + "optional": true + }, + "array-series": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/array-series/-/array-series-0.1.5.tgz", + "integrity": "sha1-3103v8XC7wdV4qpPkv6ufUtaly8=", + "dev": true, + "optional": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.1", + "minimalistic-assert": "1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-types": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.3.tgz", + "integrity": "sha512-XA5o5dsNw8MhyW0Q7MWXJWc4oOzZKbdsEJq45h7c8q/d9DwWZ5F2ugUc1PuMLPGsUnphCt/cNDHu8JeBbxf1qA==", + "dev": true + }, + "async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "dev": true, + "requires": { + "lodash": "4.17.5" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.0.tgz", + "integrity": "sha512-SuiKH8vbsOyCALjA/+EINmt/Kdl+TQPrtFgW7XZZcwtryFu9e5kQoX3bjCW6mIvGH1fbeAZZuvwGR5IlBRznGw==", + "dev": true + }, + "author-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz", + "integrity": "sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA=", + "dev": true + }, + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000821", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000821", + "electron-to-chromium": "1.3.41" + } + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-core": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "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.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.5", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + }, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "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.5", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + } + } + }, + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "dev": true, + "requires": { + "babel-helper-bindify-decorators": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-loader": { + "version": "8.0.0-beta.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.0-beta.2.tgz", + "integrity": "sha512-P1zch1DvQy3RGmp/1CH78uPg5gTPQQ01S9r6ipCOWVamO0UIC8gnrx7m7LsUsXa470yB6IOZxhtEEwIUclRLNw==", + "dev": true, + "requires": { + "find-cache-dir": "1.0.0", + "loader-utils": "1.1.0", + "mkdirp": "0.5.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", + "dev": true + }, + "babel-plugin-syntax-class-constructor-call": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", + "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-export-extensions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", + "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", + "dev": true + }, + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-generators": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-class-constructor-call": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", + "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", + "dev": true, + "requires": { + "babel-plugin-syntax-class-constructor-call": "6.18.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "dev": true, + "requires": { + "babel-helper-explode-class": "6.24.1", + "babel-plugin-syntax-decorators": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "6.26.0", + "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.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", + "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "dev": true, + "requires": { + "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": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + } + } + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-export-extensions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", + "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", + "dev": true, + "requires": { + "babel-plugin-syntax-export-extensions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-flow-strip-types": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "dev": true, + "requires": { + "babel-plugin-syntax-flow": "6.18.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "0.10.1" + }, + "dependencies": { + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + } + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "dev": true, + "requires": { + "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.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.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.26.0", + "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.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" + } + }, + "babel-preset-stage-1": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", + "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", + "dev": true, + "requires": { + "babel-plugin-transform-class-constructor-call": "6.24.1", + "babel-plugin-transform-export-extensions": "6.22.0", + "babel-preset-stage-2": "6.24.1" + } + }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "dev": true, + "requires": { + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-decorators": "6.24.1", + "babel-preset-stage-3": "6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "dev": true, + "requires": { + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-generator-functions": "6.24.1", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-object-rest-spread": "6.26.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-runtime": "6.26.0", + "core-js": "2.5.4", + "home-or-tmp": "2.0.0", + "lodash": "4.17.5", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.4", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.5" + }, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "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.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.5" + }, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.5", + "to-fast-properties": "1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } + }, + "babylon": { + "version": "7.0.0-beta.42", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.42.tgz", + "integrity": "sha512-h6E/OkkvcBw/JimbL0p8dIaxrcuQn3QmIYGC/GtJlRYif5LTKBYPHXYwqluJpfS/kOXoz0go+9mkmOVC0M+zWw==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "base62": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/base62/-/base62-1.2.7.tgz", + "integrity": "sha512-ck0nDbXLEq2nD5jIcEzdpk07sYQ5P6z4NMTIgeQCFr5CCRZzmgUPlOes4o0k5pvEUQJnKO/D079ybzjpjIKf2Q==", + "dev": true + }, + "base64-js": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", + "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "bfj-node4": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz", + "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "check-types": "7.3.0", + "tryer": "1.0.0" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "bignumber.js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz", + "integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=", + "dev": true + }, + "bin-pack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bin-pack/-/bin-pack-1.0.1.tgz", + "integrity": "sha1-VW2jj4ZvKuvlbstF9ChJsISwxm8=", + "dev": true + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "binaryextensions": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.1.tgz", + "integrity": "sha512-XBaoWE9RW8pPdPQNibZsW2zh8TW6gcarXp1FZPwT8Uop8ScSNldJEWf2k9l3HeTqdrEwsOsFcq74RiJECW34yA==", + "dev": true + }, + "bit-twiddle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", + "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true + }, + "bmp-js": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.3.tgz", + "integrity": "sha1-ZBE+nHzxICs3btYHvzBibr5XsYo=", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.2", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "1.6.16" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "2.1.1", + "deep-equal": "1.0.1", + "dns-equal": "1.0.0", + "dns-txt": "2.0.2", + "multicast-dns": "6.2.3", + "multicast-dns-service-types": "1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.1", + "safe-buffer": "5.1.1" + } + }, + "browserify-cipher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", + "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "dev": true, + "requires": { + "browserify-aes": "1.1.1", + "browserify-des": "1.0.0", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", + "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.1" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.6" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "elliptic": "6.4.0", + "inherits": "2.0.1", + "parse-asn1": "5.1.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "1.0.6" + } + }, + "browserslist": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.3.tgz", + "integrity": "sha512-cdpm0bFVz1KoRFuDTEk0IgxmZ2k2kTRKVlSQWf1RnxUe65GfjnMO30AxHpMkVv5wlPnpEYom7DhXwdMplKsKCw==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000821", + "electron-to-chromium": "1.3.41" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.2.3", + "ieee754": "1.1.11", + "isarray": "1.0.0" + } + }, + "buffer-alloc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.1.0.tgz", + "integrity": "sha1-BVFNM78WVtNUDGhPZbEgLpDsowM=", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "0.1.1", + "buffer-fill": "0.1.1" + } + }, + "buffer-alloc-unsafe": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-0.1.1.tgz", + "integrity": "sha1-/+H2dVHdBVc33iUzN7/oU9+rGmo=", + "dev": true + }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", + "dev": true + }, + "buffer-fill": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-0.1.1.tgz", + "integrity": "sha512-YgBMBzdRLEfgxJIGu2wrvI2E03tMCFU1p7d1KhB4BOoMN0VxmTFjSyN5JtKt9z8Z9JajMHruI6SE25W96wNv7Q==", + "dev": true + }, + "buffer-from": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.2", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.0", + "y18n": "4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "cache-loader": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-1.2.2.tgz", + "integrity": "sha512-rsGh4SIYyB9glU+d0OcHwiXHXBoUgDhHZaQ1KAbiXqfz1CDPxtTboh1gPbJ0q2qdO8a9lfcjgC5CJ2Ms32y5bw==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mkdirp": "0.5.1", + "neo-async": "2.5.0", + "schema-utils": "0.4.5" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "dev": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "requires": { + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" + } + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "requires": { + "is-plain-obj": "1.1.0" + } + } + } + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "2.3.2", + "upper-case": "1.1.3" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000821", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000821", + "electron-to-chromium": "1.3.41" + } + } + } + }, + "caniuse-db": { + "version": "1.0.30000821", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000821.tgz", + "integrity": "sha1-P83GfERqlKnN2Egkik4+VLLadBk=", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000821", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000821.tgz", + "integrity": "sha512-qyYay02wr/5k7PO86W+LKFaEUZfWIvT65PaXuPP16jkSpgZGIsSstHKiYAPVLjTj98j2WnWwZg8CjXPx7UIPYg==", + "dev": true + }, + "canvas": { + "version": "1.3.12", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-1.3.12.tgz", + "integrity": "sha1-Dm17eNbJcwzxEp0ROLKNbVJmfpM=", + "dev": true, + "optional": true, + "requires": { + "nan": "2.10.0" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "check-types": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.3.0.tgz", + "integrity": "sha1-Ro9XGkQ1wkJI9f0MsOjYfDw0Hn0=", + "dev": true + }, + "cheerio": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz", + "integrity": "sha1-dy5wFfLuKZZQltcepBdbdas1SSU=", + "dev": true, + "requires": { + "css-select": "1.0.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.8.3", + "lodash": "3.10.1" + }, + "dependencies": { + "css-select": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz", + "integrity": "sha1-sRIcpRhI3SZOIkTQWM7iVN7rRLA=", + "dev": true, + "requires": { + "boolbase": "1.0.0", + "css-what": "1.0.0", + "domutils": "1.4.3", + "nth-check": "1.0.1" + } + }, + "css-what": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-1.0.0.tgz", + "integrity": "sha1-18wt9FGAZm+Z0rFEYmOUaeAPc2w=", + "dev": true + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz", + "integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.3.0", + "domutils": "1.5.1", + "entities": "1.0.0", + "readable-stream": "1.1.14" + }, + "dependencies": { + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + } + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.1", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.3", + "glob-parent": "2.0.0", + "inherits": "2.0.1", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, + "chrome-trace-event": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-0.1.2.tgz", + "integrity": "sha1-kPNohdU0WlBiEzLwcXtZWIPV2YI=", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "2.0.1", + "safe-buffer": "5.1.1" + } + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "1.1.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "clean-css": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", + "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "clean-webpack-plugin": { + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz", + "integrity": "sha512-M1Li5yLHECcN2MahoreuODul5LkjohJGFxLPTjl3j1ttKrF5rgjZET1SJduuqxLAuT1gAPOdkhg03qcaaU1KeA==", + "dev": true, + "requires": { + "rimraf": "2.6.2" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cli-spinners": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", + "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=", + "dev": true + }, + "cli-table": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", + "dev": true, + "requires": { + "colors": "1.0.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } + } + }, + "cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "dev": true, + "requires": { + "slice-ansi": "0.0.4", + "string-width": "1.0.2" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "1.0.0" + } + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", + "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "dev": true, + "requires": { + "inherits": "2.0.1", + "process-nextick-args": "2.0.0", + "readable-stream": "2.3.5" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true, + "requires": { + "clone": "1.0.4", + "color-convert": "1.9.1", + "color-string": "0.3.0" + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "dev": true, + "requires": { + "color": "0.11.4", + "css-color-names": "0.0.4", + "has": "1.0.1" + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "commoner": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", + "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", + "dev": true, + "requires": { + "commander": "2.15.1", + "detective": "4.7.1", + "glob": "5.0.15", + "graceful-fs": "4.1.11", + "iconv-lite": "0.4.19", + "mkdirp": "0.5.1", + "private": "0.1.8", + "q": "1.5.1", + "recast": "0.11.23" + }, + "dependencies": { + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", + "dev": true + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.1", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "dev": true, + "requires": { + "ast-types": "0.9.6", + "esprima": "3.1.3", + "private": "0.1.8", + "source-map": "0.5.7" + } + } + } + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "compressible": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", + "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "compression": { + "version": "1.7.2", + "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz", + "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "bytes": "3.0.0", + "compressible": "2.0.13", + "debug": "2.6.9", + "on-headers": "1.0.1", + "safe-buffer": "5.1.1", + "vary": "1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "1.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.5", + "typedarray": "0.0.6" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.1.tgz", + "integrity": "sha512-OlTo6DYg0XfTKOF8eLf79wcHm4Ut10xU2cRBRPMW/NA5F9VMjZGTfRHWDIYC3s+1kObGYrBLshXWU1K0hILkNQ==", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "globby": "7.1.1", + "is-glob": "4.0.0", + "loader-utils": "1.1.0", + "minimatch": "3.0.4", + "p-limit": "1.2.0", + "serialize-javascript": "1.4.0" + }, + "dependencies": { + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "core-js": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.4.tgz", + "integrity": "sha1-8si/GB8qgLkvNgEhQpzmOi8K6uA=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", + "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.0" + } + }, + "create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.1", + "ripemd160": "2.0.1", + "sha.js": "2.4.11" + } + }, + "create-hmac": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "inherits": "2.0.1", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.11" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "1.0.0", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.0", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "diffie-hellman": "5.0.2", + "inherits": "2.0.1", + "pbkdf2": "3.0.14", + "public-encrypt": "4.0.0", + "randombytes": "2.0.6", + "randomfill": "1.0.4" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-loader": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "css-selector-tokenizer": "0.7.0", + "cssnano": "3.10.0", + "icss-utils": "2.1.0", + "loader-utils": "1.1.0", + "lodash.camelcase": "4.3.0", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-modules-extract-imports": "1.2.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0", + "postcss-value-parser": "3.3.0", + "source-list-map": "2.0.0" + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "1.0.0", + "css-what": "2.1.0", + "domutils": "1.5.1", + "nth-check": "1.0.1" + } + }, + "css-selector-tokenizer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", + "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "dev": true, + "requires": { + "cssesc": "0.1.0", + "fastparse": "1.1.1", + "regexpu-core": "1.0.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + } + } + } + }, + "css-what": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "dev": true + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "dev": true, + "requires": { + "autoprefixer": "6.7.7", + "decamelize": "1.2.0", + "defined": "1.0.0", + "has": "1.0.1", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-calc": "5.3.1", + "postcss-colormin": "2.2.2", + "postcss-convert-values": "2.6.1", + "postcss-discard-comments": "2.0.4", + "postcss-discard-duplicates": "2.1.0", + "postcss-discard-empty": "2.1.0", + "postcss-discard-overridden": "0.1.1", + "postcss-discard-unused": "2.2.3", + "postcss-filter-plugins": "2.0.2", + "postcss-merge-idents": "2.1.7", + "postcss-merge-longhand": "2.0.2", + "postcss-merge-rules": "2.1.2", + "postcss-minify-font-values": "1.0.5", + "postcss-minify-gradients": "1.0.5", + "postcss-minify-params": "1.2.2", + "postcss-minify-selectors": "2.1.1", + "postcss-normalize-charset": "1.1.1", + "postcss-normalize-url": "3.0.8", + "postcss-ordered-values": "2.2.3", + "postcss-reduce-idents": "2.4.0", + "postcss-reduce-initial": "1.0.1", + "postcss-reduce-transforms": "1.0.4", + "postcss-svgo": "2.1.6", + "postcss-unique-selectors": "2.0.2", + "postcss-value-parser": "3.3.0", + "postcss-zindex": "2.2.0" + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "requires": { + "clap": "1.2.3", + "source-map": "0.5.7" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "d3": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", + "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=", + "dev": true + }, + "dargs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-5.1.0.tgz", + "integrity": "sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "date-fns": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", + "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==", + "dev": true + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "1.0.0" + } + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "deep-extend": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "dev": true + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "2.0.5", + "object-keys": "1.0.11" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "6.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "p-map": "1.2.0", + "pify": "3.0.0", + "rimraf": "2.6.2" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.1", + "minimalistic-assert": "1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-conflict": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/detect-conflict/-/detect-conflict-1.0.1.tgz", + "integrity": "sha1-CIZXpmqWHAUBnbfEIwiDsca0F24=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "detect-node": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", + "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", + "dev": true + }, + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "dev": true, + "requires": { + "acorn": "5.5.3", + "defined": "1.0.0" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", + "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "path-type": "3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "1.1.5", + "safe-buffer": "5.1.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "1.1.1" + } + }, + "dom-converter": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", + "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", + "dev": true, + "requires": { + "utila": "0.3.3" + }, + "dependencies": { + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", + "dev": true + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", + "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "1.1.14" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.1", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz", + "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.1", + "readable-stream": "2.3.5", + "stream-shift": "1.0.0" + } + }, + "earcut": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.1.3.tgz", + "integrity": "sha512-AxdCdWUk1zzK/NuZ7e1ljj6IGC+VAdC3Qb7QQDsXpfNrc5IM8tL9nNXUmEGE6jRHTfZ10zhzRhtDmWVsR5pd3A==" + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "editions": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", + "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.8.tgz", + "integrity": "sha512-QIDZL54fyV8MDcAsO91BMH1ft2qGGaHIJsJIA/+t+7uvXol1dm413fPcUgUb4k8F/9457rx4/KFE4XfDifrQxQ==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.41", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.41.tgz", + "integrity": "sha1-fjNkPgDNhe39F+BBlPbQDnNzcjU=", + "dev": true + }, + "elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", + "dev": true + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.1", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz", + "integrity": "sha512-jox/62b2GofV1qTUQTMPEJSDIGycS43evqYzD/KVtEb9OCoki9cnacUPxCrZa7JfPzZSYOCZhu9O9luaMxAX8g==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "tapable": "1.0.0" + } + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "envify": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz", + "integrity": "sha1-1xIjKejfFoi6dxsSUBkXyc5cvOg=", + "dev": true, + "requires": { + "jstransform": "11.0.3", + "through": "2.3.8" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "1.0.1" + } + }, + "error": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", + "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", + "dev": true, + "requires": { + "string-template": "0.2.1", + "xtend": "4.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es-abstract": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.11.0.tgz", + "integrity": "sha512-ZnQrE/lXTTQ39ulXZ+J1DTFazV9qBy61x2bY071B+qGco8Z8q1QddsLdt/EF8Ai9hcWH72dWS0kFqXLxOxqslA==", + "dev": true, + "requires": { + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.1", + "is-callable": "1.1.3", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" + } + }, + "es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-lite": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/event-lite/-/event-lite-0.1.1.tgz", + "integrity": "sha1-R88IqNN9C2lM23s7F7UfqsZXYIY=", + "dev": true + }, + "eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": "1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.2", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + } + } + }, + "exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=", + "dev": true + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "1.0.1" + } + }, + "express": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.3", + "qs": "6.5.1", + "range-parser": "1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "1.4.0", + "type-is": "1.6.16", + "utils-merge": "1.0.1", + "vary": "1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", + "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", + "dev": true, + "requires": { + "chardet": "0.4.2", + "iconv-lite": "0.4.19", + "tmp": "0.0.33" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "extract-text-webpack-plugin": { + "version": "4.0.0-beta.0", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-4.0.0-beta.0.tgz", + "integrity": "sha512-Hypkn9jUTnFr0DpekNam53X47tXn3ucY08BQumv7kdGgeVUBLq3DJHJTi6HNxv4jl9W+Skxjz9+RnK0sJyqqjA==", + "dev": true, + "requires": { + "async": "2.6.0", + "loader-utils": "1.1.0", + "schema-utils": "0.4.5", + "webpack-sources": "1.1.0" + } + }, + "extract-zip": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz", + "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=", + "dev": true, + "requires": { + "concat-stream": "1.6.0", + "debug": "2.6.9", + "mkdirp": "0.5.0", + "yauzl": "2.4.1" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.5", + "typedarray": "0.0.6" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "mkdirp": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fancy-log": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", + "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", + "dev": true, + "requires": { + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "time-stamp": "1.1.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fastparse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "dev": true + }, + "favicons": { + "version": "4.8.6", + "resolved": "https://registry.npmjs.org/favicons/-/favicons-4.8.6.tgz", + "integrity": "sha1-orE4AKs/7CcVvI8n+oQdA41HYeI=", + "dev": true, + "requires": { + "async": "1.5.2", + "cheerio": "0.19.0", + "clone": "1.0.4", + "colors": "1.1.2", + "harmony-reflect": "1.6.0", + "image-size": "0.4.0", + "jimp": "0.2.28", + "jsontoxml": "0.0.11", + "merge-defaults": "0.2.1", + "mkdirp": "0.5.1", + "node-rest-client": "1.8.0", + "require-directory": "2.1.1", + "svg2png": "3.0.1", + "through2": "2.0.3", + "tinycolor2": "1.4.1", + "to-ico": "1.1.5", + "underscore": "1.8.3", + "vinyl": "1.2.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + } + } + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + }, + "fbjs": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.6.1.tgz", + "integrity": "sha1-lja3cF9bqWhNRLcveDISVK/IYPc=", + "dev": true, + "requires": { + "core-js": "1.2.7", + "loose-envify": "1.3.1", + "promise": "7.3.1", + "ua-parser-js": "0.7.17", + "whatwg-fetch": "0.9.0" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true + } + } + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "1.2.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.2.0", + "pkg-dir": "2.0.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "first-chunk-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", + "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", + "dev": true, + "requires": { + "readable-stream": "2.3.5" + } + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, + "flow-parser": { + "version": "0.69.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.69.0.tgz", + "integrity": "sha1-N4tRKNbQtVSosvFqTKPhq5ZJ8A4=", + "dev": true + }, + "flush-write-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "dev": true, + "requires": { + "inherits": "2.0.1", + "readable-stream": "2.3.5" + } + }, + "for-each": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", + "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", + "dev": true, + "requires": { + "is-function": "1.0.1" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "fork-ts-checker-webpack-plugin": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.1.tgz", + "integrity": "sha512-UckdUYL51F5t9t/2Uqk0xatxz8Cf75a1THNIrDYajjcAcg2Q64SXNP7BTQPxXm0bU1chzjR3brXIaianbFqI3Q==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "chalk": "1.1.3", + "chokidar": "1.7.0", + "lodash.endswith": "4.2.1", + "lodash.isfunction": "3.0.9", + "lodash.isstring": "4.0.1", + "lodash.startswith": "4.2.1", + "minimatch": "3.0.4", + "resolve": "1.6.0", + "tapable": "1.0.0", + "vue-parser": "1.1.6" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.1", + "readable-stream": "2.3.5" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.5" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.10.0", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "gh-got": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz", + "integrity": "sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==", + "dev": true, + "requires": { + "got": "7.1.0", + "is-plain-obj": "1.1.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "requires": { + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-plain-obj": "1.1.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "p-cancelable": "0.3.0", + "p-timeout": "1.2.1", + "safe-buffer": "5.1.1", + "timed-out": "4.0.1", + "url-parse-lax": "1.0.0", + "url-to-options": "1.0.1" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, + "requires": { + "p-finally": "1.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "1.0.4" + } + } + } + }, + "github-username": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz", + "integrity": "sha1-y+KABBiDIG2kISrp5LXxacML9Bc=", + "dev": true, + "requires": { + "gh-got": "6.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.1", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-all": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-all/-/glob-all-3.1.0.tgz", + "integrity": "sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs=", + "dev": true, + "requires": { + "glob": "7.1.2", + "yargs": "1.2.6" + }, + "dependencies": { + "minimist": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", + "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=", + "dev": true + }, + "yargs": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz", + "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=", + "dev": true, + "requires": { + "minimist": "0.1.0" + } + } + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "dev": true, + "requires": { + "min-document": "2.19.0", + "process": "0.5.2" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "1.0.2", + "is-windows": "1.0.2", + "resolve-dir": "1.0.1" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "2.0.2", + "homedir-polyfill": "1.0.1", + "ini": "1.3.5", + "is-windows": "1.0.2", + "which": "1.3.0" + } + }, + "globals": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz", + "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==", + "dev": true + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.7", + "pify": "3.0.0", + "slash": "1.0.0" + } + }, + "glogg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", + "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", + "dev": true, + "requires": { + "sparkles": "1.0.0" + } + }, + "gm": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/gm/-/gm-1.22.0.tgz", + "integrity": "sha1-ZwvzaRrprkbK30cBLqEqxAqAJ8I=", + "dev": true, + "optional": true, + "requires": { + "array-parallel": "0.1.3", + "array-series": "0.1.5", + "debug": "2.2.0" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "optional": true, + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true, + "optional": true + } + } + }, + "google-closure-compiler": { + "version": "20170626.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20170626.0.0.tgz", + "integrity": "sha1-DSqXXTReGqE7N+VYMlCdWbqKh+A=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "vinyl": "2.1.0", + "vinyl-sourcemaps-apply": "0.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "vinyl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz", + "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", + "dev": true, + "requires": { + "clone": "2.1.2", + "clone-buffer": "1.0.0", + "clone-stats": "1.0.0", + "cloneable-readable": "1.1.2", + "remove-trailing-separator": "1.1.0", + "replace-ext": "1.0.0" + } + } + } + }, + "google-closure-compiler-js": { + "version": "20170124.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler-js/-/google-closure-compiler-js-20170124.0.0.tgz", + "integrity": "sha1-zXcpGhmkFY60H7JBaIpeUj4lA2Q=", + "dev": true, + "requires": { + "gulp-util": "3.0.8", + "minimist": "1.2.0", + "webpack-core": "0.6.9" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "got": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.0.tgz", + "integrity": "sha512-kBNy/S2CGwrYgDSec5KTWGKUvupwkkTVAjIsVFF2shXO13xpZdFP4d4kxa//CLX2tN/rV0aYwK8vY6UKWGn2vQ==", + "dev": true, + "requires": { + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.0", + "p-cancelable": "0.4.0", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.1", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + } + } + }, + "gown": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/gown/-/gown-0.1.6.tgz", + "integrity": "sha512-mvFc2BFm3TF8g2ldI1iHjDVvQTyWou2ngpTjHaxuiMneIgUHrgFsVOPzFSkf4ybQPrJWw4sfIBOSxK2KKhHFzA==", + "requires": { + "eventemitter3": "2.0.3", + "jaguarjs-jsdoc": "1.1.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "grouped-queue": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/grouped-queue/-/grouped-queue-0.3.3.tgz", + "integrity": "sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw=", + "dev": true, + "requires": { + "lodash": "4.17.5" + } + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.3", + "dateformat": "2.2.0", + "fancy-log": "1.3.2", + "gulplog": "1.0.0", + "has-gulplog": "0.1.0", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "3.0.0", + "replace-ext": "0.0.1", + "through2": "2.0.3", + "vinyl": "0.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "dateformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", + "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "1.0.1" + } + }, + "gzip-size": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", + "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", + "dev": true, + "requires": { + "duplexer": "0.1.1", + "pify": "3.0.0" + } + }, + "handle-thing": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + } + } + }, + "harmony-reflect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.0.tgz", + "integrity": "sha512-0kZ1XcoelFOLEjEtvWAZyq/1S55eDSieWEJwme311MNVNcRpvjlr2zA66kBV6WAB8C1XI1p1cXCnFPqd1BxlPg==", + "dev": true + }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "dev": true, + "requires": { + "function-bind": "1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "1.0.0" + } + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "1.4.2" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "dev": true, + "requires": { + "is-stream": "1.1.0", + "pinkie-promise": "2.0.1" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "1.0.0" + } + }, + "hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "2.0.1", + "obuf": "1.1.2", + "readable-stream": "2.3.5", + "wbuf": "1.7.3" + } + }, + "html-comment-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", + "dev": true + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-minifier": { + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.12.tgz", + "integrity": "sha512-+N778qLf0RWBscD0TPGoYdeGNDZ0s76/0pQhY1/409EOudcENkm9IbSkk37RDyPdg/09GVHTKotU4ya93RF1Gg==", + "dev": true, + "requires": { + "camel-case": "3.0.0", + "clean-css": "4.1.11", + "commander": "2.15.1", + "he": "1.1.1", + "ncname": "1.0.0", + "param-case": "2.1.1", + "relateurl": "0.2.7", + "uglify-js": "3.3.16" + } + }, + "html-webpack-plugin": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.1.0.tgz", + "integrity": "sha1-bgK6rtsekGMQkX8DI5x5OnWvKIU=", + "dev": true, + "requires": { + "html-minifier": "3.5.12", + "loader-utils": "0.2.17", + "lodash": "4.17.5", + "pretty-error": "2.1.1", + "tapable": "1.0.0", + "toposort": "1.0.6", + "util.promisify": "1.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, + "htmlparser2": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.1.0", + "domutils": "1.1.6", + "readable-stream": "1.0.34" + }, + "dependencies": { + "domutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", + "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.1", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.4.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.11.tgz", + "integrity": "sha512-QCR5O2AjjMW8Mo4HyI1ctFcv+O99j/0g367V3YoVnrNw5hkDvAWZD0lWGcc+F4yN3V55USPCVix4efb75HxFfA==", + "dev": true + }, + "http-proxy": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", + "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", + "dev": true, + "requires": { + "eventemitter3": "1.2.0", + "requires-port": "1.0.0" + }, + "dependencies": { + "eventemitter3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", + "dev": true + } + } + }, + "http-proxy-middleware": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", + "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", + "dev": true, + "requires": { + "http-proxy": "1.16.2", + "is-glob": "3.1.0", + "lodash": "4.17.5", + "micromatch": "2.3.11" + }, + "dependencies": { + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "requires": { + "postcss": "6.0.21" + }, + "dependencies": { + "postcss": { + "version": "6.0.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", + "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "source-map": "0.6.1", + "supports-color": "5.3.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "ieee754": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz", + "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "dev": true + }, + "image-size": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.4.0.tgz", + "integrity": "sha1-1LTh9hlS5MvBzqmmsMkV/stwdRA=", + "dev": true + }, + "immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=" + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.3.2", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.1.0", + "figures": "2.0.0", + "lodash": "4.17.5", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rxjs": "5.5.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "int64-buffer": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.1.10.tgz", + "integrity": "sha1-J3siiofZWtd30HwTgyAiQGpHNCM=", + "dev": true + }, + "internal-ip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", + "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "dev": true, + "requires": { + "meow": "3.7.0" + } + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "dev": true, + "requires": { + "from2": "2.3.0", + "p-is-promise": "1.1.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", + "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=", + "dev": true + }, + "ipaddr.js": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "dev": true + }, + "is-observable": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-0.2.0.tgz", + "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", + "dev": true, + "requires": { + "symbol-observable": "0.2.4" + }, + "dependencies": { + "symbol-observable": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-0.2.4.tgz", + "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=", + "dev": true + } + } + }, + "is-odd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "dev": true, + "requires": { + "is-number": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "1.0.1" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "1.0.1" + } + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true + }, + "is-scoped": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-1.0.0.tgz", + "integrity": "sha1-RJypgpnnEwOCViieyytUDcQ3yzA=", + "dev": true, + "requires": { + "scoped-regex": "1.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, + "requires": { + "html-comment-regex": "1.1.1" + } + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "ismobilejs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-0.4.1.tgz", + "integrity": "sha1-Gl8SbHD+05yT2jgPpiy65XI+fcI=" + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istextorbinary": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.2.1.tgz", + "integrity": "sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw==", + "dev": true, + "requires": { + "binaryextensions": "2.1.1", + "editions": "1.3.4", + "textextensions": "2.2.0" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" + } + }, + "jaguarjs-jsdoc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jaguarjs-jsdoc/-/jaguarjs-jsdoc-1.1.0.tgz", + "integrity": "sha1-Pjz/ljvRLU5D1STZxgZxTiv6KQE=", + "requires": { + "taffydb": "2.7.3", + "underscore": "1.8.3" + } + }, + "jimp": { + "version": "0.2.28", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.2.28.tgz", + "integrity": "sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=", + "dev": true, + "requires": { + "bignumber.js": "2.4.0", + "bmp-js": "0.0.3", + "es6-promise": "3.3.1", + "exif-parser": "0.1.12", + "file-type": "3.9.0", + "jpeg-js": "0.2.0", + "load-bmfont": "1.3.0", + "mime": "1.6.0", + "mkdirp": "0.5.1", + "pixelmatch": "4.0.2", + "pngjs": "3.3.2", + "read-chunk": "1.0.1", + "request": "2.85.0", + "stream-to-buffer": "0.1.0", + "tinycolor2": "1.4.1", + "url-regex": "3.2.0" + } + }, + "jpeg-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.2.0.tgz", + "integrity": "sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII=", + "dev": true + }, + "js-base64": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", + "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "2.7.3" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jscodeshift": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.5.0.tgz", + "integrity": "sha512-JAcQINNMFpdzzpKJN8k5xXjF3XDuckB1/48uScSzcnNyK199iWEc9AxKL9OoX5144M2w5zEx9Qs4/E/eBZZUlw==", + "dev": true, + "requires": { + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-preset-es2015": "6.24.1", + "babel-preset-stage-1": "6.24.1", + "babel-register": "6.26.0", + "babylon": "7.0.0-beta.42", + "colors": "1.1.2", + "flow-parser": "0.69.0", + "lodash": "4.17.5", + "micromatch": "2.3.11", + "neo-async": "2.5.0", + "node-dir": "0.1.8", + "nomnom": "1.8.1", + "recast": "0.14.7", + "temp": "0.8.3", + "write-file-atomic": "1.3.4" + } + }, + "jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz", + "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsontoxml": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/jsontoxml/-/jsontoxml-0.0.11.tgz", + "integrity": "sha1-Nzq1sgcL43N6X7PjL9G3uBhwyqQ=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jstransform": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz", + "integrity": "sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=", + "dev": true, + "requires": { + "base62": "1.2.7", + "commoner": "0.10.8", + "esprima-fb": "15001.1.0-dev-harmony-fb", + "object-assign": "2.1.1", + "source-map": "0.4.4" + }, + "dependencies": { + "esprima-fb": { + "version": "15001.1.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz", + "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=", + "dev": true + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", + "dev": true + }, + "keyboardjs": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/keyboardjs/-/keyboardjs-2.4.1.tgz", + "integrity": "sha1-fFrShpWiG2xNBmaBwSc3amD5rNE=" + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "killable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", + "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "dev": true, + "requires": { + "lodash": "4.17.5", + "webpack-sources": "1.1.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "listr": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.13.0.tgz", + "integrity": "sha1-ILsLowuuZg7oTMBQPfS+PVYjiH0=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-truncate": "0.2.1", + "figures": "1.7.0", + "indent-string": "2.1.0", + "is-observable": "0.2.0", + "is-promise": "2.1.0", + "is-stream": "1.1.0", + "listr-silent-renderer": "1.1.1", + "listr-update-renderer": "0.4.0", + "listr-verbose-renderer": "0.4.1", + "log-symbols": "1.0.2", + "log-update": "1.0.2", + "ora": "0.2.3", + "p-map": "1.2.0", + "rxjs": "5.5.8", + "stream-to-observable": "0.2.0", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "1.1.3" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", + "dev": true + }, + "listr-update-renderer": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz", + "integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-truncate": "0.2.1", + "elegant-spinner": "1.0.1", + "figures": "1.7.0", + "indent-string": "3.2.0", + "log-symbols": "1.0.2", + "log-update": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "1.1.3" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "listr-verbose-renderer": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "date-fns": "1.29.0", + "figures": "1.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "1.0.1" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "load-bmfont": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.3.0.tgz", + "integrity": "sha1-u358cQ3mvK/LE8s7jIHgwBMey8k=", + "dev": true, + "requires": { + "buffer-equal": "0.0.1", + "mime": "1.6.0", + "parse-bmfont-ascii": "1.0.6", + "parse-bmfont-binary": "1.0.6", + "parse-bmfont-xml": "1.1.3", + "xhr": "2.4.1", + "xtend": "4.0.1" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.endswith": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz", + "integrity": "sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "3.0.1" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.startswith": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.startswith/-/lodash.startswith-4.2.1.tgz", + "integrity": "sha1-xZjErc4YiiflMUVzHNxsDnF3YAw=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "3.0.1", + "lodash._basetostring": "3.0.1", + "lodash._basevalues": "3.0.0", + "lodash._isiterateecall": "3.0.9", + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0", + "lodash.keys": "3.1.2", + "lodash.restparam": "3.6.1", + "lodash.templatesettings": "3.1.1" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "2.3.2" + } + }, + "log-update": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", + "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "cli-cursor": "1.0.2" + }, + "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "1.0.1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" + } + } + } + }, + "loglevel": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", + "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "dev": true + }, + "loglevelnext": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.3.tgz", + "integrity": "sha512-OCxd/b78TijTB4b6zVqLbMrxhebyvdZKwqpL0VHUZ0pYhavXaPD4l6Xrr4n5xqTYWiqtb0i7ikSoJY/myQ/Org==", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", + "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "macaddress": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", + "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", + "dev": true + }, + "make-dir": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", + "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "1.0.1" + } + }, + "math-expression-evaluator": { + "version": "1.2.17", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", + "dev": true + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.1" + }, + "dependencies": { + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.1", + "safe-buffer": "5.1.1" + } + } + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "mem-fs": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-1.1.3.tgz", + "integrity": "sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw=", + "dev": true, + "requires": { + "through2": "2.0.3", + "vinyl": "1.2.0", + "vinyl-file": "2.0.0" + } + }, + "mem-fs-editor": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-3.0.2.tgz", + "integrity": "sha1-3Qpuryu4prN3QAZ6pUnrUwEFr58=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "deep-extend": "0.4.2", + "ejs": "2.5.8", + "glob": "7.1.2", + "globby": "6.1.0", + "mkdirp": "0.5.1", + "multimatch": "2.1.0", + "rimraf": "2.6.2", + "through2": "2.0.3", + "vinyl": "2.1.0" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "vinyl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz", + "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", + "dev": true, + "requires": { + "clone": "2.1.2", + "clone-buffer": "1.0.0", + "clone-stats": "1.0.0", + "cloneable-readable": "1.1.2", + "remove-trailing-separator": "1.1.0", + "replace-ext": "1.0.0" + } + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.7", + "readable-stream": "2.3.5" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + } + } + }, + "merge-defaults": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/merge-defaults/-/merge-defaults-0.2.1.tgz", + "integrity": "sha1-3UIkjrlrtqUVIXJDIccv+Vg93oA=", + "dev": true, + "requires": { + "lodash": "2.4.2" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", + "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=", + "dev": true + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "requires": { + "dom-walk": "0.1.1" + } + }, + "mini-signals": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mini-signals/-/mini-signals-1.2.0.tgz", + "integrity": "sha1-RbCAE8X65RokqhqTXNMXye1yHXQ=" + }, + "minimalistic-assert": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.5.4", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.4.0", + "stream-each": "1.2.2", + "through2": "2.0.3" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "msgpack-lite": { + "version": "0.1.26", + "resolved": "https://registry.npmjs.org/msgpack-lite/-/msgpack-lite-0.1.26.tgz", + "integrity": "sha1-3TxQsm8FnyXn7e42REGDWOKprYk=", + "dev": true, + "requires": { + "event-lite": "0.1.1", + "ieee754": "1.1.11", + "int64-buffer": "0.1.10", + "isarray": "1.0.0" + } + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "1.3.1", + "thunky": "1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" + } + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "ncname": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", + "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", + "dev": true, + "requires": { + "xml-char-classes": "1.0.0" + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "neo-async": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.0.tgz", + "integrity": "sha512-nJmSswG4As/MkRq7QZFuH/sf/yuv8ODdMZrY4Bedjp77a5MK4A6s7YbBB64c9u79EBUOfXUXBvArmvzTD0X+6g==", + "dev": true + }, + "nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "1.1.4" + } + }, + "node-dir": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.8.tgz", + "integrity": "sha1-VfuN62mQcHB/tn+RpGDwRIKUx30=", + "dev": true + }, + "node-forge": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.1.tgz", + "integrity": "sha1-naYR6giYL0uUIGs760zJZl8gwwA=", + "dev": true + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.5", + "stream-browserify": "2.0.1", + "stream-http": "2.8.1", + "string_decoder": "1.0.3", + "timers-browserify": "2.0.6", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.3", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-rest-client": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/node-rest-client/-/node-rest-client-1.8.0.tgz", + "integrity": "sha1-jTxWa4F+JzlMtyc3g6Qcrv4+WVU=", + "dev": true, + "requires": { + "debug": "2.2.0", + "xml2js": "0.4.19" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } + } + }, + "node-sprite-generator": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/node-sprite-generator/-/node-sprite-generator-0.10.2.tgz", + "integrity": "sha1-gE6QILk72N7MoQhVxgn0PeXbf8I=", + "dev": true, + "requires": { + "async": "1.2.0", + "bin-pack": "1.0.1", + "canvas": "1.3.12", + "glob": "5.0.10", + "gm": "1.22.0", + "jimp": "0.2.21", + "mkdirp": "0.5.1", + "underscore": "1.8.3" + }, + "dependencies": { + "async": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.2.0.tgz", + "integrity": "sha1-kClYD5PQWnyrJPUCyEcHrD71exA=", + "dev": true + }, + "bmp-js": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.1.tgz", + "integrity": "sha1-WtAUcJnROp84qnuZrx1ueGZu038=", + "dev": true + }, + "glob": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.10.tgz", + "integrity": "sha1-PuNQMZ8x81LO9omaSPa2t4NMaJk=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.1", + "minimatch": "2.0.10", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "jimp": { + "version": "0.2.21", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.2.21.tgz", + "integrity": "sha1-USKWDNXVvEGWqFNF9mozt9ruTrM=", + "dev": true, + "requires": { + "bignumber.js": "2.4.0", + "bmp-js": "0.0.1", + "es6-promise": "3.3.1", + "exif-parser": "0.1.12", + "file-type": "3.9.0", + "jpeg-js": "0.1.2", + "mime": "1.6.0", + "pixelmatch": "4.0.2", + "pngjs": "2.3.1", + "read-chunk": "1.0.1", + "request": "2.85.0", + "stream-to-buffer": "0.1.0", + "tinycolor2": "1.4.1", + "url-regex": "3.2.0" + } + }, + "jpeg-js": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.1.2.tgz", + "integrity": "sha1-E1uZLAV1yYXPoPSUoyJ+0jhYPs4=", + "dev": true + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "pngjs": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-2.3.1.tgz", + "integrity": "sha1-EdHhK5y2TWPjDBQ6Mw9MH1Z9qF8=", + "dev": true + } + } + }, + "nomnom": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", + "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", + "dev": true, + "requires": { + "chalk": "0.4.0", + "underscore": "1.6.0" + }, + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "chalk": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" + } + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true + }, + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "prepend-http": "1.0.4", + "query-string": "4.3.4", + "sort-keys": "1.1.2" + } + }, + "normalize.css": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.0.tgz", + "integrity": "sha512-iXcbM3NWr0XkNyfiSBsoPezi+0V92P9nj84yVV1/UZxRUrGczgX/X91KMAGM0omWLY2+2Q1gKD/XRn4gQRDB2A==" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "nth-check": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", + "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "dev": true, + "requires": { + "boolbase": "1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + } + } + }, + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.11.0" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "opener": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", + "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", + "dev": true + }, + "opn": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "requires": { + "is-wsl": "1.1.0" + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-4.0.0.tgz", + "integrity": "sha512-wcQJMk23VQAFdOYnF7pSTg3yvRsSmF3FBwuPf2MDE7e/AG4hoD5V+xxZkrhZEYZ6ZQezfu2qegprs0Z7Xc9xKA==", + "dev": true, + "requires": { + "cssnano": "3.10.0", + "last-call-webpack-plugin": "3.0.0" + } + }, + "ora": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz", + "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "cli-spinners": "0.1.2", + "object-assign": "4.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "1.0.1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "original": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", + "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", + "dev": true, + "requires": { + "url-parse": "1.0.5" + }, + "dependencies": { + "url-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", + "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", + "dev": true, + "requires": { + "querystringify": "0.0.4", + "requires-port": "1.0.0" + } + } + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-cancelable": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.0.tgz", + "integrity": "sha512-/AodqPe1y/GYbhSlnMjxukLGQfQIgsmjSy2CXCNB96kg4ozKvmlovuHEKICToOO/yS3LLWgrWI1dFtFfrePS1g==", + "dev": true + }, + "p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "dev": true, + "requires": { + "p-reduce": "1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true + }, + "p-lazy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-lazy/-/p-lazy-1.0.0.tgz", + "integrity": "sha1-7FPIAvLuOsKPFmzILQsrAt4nqDU=", + "dev": true + }, + "p-limit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "dev": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.2.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "requires": { + "p-finally": "1.0.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.5" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "2.3.2" + } + }, + "parse-asn1": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "dev": true, + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.1.1", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.14" + } + }, + "parse-author": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz", + "integrity": "sha1-00YL8d3Q367tQtp1QkLmX7aEqB8=", + "dev": true, + "requires": { + "author-regex": "1.0.0" + } + }, + "parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=", + "dev": true + }, + "parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=", + "dev": true + }, + "parse-bmfont-xml": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.3.tgz", + "integrity": "sha1-1rZqNxr9OcUAfZ8O6yYqTyzOe3w=", + "dev": true, + "requires": { + "xml-parse-from-string": "1.0.1", + "xml2js": "0.4.19" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-headers": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", + "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", + "dev": true, + "requires": { + "for-each": "0.3.2", + "trim": "0.0.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.1" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse-png": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-1.1.2.tgz", + "integrity": "sha1-9cKtfHmTSQmGAgooTBmu5FlxH/I=", + "dev": true, + "requires": { + "pngjs": "3.3.2" + } + }, + "parse-uri": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-uri/-/parse-uri-1.0.0.tgz", + "integrity": "sha1-KHLcwi8aeXrN4Vg9igrClVLdrCA=" + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "requires": { + "@types/node": "9.6.1" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "pbkdf2": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "dev": true, + "requires": { + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.11" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "phantomjs-prebuilt": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", + "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", + "dev": true, + "requires": { + "es6-promise": "4.2.4", + "extract-zip": "1.6.6", + "fs-extra": "1.0.0", + "hasha": "2.2.0", + "kew": "0.7.0", + "progress": "1.1.8", + "request": "2.85.0", + "request-progress": "2.0.1", + "which": "1.3.0" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", + "dev": true + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + } + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "dev": true, + "requires": { + "pngjs": "3.3.2" + } + }, + "pixi-gl-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", + "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" + }, + "pixi.js": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.7.1.tgz", + "integrity": "sha512-FILCk39E8GIqdSVacVS2cs/rpgXC76hImuU9kCl6MglKcZsBlAeDaC28nIaUPuctI1UNBKosq9NuVG7ffbGk+w==", + "requires": { + "bit-twiddle": "1.0.2", + "earcut": "2.1.3", + "eventemitter3": "2.0.3", + "ismobilejs": "0.4.1", + "object-assign": "4.1.1", + "pixi-gl-core": "1.1.4", + "remove-array-items": "1.0.0", + "resource-loader": "2.1.1" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "pngjs": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.2.tgz", + "integrity": "sha512-bVNd3LMXRzdo6s4ehr4XW2wFMu9cb40nPgHEjSSppm8/++Xc+g0b2QQb+SeDesgfANXbjydOr1or9YQ+pcCZPQ==", + "dev": true + }, + "portfinder": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", + "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", + "dev": true, + "requires": { + "async": "1.5.2", + "debug": "2.6.9", + "mkdirp": "0.5.1" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-message-helpers": "2.0.0", + "reduce-css-calc": "1.3.0" + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "dev": true, + "requires": { + "colormin": "1.1.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "uniqs": "2.0.0" + } + }, + "postcss-filter-plugins": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", + "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "uniqid": "4.1.1" + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "dev": true, + "requires": { + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-api": "1.6.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3", + "vendors": "1.0.1" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000821", + "electron-to-chromium": "1.3.41" + } + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "dev": true + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "uniqs": "2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3" + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", + "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", + "dev": true, + "requires": { + "postcss": "6.0.21" + }, + "dependencies": { + "postcss": { + "version": "6.0.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", + "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "source-map": "0.6.1", + "supports-color": "5.3.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "requires": { + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.21" + }, + "dependencies": { + "postcss": { + "version": "6.0.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", + "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "source-map": "0.6.1", + "supports-color": "5.3.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "requires": { + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.21" + }, + "dependencies": { + "postcss": { + "version": "6.0.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", + "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "source-map": "0.6.1", + "supports-color": "5.3.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "requires": { + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.21" + }, + "dependencies": { + "postcss": { + "version": "6.0.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", + "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "source-map": "0.6.1", + "supports-color": "5.3.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true, + "requires": { + "is-absolute-url": "2.1.0", + "normalize-url": "1.9.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "dev": true, + "requires": { + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "dev": true, + "requires": { + "is-svg": "2.1.0", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "svgo": "0.7.2" + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "uniqs": "2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "dev": true + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "dev": true, + "requires": { + "has": "1.0.1", + "postcss": "5.2.18", + "uniqs": "2.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "prettier": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.11.1.tgz", + "integrity": "sha512-T/KD65Ot0PB97xTrG8afQ46x3oiVhnfGjGESSI9NWYcG92+OUPZKkwHqGWXH2t9jK1crnQjubECW0FuOth+hxw==", + "dev": true + }, + "pretty-bytes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", + "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "2.0.1", + "utila": "0.4.0" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "requires": { + "asap": "2.0.6" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", + "dev": true, + "requires": { + "forwarded": "0.1.2", + "ipaddr.js": "1.6.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", + "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "parse-asn1": "5.1.0", + "randombytes": "2.0.6" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", + "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", + "dev": true, + "requires": { + "duplexify": "3.5.4", + "inherits": "2.0.3", + "pump": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", + "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.1" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + } + }, + "react": { + "version": "0.14.9", + "resolved": "https://registry.npmjs.org/react/-/react-0.14.9.tgz", + "integrity": "sha1-kRCmSXxJ1EuhwO3TF67CnC4NkdE=", + "dev": true, + "requires": { + "envify": "3.4.1", + "fbjs": "0.6.1" + } + }, + "react-dom": { + "version": "0.14.9", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-0.14.9.tgz", + "integrity": "sha1-BQZKPc8PsYgKOyv8nVjFXY2fYpM=", + "dev": true + }, + "read-chunk": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz", + "integrity": "sha1-X2jKswfmY/GZk1J9m1icrORmEZQ=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "4.0.0", + "normalize-package-data": "2.4.0", + "path-type": "3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "3.0.0" + } + }, + "readable-stream": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz", + "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "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.2" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.5", + "set-immediate-shim": "1.0.1" + } + }, + "recast": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.14.7.tgz", + "integrity": "sha512-/nwm9pkrcWagN40JeJhkPaRxiHXBRkXyRh/hgU088Z/v+qCy+zIHHY6bC6o7NaKAxPqtE6nD8zBH1LfU0/Wx6A==", + "dev": true, + "requires": { + "ast-types": "0.11.3", + "esprima": "4.0.0", + "private": "0.1.8", + "source-map": "0.6.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "1.6.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "math-expression-evaluator": "1.2.17", + "reduce-function-call": "1.0.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", + "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", + "dev": true, + "requires": { + "balanced-match": "0.4.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "regenerate": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-5.1.3.tgz", + "integrity": "sha512-Yjy6t7jFQczDhYE+WVm7pg6gWYE258q4sUkk9qDErwXJIqx7jU9jGrMFHutJK/SRfcg7MEkXjGaYiVlOZyev/A==", + "dev": true, + "requires": { + "regenerate": "1.3.3" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.12.3.tgz", + "integrity": "sha512-y2uxO/6u+tVmtEDIKo+tLCtI0GcbQr0OreosKgCd7HP4VypGjtTrw79DezuwT+W5QX0YWuvpeBOgumrepwM1kA==", + "dev": true, + "requires": { + "private": "0.1.8" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "regexpu-core": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.1.3.tgz", + "integrity": "sha512-mB+njEzO7oezA57IbQxxd6fVPOeWKDmnGvJ485CwmfNchjHe5jWwqKepapmzUEj41yxIAqOg+C4LbXuJlkiO8A==", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regenerate-unicode-properties": "5.1.3", + "regjsgen": "0.3.0", + "regjsparser": "0.2.1", + "unicode-match-property-ecmascript": "1.0.3", + "unicode-match-property-value-ecmascript": "1.0.1" + } + }, + "regjsgen": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.3.0.tgz", + "integrity": "sha1-DuSj6SdkMM2iXx54nqbBW4ewy0M=", + "dev": true + }, + "regjsparser": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.2.1.tgz", + "integrity": "sha1-w3h1U/rwTndcMCEC7zRtmVAA7Bw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-array-items": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.0.0.tgz", + "integrity": "sha1-B79CyzMvTPboXq2DteToltIyayE=" + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", + "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-converter": "0.1.4", + "htmlparser2": "3.3.0", + "strip-ansi": "3.0.1", + "utila": "0.3.3" + }, + "dependencies": { + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } + } + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "request": { + "version": "2.85.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", + "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" + } + }, + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", + "dev": true, + "requires": { + "throttleit": "1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resize-img": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/resize-img/-/resize-img-1.1.2.tgz", + "integrity": "sha1-+tZQ+vPvLFPqYxErwnLZXp2SVQ4=", + "dev": true, + "requires": { + "bmp-js": "0.0.1", + "file-type": "3.9.0", + "get-stream": "2.3.1", + "jimp": "0.2.28", + "jpeg-js": "0.1.2", + "parse-png": "1.1.2" + }, + "dependencies": { + "bmp-js": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.1.tgz", + "integrity": "sha1-WtAUcJnROp84qnuZrx1ueGZu038=", + "dev": true + }, + "jpeg-js": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.1.2.tgz", + "integrity": "sha1-E1uZLAV1yYXPoPSUoyJ+0jhYPs4=", + "dev": true + } + } + }, + "resolve": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.6.0.tgz", + "integrity": "sha512-mw7JQNu5ExIkcw4LPih0owX/TZXjD/ZUF/ZQ/pDnkw3ZKhDcZZw5klmBlj6gVMwjQ3Pz5Jgu7F3d0jcDVuEWdw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "2.0.2", + "global-modules": "1.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "resource-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.1.1.tgz", + "integrity": "sha512-jRMGYUfa4AGk9ib45Wxc93lobhQVoiCUAUkWqsbb/fhGPge97YT1S8aC0xBEQpolMsrdmB3o7SH8VmIEvIDOLA==", + "requires": { + "mini-signals": "1.2.0", + "parse-uri": "1.0.0" + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "1.0.1" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "dev": true, + "requires": { + "hash-base": "2.0.2", + "inherits": "2.0.1" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "2.1.0" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "1.2.0" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "4.0.8" + } + }, + "rxjs": { + "version": "5.5.8", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.8.tgz", + "integrity": "sha512-Bz7qou7VAIoGiglJZbzbXa4vpX5BmTTN2Dj/se6+SwADtw4SihqBIiEa7VmTXJ8pynvq0iFr5Gx9VLyye1rIxQ==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "dev": true, + "requires": { + "ajv": "6.4.0", + "ajv-keywords": "3.1.0" + } + }, + "scoped-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-1.0.0.tgz", + "integrity": "sha1-o0a7Gs1CB65wvXwMfKnlZra63bg=", + "dev": true + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.2.tgz", + "integrity": "sha1-tESVgNmZKbZbEKSDiTAaZZIIh1g=", + "dev": true, + "requires": { + "node-forge": "0.7.1" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.4.0.tgz", + "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU=", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "1.0.3", + "http-errors": "1.6.2", + "mime-types": "2.1.18", + "parseurl": "1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "requires": { + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.2" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "2.0.1", + "safe-buffer": "5.1.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shelljs": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz", + "integrity": "sha512-YA/iYtZpzFe5HyWVGrb02FjPxc4EMCfpoU/Phg9fQoyMC72u9598OUBrsU8IrtwAKG0tO8IYaqbaLIw+k3IRGA==", + "dev": true, + "requires": { + "glob": "7.1.2", + "interpret": "1.1.0", + "rechoir": "0.6.2" + } + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.1", + "use": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "0.10.0", + "uuid": "3.2.1" + } + }, + "sockjs-client": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", + "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "eventsource": "0.1.6", + "faye-websocket": "0.11.1", + "inherits": "2.0.1", + "json3": "3.3.2", + "url-parse": "1.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "1.1.0" + } + }, + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", + "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "dev": true, + "requires": { + "atob": "2.1.0", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "sparkles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", + "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", + "dev": true + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "spdy": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", + "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "dev": true, + "requires": { + "debug": "2.6.9", + "handle-thing": "1.2.5", + "http-deceiver": "1.2.7", + "safe-buffer": "5.1.1", + "select-hose": "2.0.0", + "spdy-transport": "2.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "spdy-transport": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", + "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", + "dev": true, + "requires": { + "debug": "2.6.9", + "detect-node": "2.0.3", + "hpack.js": "2.1.6", + "obuf": "1.1.2", + "readable-stream": "2.3.5", + "safe-buffer": "5.1.1", + "wbuf": "1.7.3" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "2.0.1", + "readable-stream": "2.3.5" + } + }, + "stream-each": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + } + }, + "stream-http": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.1.tgz", + "integrity": "sha512-cQ0jo17BLca2r0GfRdZKYAGLU6JRoIWxqSOakUMuKOT6MOK7AAlE856L33QuDmAy/eeOrhLee3dZKX0Uadu93A==", + "dev": true, + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.1", + "readable-stream": "2.3.5", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "stream-to": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz", + "integrity": "sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0=", + "dev": true + }, + "stream-to-buffer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz", + "integrity": "sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=", + "dev": true, + "requires": { + "stream-to": "0.2.2" + } + }, + "stream-to-observable": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.2.0.tgz", + "integrity": "sha1-WdbqOT2HwsDdrBCqDVYbxrpvDhA=", + "dev": true, + "requires": { + "any-observable": "0.2.0" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-bom-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", + "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", + "dev": true, + "requires": { + "first-chunk-stream": "2.0.0", + "strip-bom": "2.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "supports-color": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "svg2png": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg2png/-/svg2png-3.0.1.tgz", + "integrity": "sha1-omRNaLAjGsAK9DGqFjcU/xcQZEc=", + "dev": true, + "requires": { + "phantomjs-prebuilt": "2.1.16", + "pn": "1.1.0", + "yargs": "3.32.0" + } + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "requires": { + "coa": "1.0.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.4", + "whet.extend": "0.9.9" + } + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + }, + "taffydb": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz", + "integrity": "sha1-KtNxaWKUmPylvIQkMJbTzeDsOjQ=" + }, + "tapable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", + "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", + "dev": true + }, + "temp": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2", + "rimraf": "2.2.8" + }, + "dependencies": { + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "textextensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.2.0.tgz", + "integrity": "sha512-j5EMxnryTvKxwH2Cq+Pb43tsf6sdEgw6Pdwxk83mPaq0ToeFJt6WE4J3s5BqY7vmjlLgkgXvhtXUxo80FyBhCA==", + "dev": true + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.5", + "xtend": "4.0.1" + } + }, + "thunky": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", + "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "dev": true + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz", + "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", + "dev": true, + "requires": { + "setimmediate": "1.0.5" + } + }, + "tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-ico": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/to-ico/-/to-ico-1.1.5.tgz", + "integrity": "sha512-5kIh7m7bkIlqIESEZkL8gAMMzucXKfPe3hX2FoDY5HEAfD9OJU+Qh9b6Enp74w0qRcxVT5ejss66PHKqc3AVkg==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "buffer-alloc": "1.1.0", + "image-size": "0.5.5", + "parse-png": "1.1.2", + "resize-img": "1.1.2" + }, + "dependencies": { + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true + } + } + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + } + } + }, + "toposort": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.6.tgz", + "integrity": "sha1-wxdI5V0hDv/AD9zcfW5o19e7nOw=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "requires": { + "punycode": "1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tryer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.0.tgz", + "integrity": "sha1-Antp+oIyJeVRys4+8DsR9qs3wdc=", + "dev": true + }, + "ts-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-4.1.0.tgz", + "integrity": "sha512-R4VEE0SZhU8gLa9Aayg2XOvpVjXtbB7KMLXs4He0xr92DM5G12i76IWd+lMLfmCz66Ztr2XFvDNvMAymHJGIqg==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "enhanced-resolve": "4.0.0", + "loader-utils": "1.1.0", + "micromatch": "3.1.10", + "semver": "5.5.0" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", + "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "kind-of": "6.0.2", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.1", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + } + } + }, + "tslib": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz", + "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==", + "dev": true + }, + "tslint": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.9.1.tgz", + "integrity": "sha1-ElX4ej/1frCw4fDmEKi0dIBGya4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "builtin-modules": "1.1.1", + "chalk": "2.3.2", + "commander": "2.15.1", + "diff": "3.5.0", + "glob": "7.1.2", + "js-yaml": "3.7.0", + "minimatch": "3.0.4", + "resolve": "1.6.0", + "semver": "5.5.0", + "tslib": "1.9.0", + "tsutils": "2.25.0" + } + }, + "tsutils": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.25.0.tgz", + "integrity": "sha512-SPgUlOAUAe6fCyPi0QR4U0jRuDsHHKvzIR6/hHd0YR0bb8MzeLJgCagkPSmZeJjWImnpJ0xq6XHa9goTvMBBCQ==", + "dev": true, + "requires": { + "tslib": "1.9.0" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.18" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typescript": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.8.1.tgz", + "integrity": "sha512-Ao/f6d/4EPLq0YwzsQz8iXflezpTkQzqAyenTiw4kCUGr1uPiFLC3+fZ+gMZz6eeI/qdRUqvC+HxIJzUAzEFdg==", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==", + "dev": true + }, + "uglify-js": { + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.16.tgz", + "integrity": "sha512-FMh5SRqJRGhv9BbaTffENIpDDQIoPDR8DBraunGORGhySArsXlw9++CN+BWzPBLpoI4RcSnpfGPnilTxWL3Vvg==", + "dev": true, + "requires": { + "commander": "2.15.1", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "uglifyjs-webpack-plugin": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.4.tgz", + "integrity": "sha512-z0IbjpW8b3O/OVn+TTZN4pI29RN1zktFBXLIzzfZ+++cUtZ1ERSlLWgpE/5OERuEUs1ijVQnpYAkSlpoVmQmSQ==", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "schema-utils": "0.4.5", + "serialize-javascript": "1.4.0", + "source-map": "0.6.1", + "uglify-es": "3.3.9", + "webpack-sources": "1.1.0", + "worker-farm": "1.6.0" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "2.13.0", + "source-map": "0.6.1" + } + } + } + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.3.tgz", + "integrity": "sha512-iG/2t0F2LAU8aZYPkX5gi7ebukHnr3sWFESpb+zPQeeaQwOkfoO6ZW17YX7MdRPNG9pCy+tjzGill+Ah0Em0HA==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.3.tgz", + "integrity": "sha512-nFcaBFcr08UQNF15ZgI5ISh3yUnQm7SJRRxwYrL5VYX46pS+6Q7TCTv4zbK+j6/l7rQt0mMiTL2zpmeygny6rA==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "1.0.3", + "unicode-property-aliases-ecmascript": "1.0.3" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.1.tgz", + "integrity": "sha512-lM8B0FDZQh9yYGgiabRQcyWicB27VLOolSBRIxsO7FeQPtg+79Oe7sC8Mzr8BObDs+G9CeYmC/shHo6OggNEog==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.3.tgz", + "integrity": "sha512-TdDmDOTxEf2ad1g3ZBpM6cqKIb2nJpVlz1Q++casDryKz18tpeMBhSng9hjC1CTQCkOV9Rw2knlSB6iRo7ad1w==", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqid": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", + "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", + "dev": true, + "requires": { + "macaddress": "0.2.8" + } + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, + "requires": { + "unique-slug": "2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, + "universalify": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "untildify": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.2.tgz", + "integrity": "sha1-fx8wIFWz/qDz6B3HjrNnZstl4/E=", + "dev": true + }, + "upath": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.0.4.tgz", + "integrity": "sha512-d4SJySNBXDaQp+DPrziv3xGS6w3d2Xt69FijJr86zMPBy23JEloMCEOUBBzuN7xCtjLCnmB9tI/z7SBCahHBOw==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", + "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "requires": { + "punycode": "2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", + "dev": true + }, + "url-parse": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", + "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", + "dev": true, + "requires": { + "querystringify": "1.0.0", + "requires-port": "1.0.0" + }, + "dependencies": { + "querystringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", + "dev": true + } + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "2.0.0" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + } + } + }, + "url-regex": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", + "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", + "dev": true, + "requires": { + "ip-regex": "1.0.3" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true + }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "object.getownpropertydescriptors": "2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true + }, + "v8-compile-cache": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz", + "integrity": "sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", + "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "requires": { + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + }, + "vinyl-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz", + "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0", + "strip-bom-stream": "2.0.0", + "vinyl": "1.2.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "vue-parser": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/vue-parser/-/vue-parser-1.1.6.tgz", + "integrity": "sha512-v3/R7PLbaFVF/c8IIzWs1HgRpT2gN0dLRkaLIT5q+zJGVgmhN4VuZJF4Y9N4hFtFjS4B1EHxAOP6/tzqM4Ug2g==", + "dev": true, + "requires": { + "parse5": "3.0.3" + } + }, + "watchpack": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.5.0.tgz", + "integrity": "sha512-RSlipNQB1u48cq0wH/BNfCu1tD/cJ8ydFIkNYhp9o+3d+8unClkIovpW5qpFPgmL9OE48wfAnlZydXByWP82AA==", + "dev": true, + "requires": { + "chokidar": "2.0.3", + "graceful-fs": "4.1.11", + "neo-async": "2.5.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", + "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "kind-of": "6.0.2", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "chokidar": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", + "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.1", + "fsevents": "1.1.3", + "glob-parent": "3.1.0", + "inherits": "2.0.1", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.0.4" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.1", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "1.0.0" + } + }, + "webapp-webpack-plugin": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/webapp-webpack-plugin/-/webapp-webpack-plugin-1.3.1.tgz", + "integrity": "sha512-B4fkclaW04frb0AYj2JfUkJIsrJ7TW4QKgFenOdQUINJ8+vovsrbU/FxCvWH2J7h650JIWJTyh8cFDmGskPScQ==", + "dev": true, + "requires": { + "cache-loader": "1.2.2", + "camelcase": "4.1.0", + "favicons": "4.8.6", + "find-root": "1.1.0", + "loader-utils": "1.1.0", + "msgpack-lite": "0.1.26", + "parse-author": "2.0.0" + } + }, + "webpack": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.3.0.tgz", + "integrity": "sha512-oFbYLpxz8IV44Z5o2uVhvzsdw9J8x/l7Ry9EGvckkx6PFBZo5wRvd2J4nPP9oGhkl2WtNXoU4N7LM5Pjk1MAiA==", + "dev": true, + "requires": { + "acorn": "5.5.3", + "acorn-dynamic-import": "3.0.0", + "ajv": "6.4.0", + "ajv-keywords": "3.1.0", + "chrome-trace-event": "0.1.2", + "enhanced-resolve": "4.0.0", + "eslint-scope": "3.7.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "neo-async": "2.5.0", + "node-libs-browser": "2.1.0", + "schema-utils": "0.4.5", + "tapable": "1.0.0", + "uglifyjs-webpack-plugin": "1.2.4", + "watchpack": "1.5.0", + "webpack-sources": "1.1.0" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", + "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "kind-of": "6.0.2", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.1", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + } + } + }, + "webpack-addons": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/webpack-addons/-/webpack-addons-1.1.5.tgz", + "integrity": "sha512-MGO0nVniCLFAQz1qv22zM02QPjcpAoJdy7ED0i3Zy7SY1IecgXCm460ib7H/Wq7e9oL5VL6S2BxaObxwIcag0g==", + "dev": true, + "requires": { + "jscodeshift": "0.4.1" + }, + "dependencies": { + "ast-types": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.10.1.tgz", + "integrity": "sha512-UY7+9DPzlJ9VM8eY0b2TUZcZvF+1pO0hzMtAyjBYKhOmnvRlqYNYnWdtsMj0V16CGaMlpL0G1jnLbLo4AyotuQ==", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, + "jscodeshift": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.4.1.tgz", + "integrity": "sha512-iOX6If+hsw0q99V3n31t4f5VlD1TQZddH08xbT65ZqA7T4Vkx68emrDZMUOLVvCEAJ6NpAk7DECe3fjC/t52AQ==", + "dev": true, + "requires": { + "async": "1.5.2", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-preset-es2015": "6.24.1", + "babel-preset-stage-1": "6.24.1", + "babel-register": "6.26.0", + "babylon": "6.18.0", + "colors": "1.1.2", + "flow-parser": "0.69.0", + "lodash": "4.17.5", + "micromatch": "2.3.11", + "node-dir": "0.1.8", + "nomnom": "1.8.1", + "recast": "0.12.9", + "temp": "0.8.3", + "write-file-atomic": "1.3.4" + } + }, + "recast": { + "version": "0.12.9", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.12.9.tgz", + "integrity": "sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A==", + "dev": true, + "requires": { + "ast-types": "0.10.1", + "core-js": "2.5.4", + "esprima": "4.0.0", + "private": "0.1.8", + "source-map": "0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "webpack-bundle-analyzer": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.11.1.tgz", + "integrity": "sha512-VKUVkVMc6TWVXmF1OxsBXoiRjYiDRA4XT0KqtbLMDK+891VX7FCuklYwzldND8J2upUcHHnuXYNTP+4mSFi4Kg==", + "dev": true, + "requires": { + "acorn": "5.5.3", + "bfj-node4": "5.3.1", + "chalk": "2.3.2", + "commander": "2.15.1", + "ejs": "2.5.8", + "express": "4.16.3", + "filesize": "3.6.1", + "gzip-size": "4.1.0", + "lodash": "4.17.5", + "mkdirp": "0.5.1", + "opener": "1.4.3", + "ws": "4.1.0" + } + }, + "webpack-cli": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-2.0.13.tgz", + "integrity": "sha512-0lnOi3yla8FsZVuMsbfnNRB/8DlfuDugKdekC+4ykydZG0+UOidMi5J5LLWN4c0VJ8PqC19yMXXkYyCq78OuqA==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "cross-spawn": "6.0.5", + "diff": "3.5.0", + "enhanced-resolve": "4.0.0", + "glob-all": "3.1.0", + "global-modules": "1.0.0", + "got": "8.3.0", + "inquirer": "5.2.0", + "interpret": "1.1.0", + "jscodeshift": "0.5.0", + "listr": "0.13.0", + "loader-utils": "1.1.0", + "lodash": "4.17.5", + "log-symbols": "2.2.0", + "mkdirp": "0.5.1", + "p-each-series": "1.0.0", + "p-lazy": "1.0.0", + "prettier": "1.11.1", + "resolve-cwd": "2.0.0", + "supports-color": "5.3.0", + "v8-compile-cache": "1.1.2", + "webpack-addons": "1.1.5", + "yargs": "11.0.0", + "yeoman-environment": "2.0.5", + "yeoman-generator": "2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "cliui": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", + "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", + "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", + "dev": true, + "requires": { + "cliui": "4.0.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + } + } + } + }, + "webpack-closure-compiler": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/webpack-closure-compiler/-/webpack-closure-compiler-2.1.6.tgz", + "integrity": "sha512-oF+IeWTlutfJJ+KduZpCJzNsU3BsGn/vbhXnsjhU9/GBcbc0ORm1SbeHPCO01Dja5dQZpkbxUnnsmAg0+8cI6w==", + "dev": true, + "requires": { + "async": "1.5.2", + "google-closure-compiler": "20170626.0.0", + "google-closure-compiler-js": "20170124.0.0", + "temp": "0.8.3", + "webpack-core": "0.6.9" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + } + } + }, + "webpack-core": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", + "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=", + "dev": true, + "requires": { + "source-list-map": "0.1.8", + "source-map": "0.4.4" + }, + "dependencies": { + "source-list-map": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", + "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.0.1.tgz", + "integrity": "sha512-JCturcEZNGA0KHEpOJVRTC/VVazTcPfpR9c1Au6NO9a+jxCRchMi87Qe7y3JeOzc0v5eMMKpuGBnPdN52NA+CQ==", + "dev": true, + "requires": { + "loud-rejection": "1.6.0", + "memory-fs": "0.4.1", + "mime": "2.2.0", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "url-join": "4.0.0", + "webpack-log": "1.1.2" + }, + "dependencies": { + "mime": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz", + "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.1.tgz", + "integrity": "sha512-u5lz6REb3+KklgSIytUIOrmWgnpgFmfj/+I+GBXurhEoCsHXpG9twk4NO3bsu72GC9YtxIsiavjfRdhmNt0A/A==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "array-includes": "3.0.3", + "bonjour": "3.5.0", + "chokidar": "2.0.3", + "compression": "1.7.2", + "connect-history-api-fallback": "1.5.0", + "debug": "3.1.0", + "del": "3.0.0", + "express": "4.16.3", + "html-entities": "1.2.1", + "http-proxy-middleware": "0.17.4", + "import-local": "1.0.0", + "internal-ip": "1.2.0", + "ip": "1.1.5", + "killable": "1.0.0", + "loglevel": "1.6.1", + "opn": "5.3.0", + "portfinder": "1.0.13", + "selfsigned": "1.10.2", + "serve-index": "1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.1.4", + "spdy": "3.4.7", + "strip-ansi": "3.0.1", + "supports-color": "5.3.0", + "webpack-dev-middleware": "3.0.1", + "webpack-log": "1.1.2", + "yargs": "9.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", + "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "kind-of": "6.0.2", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "chokidar": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", + "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.1", + "fsevents": "1.1.3", + "glob-parent": "3.1.0", + "inherits": "2.0.1", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.0.4" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.1", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", + "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "webpack-log": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.1.2.tgz", + "integrity": "sha512-B53SD4N4BHpZdUwZcj4st2QT7gVfqZtqHDruC1N+K2sciq0Rt/3F1Dx6RlylVkcrToMLTaiaeT48k9Lq4iDVDA==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "log-symbols": "2.2.0", + "loglevelnext": "1.0.3", + "uuid": "3.2.1" + } + }, + "webpack-merge": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.2.tgz", + "integrity": "sha512-/0QYwW/H1N/CdXYA2PNPVbsxO3u2Fpz34vs72xm03SRfg6bMNGfMJIQEpQjKRvkG2JvT6oRJFpDtSrwbX8Jzvw==", + "dev": true, + "requires": { + "lodash": "4.17.5" + } + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "webpack-visualizer-plugin": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/webpack-visualizer-plugin/-/webpack-visualizer-plugin-0.1.11.tgz", + "integrity": "sha1-uHcK2GtPZSYSxosbeCJT+vn4o04=", + "dev": true, + "requires": { + "d3": "3.5.17", + "mkdirp": "0.5.1", + "react": "0.14.9", + "react-dom": "0.14.9" + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": "0.4.11", + "websocket-extensions": "0.1.3" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "whatwg-fetch": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz", + "integrity": "sha1-DjaExsuZlbQ+/J3wPkw2XZX9nMA=", + "dev": true + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "dev": true + }, + "worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "dev": true, + "requires": { + "errno": "0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + }, + "ws": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "dev": true, + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.1" + } + }, + "xhr": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.4.1.tgz", + "integrity": "sha512-pAIU5vBr9Hiy5cpFIbPnwf0C18ZF86DBsZKrlsf87N5De/JbA6RJ83UP/cv+aljl4S40iRVMqP4pr4sF9Dnj0A==", + "dev": true, + "requires": { + "global": "4.3.2", + "is-function": "1.0.1", + "parse-headers": "2.0.1", + "xtend": "4.0.1" + } + }, + "xml-char-classes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", + "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=", + "dev": true + }, + "xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=", + "dev": true + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "dev": true, + "requires": { + "sax": "1.2.4", + "xmlbuilder": "9.0.7" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "requires": { + "fd-slicer": "1.0.1" + } + }, + "yeoman-environment": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.0.5.tgz", + "integrity": "sha512-6/W7/B54OPHJXob0n0+pmkwFsirC8cokuQkPSmT/D0lCcSxkKtg/BA6ZnjUBIwjuGqmw3DTrT4en++htaUju5g==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "globby": "6.1.0", + "grouped-queue": "0.3.3", + "inquirer": "3.3.0", + "is-scoped": "1.0.0", + "lodash": "4.17.5", + "log-symbols": "2.2.0", + "mem-fs": "1.1.3", + "text-table": "0.2.0", + "untildify": "3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.3.2", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.1.0", + "figures": "2.0.0", + "lodash": "4.17.5", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "yeoman-generator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-2.0.3.tgz", + "integrity": "sha512-mODmrZ26a94djmGZZuIiomSGlN4wULdou29ZwcySupb2e9FdvoCl7Ps2FqHFjEHio3kOl/iBeaNqrnx3C3NwWg==", + "dev": true, + "requires": { + "async": "2.6.0", + "chalk": "2.3.2", + "cli-table": "0.3.1", + "cross-spawn": "5.1.0", + "dargs": "5.1.0", + "dateformat": "3.0.3", + "debug": "3.1.0", + "detect-conflict": "1.0.1", + "error": "7.0.2", + "find-up": "2.1.0", + "github-username": "4.1.0", + "istextorbinary": "2.2.1", + "lodash": "4.17.5", + "make-dir": "1.2.0", + "mem-fs-editor": "3.0.2", + "minimist": "1.2.0", + "pretty-bytes": "4.0.2", + "read-chunk": "2.1.0", + "read-pkg-up": "3.0.0", + "rimraf": "2.6.2", + "run-async": "2.3.0", + "shelljs": "0.8.1", + "text-table": "0.2.0", + "through2": "2.0.3", + "yeoman-environment": "2.0.5" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.2", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "read-chunk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", + "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", + "dev": true, + "requires": { + "pify": "3.0.0", + "safe-buffer": "5.1.1" + } + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..2216ad63 --- /dev/null +++ b/package.json @@ -0,0 +1,53 @@ +{ + "name": "factorio-blueprint-editor", + "version": "0.1.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "webpack-dev-server --config webpack.dev.js --host 0.0.0.0 --open --useLocalIp", + "build": "webpack --config webpack.prod.js" + }, + "author": "Teoxoy", + "license": "MIT", + "browserslist": [ + "> 5%", + "last 3 versions" + ], + "dependencies": { + "@pixi/filter-adjustment": "^2.5.0", + "ajv": "^6.4.0", + "gown": "^0.1.6", + "immutable": "^3.8.2", + "keyboardjs": "^2.4.1", + "normalize.css": "^8.0.0", + "pixi.js": "^4.7.1" + }, + "devDependencies": { + "@babel/core": "^7.0.0-beta.42", + "@babel/preset-env": "^7.0.0-beta.42", + "@types/keyboardjs": "^2.2.31", + "@types/pixi.js": "^4.7.2", + "babel-loader": "^8.0.0-beta.2", + "clean-webpack-plugin": "^0.1.19", + "copy-webpack-plugin": "^4.5.1", + "css-loader": "^0.28.11", + "extract-text-webpack-plugin": "^4.0.0-beta.0", + "fork-ts-checker-webpack-plugin": "^0.4.1", + "fs-extra": "^5.0.0", + "html-webpack-plugin": "3.1.0", + "jimp": "^0.2.28", + "node-sprite-generator": "^0.10.2", + "optimize-css-assets-webpack-plugin": "^4.0.0", + "ts-loader": "^4.1.0", + "tslint": "^5.9.1", + "typescript": "^2.8.1", + "webapp-webpack-plugin": "^1.3.1", + "webpack": "^4.3.0", + "webpack-bundle-analyzer": "^2.11.1", + "webpack-cli": "^2.0.13", + "webpack-closure-compiler": "^2.1.6", + "webpack-dev-server": "^3.1.1", + "webpack-merge": "^4.1.2", + "webpack-visualizer-plugin": "^0.1.11" + } +} diff --git a/parser/defines.lua b/parser/defines.lua new file mode 100644 index 00000000..ebad2b0f --- /dev/null +++ b/parser/defines.lua @@ -0,0 +1,598 @@ +defines = { + alert_type = { + custom = 6, + entity_destroyed = 0, + entity_under_attack = 1, + no_material_for_construction = 3, + no_storage = 7, + not_enough_construction_robots = 2, + not_enough_repair_packs = 4, + turret_fire = 5 + }, + chain_signal_state = { + all_open = 1, + none = 0, + none_open = 3, + partially_open = 2 + }, + chunk_generated_status = { + basic_tiles = 20, + corrected_tiles = 30, + custom_tiles = 10, + entities = 50, + nothing = 0, + tiles = 40 + }, + circuit_condition_index = { + arithmetic_combinator = 1, + constant_combinator = 1, + decider_combinator = 1, + inserter_circuit = 1, + inserter_logistic = 2, + lamp = 1, + offshore_pump = 1, + pump = 1 + }, + circuit_connector_id = { + accumulator = 1, + combinator_input = 1, + combinator_output = 2, + constant_combinator = 1, + container = 1, + electric_pole = 1, + inserter = 1, + lamp = 1, + offshore_pump = 1, + programmable_speaker = 1, + pump = 1, + rail_chain_signal = 1, + rail_signal = 1, + roboport = 1, + storage_tank = 1, + wall = 1 + }, + command = { + attack = 1, + attack_area = 5, + build_base = 7, + compound = 3, + flee = 8, + go_to_location = 2, + group = 4, + wander = 6 + }, + compound_command = { + logical_and = 0, + logical_or = 1, + return_last = 2 + }, + control_behavior = { + inserter = { + circuit_mode_of_operation = { + enable_disable = 0, + none = 3, + read_hand_contents = 2, + set_filters = 1, + set_stack_size = 4 + }, + hand_read_mode = { + hold = 1, + pulse = 0 + } + }, + lamp = { + circuit_mode_of_operation = { + use_colors = 0 + } + }, + logistic_container = { + circuit_mode_of_operation = { + send_contents = 0, + set_requests = 1 + } + }, + mining_drill = { + resource_read_mode = { + entire_patch = 1, + this_miner = 0 + } + }, + roboport = { + circuit_mode_of_operation = { + read_logistics = 0, + read_robot_stats = 1 + } + }, + train_stop = { + circuit_mode_of_operation = { + enable_disable = 0, + read_from_train = 2, + read_stopped_train = 3, + send_to_train = 1 + } + }, + transport_belt = { + content_read_mode = { + hold = 1, + pulse = 0 + } + }, + type = { + accumulator = 13, + arithmetic_combinator = 10, + constant_combinator = 11, + container = 1, + decider_combinator = 9, + generic_on_off = 2, + inserter = 3, + lamp = 4, + logistic_container = 5, + mining_drill = 16, + programmable_speaker = 17, + rail_chain_signal = 18, + rail_signal = 14, + roboport = 6, + storage_tank = 7, + train_stop = 8, + transport_belt = 12, + wall = 15 + } + }, + controllers = { + character = 1, + ghost = 0, + god = 2 + }, + deconstruction_item = { + entity_filter_mode = { + blacklist = 1, + whitelist = 0 + }, + tile_filter_mode = { + blacklist = 1, + whitelist = 0 + }, + tile_selection_mode = { + always = 1, + never = 2, + normal = 0, + only = 3 + } + }, + difficulty = { + easy = 0, + hard = 2, + normal = 1 + }, + difficulty_settings = { + recipe_difficulty = { + expensive = 1, + normal = 0 + }, + technology_difficulty = { + expensive = 1, + normal = 0 + } + }, + direction = { + east = 2, + north = 0, + northeast = 1, + northwest = 7, + south = 4, + southeast = 3, + southwest = 5, + west = 6 + }, + distraction = { + by_anything = 3, + by_damage = 4, + by_enemy = 1, + none = 0 + }, + events = { + on_biter_base_built = 55, + on_built_entity = 6, + on_canceled_deconstruction = 21, + on_character_corpse_expired = 90, + on_chunk_charted = 98, + on_chunk_generated = 12, + on_combat_robot_expired = 80, + on_console_chat = 71, + on_console_command = 72, + on_difficulty_settings_changed = 60, + on_entity_damaged = 97, + on_entity_died = 4, + on_entity_renamed = 57, + on_entity_settings_pasted = 31, + on_force_created = 27, + on_forces_merging = 28, + on_gui_checked_state_changed = 3, + on_gui_click = 1, + on_gui_closed = 84, + on_gui_elem_changed = 67, + on_gui_opened = 83, + on_gui_selection_state_changed = 58, + on_gui_text_changed = 2, + on_gui_value_changed = 85, + on_marked_for_deconstruction = 20, + on_market_item_purchased = 53, + on_mod_item_opened = 82, + on_picked_up_item = 5, + on_player_alt_selected_area = 50, + on_player_ammo_inventory_changed = 36, + on_player_armor_inventory_changed = 35, + on_player_built_tile = 45, + on_player_cancelled_crafting = 96, + on_player_changed_force = 56, + on_player_changed_position = 81, + on_player_changed_surface = 51, + on_player_cheat_mode_disabled = 89, + on_player_cheat_mode_enabled = 88, + on_player_configured_blueprint = 70, + on_player_crafted_item = 13, + on_player_created = 24, + on_player_cursor_stack_changed = 29, + on_player_deconstructed_area = 69, + on_player_demoted = 76, + on_player_died = 41, + on_player_display_resolution_changed = 93, + on_player_display_scale_changed = 94, + on_player_driving_changed_state = 26, + on_player_dropped_item = 54, + on_player_gun_inventory_changed = 37, + on_player_joined_game = 43, + on_player_left_game = 44, + on_player_main_inventory_changed = 32, + on_player_mined_entity = 65, + on_player_mined_item = 8, + on_player_mined_tile = 46, + on_player_muted = 86, + on_player_pipette = 92, + on_player_placed_equipment = 38, + on_player_promoted = 75, + on_player_quickbar_inventory_changed = 33, + on_player_removed = 73, + on_player_removed_equipment = 39, + on_player_respawned = 42, + on_player_rotated_entity = 19, + on_player_selected_area = 49, + on_player_setup_blueprint = 68, + on_player_tool_inventory_changed = 34, + on_player_unmuted = 87, + on_player_used_capsule = 74, + on_pre_entity_settings_pasted = 30, + on_pre_ghost_deconstructed = 91, + on_pre_player_crafted_item = 95, + on_pre_player_died = 40, + on_pre_player_mined_item = 11, + on_pre_surface_deleted = 63, + on_put_item = 9, + on_research_finished = 18, + on_research_started = 17, + on_resource_depleted = 25, + on_robot_built_entity = 14, + on_robot_built_tile = 47, + on_robot_mined = 16, + on_robot_mined_entity = 64, + on_robot_mined_tile = 48, + on_robot_pre_mined = 15, + on_rocket_launched = 10, + on_runtime_mod_setting_changed = 59, + on_sector_scanned = 7, + on_selected_entity_changed = 52, + on_surface_created = 61, + on_surface_deleted = 62, + on_tick = 0, + on_train_changed_state = 23, + on_train_created = 66, + on_trigger_created_entity = 22, + script_raised_built = 77, + script_raised_destroy = 78, + script_raised_revive = 79 + }, + group_state = { + attacking_distraction = 2, + attacking_target = 3, + finished = 4, + gathering = 0, + moving = 1 + }, + gui_type = { + achievement = 8, + blueprint_library = 9, + bonus = 6, + controller = 3, + custom = 16, + entity = 1, + equipment = 10, + item = 5, + kills = 13, + logistic = 11, + none = 0, + other_player = 12, + permissions = 14, + production = 4, + research = 2, + trains = 7, + tutorials = 15 + }, + input_action = { + add_permission_group = 177, + alt_select_area = 129, + alt_select_blueprint_entities = 94, + begin_mining = 2, + begin_mining_terrain = 46, + build_item = 44, + build_rail = 125, + build_terrain = 120, + cancel_craft = 64, + cancel_deconstruct = 114, + cancel_new_blueprint = 22, + cancel_research = 126, + change_active_item_group_for_crafting = 78, + change_active_item_group_for_filters = 89, + change_active_quick_bar = 17, + change_arithmetic_combinator_parameters = 115, + change_blueprint_book_record_label = 109, + change_decider_combinator_parameters = 116, + change_item_label = 124, + change_picking_state = 150, + change_programmable_speaker_alert_parameters = 118, + change_programmable_speaker_circuit_parameters = 119, + change_programmable_speaker_parameters = 117, + change_riding_state = 47, + change_shooting_state = 58, + change_single_blueprint_record_label = 100, + change_train_stop_station = 77, + change_train_wait_condition = 121, + change_train_wait_condition_data = 122, + clean_cursor_stack = 13, + clear_selected_blueprint = 131, + clear_selected_deconstruction_item = 132, + connect_rolling_stock = 10, + copy_entity_settings = 24, + craft = 56, + create_blueprint_like = 104, + cursor_split = 52, + cursor_transfer = 51, + custom_input = 123, + cycle_blueprint_book_backwards = 36, + cycle_blueprint_book_forwards = 35, + deconstruct = 92, + delete_blueprint_record = 103, + delete_custom_tag = 175, + delete_permission_group = 176, + destroy_opened_item = 26, + disconnect_rolling_stock = 11, + drag_train_schedule = 142, + drag_train_wait_condition = 143, + drop_blueprint_record = 102, + drop_item = 43, + drop_to_blueprint_book = 174, + edit_custom_tag = 137, + edit_permission_group = 138, + edit_train_schedule = 76, + export_blueprint = 111, + fast_entity_split = 164, + fast_entity_transfer = 163, + grab_blueprint_record = 101, + gui_checked_state_changed = 80, + gui_click = 73, + gui_elem_changed = 140, + gui_selection_state_changed = 81, + gui_text_changed = 79, + gui_value_changed = 82, + import_blueprint = 112, + import_blueprint_string = 139, + inventory_split = 63, + inventory_transfer = 54, + launch_rocket = 16, + market_offer = 75, + mod_settings_changed = 135, + open_achievements_gui = 33, + open_blueprint_library_gui = 18, + open_blueprint_record = 98, + open_bonus_gui = 31, + open_character_gui = 9, + open_equipment = 50, + open_gui = 7, + open_item = 48, + open_kills_gui = 20, + open_logistic_gui = 41, + open_mod_item = 49, + open_production_gui = 19, + open_technology_gui = 15, + open_train_gui = 170, + open_train_station_gui = 127, + open_trains_gui = 32, + open_tutorials_gui = 34, + paste_entity_settings = 25, + place_equipment = 83, + remove_cables = 110, + reset_assembling_machine = 14, + reverse_rotate_entity = 5, + rotate_entity = 4, + select_area = 128, + select_blueprint_entities = 93, + select_entity_slot = 145, + select_gun = 156, + select_item = 144, + select_tile_slot = 146, + set_auto_launch_rocket = 158, + set_autosort_inventory = 157, + set_behavior_mode = 162, + set_car_weapons_control = 179, + set_circuit_condition = 67, + set_circuit_mode_of_operation = 72, + set_deconstruction_item_tile_selection_mode = 173, + set_deconstruction_item_trees_and_rocks_only = 172, + set_entity_color = 171, + set_entity_energy_property = 136, + set_filter = 65, + set_infinity_container_filter_item = 134, + set_infinity_container_remove_unfiltered_items = 178, + set_inserter_max_stack_size = 169, + set_inventory_bar = 88, + set_logistic_filter_item = 70, + set_logistic_filter_signal = 71, + set_logistic_trash_filter_item = 133, + set_request_from_buffers = 180, + set_research_finished_stops_game = 168, + set_signal = 68, + set_single_blueprint_record_icon = 97, + set_splitter_priority = 149, + set_train_stopped = 165, + setup_assembling_machine = 59, + setup_blueprint = 95, + setup_single_blueprint_record = 96, + shortcut_quick_bar_transfer = 155, + smart_pipette = 61, + stack_split = 62, + stack_transfer = 53, + start_repair = 91, + start_research = 69, + start_walking = 45, + switch_connect_to_logistic_network = 161, + switch_constant_combinator_state = 159, + switch_power_switch_state = 160, + switch_to_rename_stop_gui = 30, + take_equipment = 84, + toggle_deconstruction_item_entity_filter_mode = 39, + toggle_deconstruction_item_tile_filter_mode = 40, + toggle_driving = 6, + toggle_enable_vehicle_logistics_while_moving = 38, + toggle_show_entity_info = 27, + use_ability = 85, + use_artillery_remote = 87, + use_item = 86, + wire_dragging = 57, + write_to_console = 74 + }, + inventory = { + assembling_machine_input = 2, + assembling_machine_modules = 4, + assembling_machine_output = 3, + beacon_modules = 1, + burnt_result = 6, + car_ammo = 3, + car_trunk = 2, + cargo_wagon = 1, + chest = 1, + fuel = 1, + furnace_modules = 4, + furnace_result = 3, + furnace_source = 2, + god_main = 2, + god_quickbar = 1, + item_main = 1, + lab_input = 2, + lab_modules = 3, + mining_drill_modules = 2, + player_ammo = 4, + player_armor = 5, + player_guns = 3, + player_main = 1, + player_quickbar = 2, + player_tools = 6, + player_trash = 8, + player_vehicle = 7, + roboport_material = 2, + roboport_robot = 1, + robot_cargo = 1, + robot_repair = 2, + rocket_silo_result = 6, + rocket_silo_rocket = 5, + turret_ammo = 1 + }, + logistic_member_index = { + character_provider = 2, + character_requester = 0, + character_storage = 1, + generic_on_off_behavior = 0, + logistic_container = 0, + vehicle_storage = 1 + }, + logistic_mode = { + active_provider = 1, + buffer = 5, + none = 0, + passive_provider = 4, + requester = 3, + storage = 2 + }, + mouse_button_type = { + left = 2, + middle = 8, + none = 1, + right = 4 + }, + rail_connection_direction = { + left = 0, + none = 3, + right = 2, + straight = 1 + }, + rail_direction = { + back = 1, + front = 0 + }, + riding = { + acceleration = { + accelerating = 1, + braking = 2, + nothing = 0, + reversing = 3 + }, + direction = { + left = 0, + right = 2, + straight = 1 + } + }, + shooting = { + not_shooting = 0, + shooting_enemies = 1, + shooting_selected = 2 + }, + signal_state = { + closed = 1, + open = 0, + reserved = 2, + reserved_by_circuit_network = 3 + }, + train_state = { + arrive_signal = 4, + arrive_station = 6, + manual_control = 9, + manual_control_stop = 8, + no_path = 3, + no_schedule = 2, + on_the_path = 0, + path_lost = 1, + wait_signal = 5, + wait_station = 7 + }, + transport_line = { + left_line = 1, + left_split_line = 5, + left_underground_line = 3, + right_line = 2, + right_split_line = 6, + right_underground_line = 4, + secondary_left_line = 3, + secondary_left_split_line = 7, + secondary_right_line = 4, + secondary_right_split_line = 8 + }, + wire_connection_id = { + electric_pole = 0, + power_switch_left = 0, + power_switch_right = 1 + }, + wire_type = { + copper = 1, + green = 3, + red = 2 + } +} diff --git a/parser/exportRawData.js b/parser/exportRawData.js new file mode 100644 index 00000000..db2280c9 --- /dev/null +++ b/parser/exportRawData.js @@ -0,0 +1,109 @@ +const fse = require('fs-extra') +const lua_parser = require('./luajs/lua_parser_umd').parser +const execSync = require('child_process').execSync +//const factorioDirectory = 'C:/SteamLibrary/steamapps/common/Factorio/data/' +const factorioDirectory = 'C:/_Programs/Steam/steamapps/common/Factorio/data/' + +//run /c game.write_file("defines.lua", serpent.block(_G.defines, {comments=false})) +//_tree_data_320 -> _tree_data_1 + +// Load Order: +// data.lua +// data-updates.lua +// data-final-fixes.lua + +const reqLualibRegex = /.*?require\s*\(*['"]([^.]+?)['"]\)*/g +const reqRegex = /require\s*\(*['"](.+?)['"]\)*/g + +let loadedModules = [] + +function searchLoadRemoveDependencies(contents, regex, baseFolder) { + let newModules = [] + let match = regex.exec(contents) + while (match !== null) { + let dep = match[1] + if (!loadedModules.includes(dep)) { + //load module + loadedModules.push(dep) + newModules.push({ + index: match.index, + name: dep + }) + } + match = regex.exec(contents) + } + + let offset = 0 + for (let i = 0; i < newModules.length; i++) { + let startPart = contents.slice(0, newModules[i].index + offset) + let endPart = contents.slice(newModules[i].index + offset) + let depData = readRequireOfFile(baseFolder, newModules[i].name.replace(/\./g, '/') + '.lua') + '\n' + contents = startPart + depData + endPart + offset += depData.length + } + + // remove all requires + contents = contents.replace(regex, '') + + return contents +} + +function readRequireOfFile(baseFolder, pathCon) { + let contents = fse.readFileSync(factorioDirectory + baseFolder + pathCon).toString() + + contents = searchLoadRemoveDependencies(contents, reqLualibRegex, 'core/lualib/') + contents = searchLoadRemoveDependencies(contents, reqRegex, baseFolder) + + // remove last return + contents = contents.replace(/return\s*\b.+?\b\s*$/g, '') + + // if a return is an obj, convert the return with the filename + contents = contents.replace(/return\s(\{(.|\n)+?\})\s*$/g, function(match, capture){ + let split = pathCon.split('/') + return split[split.length - 1].replace('.lua', '') + ' = ' + capture + }) + + if (pathCon.includes('autoplace_utils')) { + contents = contents.replace(/M/g, 'autoplace_utils') + } + + return contents +} + +const fileOrder = [ + 'core/lualib/dataloader.lua', + 'core/data.lua', + 'base/data.lua', + 'base/data-updates.lua' +] + +let mainFileData = '' + +for (let i = 0; i < fileOrder.length; i++) { + let splitPath = fileOrder[i].split('/') + let data = readRequireOfFile(splitPath[0] + '/', splitPath.slice(1).join('/')) + mainFileData += data + '\n' +} + +mainFileData = mainFileData + // var = require(...) results in var = var = {} + .replace(/\b[a-zA-Z_-]+?\b\s*(=\s*\b[a-zA-Z_-]+?\b\s*)=\s*\{/g, function(match, capture){ + return match.replace(capture, '') + }) + +mainFileData = fse.readFileSync('./defines.lua').toString() + mainFileData + +fse.writeFileSync('./temp.lua', mainFileData) + +let parsedData = lua_parser.parse(mainFileData).replace(/_tree_data_320/g, '_tree_data_1') + +let script = "var fs = require('fs');\n" + + fse.readFileSync('./luajs/lua.js').toString() + "\n" + + "var lua_script = (function() {\n" + + " " + parsedData.split("\n").join("\n ") + "\n" + + "})()[0];\n" + + "fs.writeFileSync('./temp.json', JSON.stringify(lua_tabletoJson(lua_tableget(lua_tableget(lua_script, 'data'), 'raw')), null, 2))" + +fse.writeFileSync('./temp.js', script) + +execSync('node temp.js') diff --git a/parser/json-entity.tpl b/parser/json-entity.tpl new file mode 100644 index 00000000..664b96ff --- /dev/null +++ b/parser/json-entity.tpl @@ -0,0 +1,11 @@ +{ + "frames": { + <% layout.images.forEach(function (image, idx) + { %>"<%= image.className %>": { + "frame": { "x": <%= image.x %>, "y": <%= image.y %>, "w": <%= image.width %>, "h": <%= image.height %> }, + "sourceSize": { "w": <%= image.width %>, "h": <%= image.height %> } + }<% if (idx !== layout.images.length - 1) { %>,<% } %> + <% }); %> + }, + "meta": { "image": "entitySprites.png" } +} diff --git a/parser/json-icon.tpl b/parser/json-icon.tpl new file mode 100644 index 00000000..c8617b86 --- /dev/null +++ b/parser/json-icon.tpl @@ -0,0 +1,11 @@ +{ + "frames": { + <% layout.images.forEach(function (image, idx) + { %>"<%= image.className %>": { + "frame": { "x": <%= image.x %>, "y": <%= image.y %>, "w": <%= image.width %>, "h": <%= image.height %> }, + "sourceSize": { "w": <%= image.width %>, "h": <%= image.height %> } + }<% if (idx !== layout.images.length - 1) { %>,<% } %> + <% }); %> + }, + "meta": { "image": "iconSprites.png" } +} diff --git a/parser/luajs/lua.js b/parser/luajs/lua.js new file mode 100644 index 00000000..e9d6ea0f --- /dev/null +++ b/parser/luajs/lua.js @@ -0,0 +1,1800 @@ +/** + @license Copyright 2011 Maximilian Herkender + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +var lua_print = function () { + try { + console.log.apply(console, arguments); + } catch (e) { + // do nothing + } + return []; +}; + +function lua_load(chunk, chunkname) { + if (!lua_parser) { + throw new Error("Lua parser not available, perhaps you're not using the lua+parser.js version of the library?"); + } + + var fn; + eval( + "fn = function " + (chunkname || "load") + "() {\n" + + "return (function () {\n" + + lua_parser.parse(chunk) + "\n" + + "})()[0];\n" + + "};"); + return fn; +} + +/* + Copyright 2011 Maximilian Herkender + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +// slice that works in as3 and js on arguments +function slice(arr, start) { + if (arr.slice) { + return arr.slice(start); + } else { + return Array.prototype.slice.call(arr, start); + } +} + +// not supported call +function not_supported() { + throw new Error("Not supported"); +} + +function check_string(s) { + var type = typeof s; + if (type == "string") { + return s; + } else if (type == "number") { + return s.toString(); + } else { + throw new Error("Input not string"); + } +} + +/** @constructor */ +function ReturnValues(vars) { + this.vars = vars || []; +} + +// methods used by generated lua code +function lua_true(op) { + return op != null && op !== false; +} +function lua_not(op) { + return op == null || op === false; +} +function lua_and(op1, op2) { + return op1 == null || op1 === false ? op1 : op2(); +} +function lua_or(op1, op2) { + return op1 != null && op1 !== false ? op1 : op2(); +} +function lua_assertfloat(n) { + var result = parseFloat(n); + if (isNaN(result)) { + throw new Error("Invalid number: " + n); + } + return result; +} +function lua_newtable(autoIndexList) { + var result = {str: {}, uints: [], floats: {}, bool: {}, objs: []}; + for (var i = 1; i < arguments.length - 1; i += 2) { + var value = arguments[i + 1]; + if (value == null) { + continue; + } + var key = arguments[i]; + switch (typeof key) { + case "string": + result.str[key] = value; + break; + case "number": + if (key != key) { + throw new Error("Table index is NaN"); + } + if (key > 0 && (key | 0) == key) { + result.uints[key - 1] = value; + } else { + result.floats[key] = value; + } + break; + case "boolean": + result.bool[key] = value; + break; + case "object": + if (key == null) { + throw new Error("Table index is nil"); + } + var bFound = value == null; + for (var i in result.objs) { + if (result.objs[i][0] === key) { + if (value == null) { + result.objs.splice(i, 1); // remove element [i] + } else { + bFound = true; + // modify/overwrite existing entry + // (could happen that same key is used twice in autoIndexList) + result.objs[i][1] = value; + } + break; + } + } + if (!bFound) { + result.objs.push([key, value]); // add new entry + } + break; + default: + throw new Error("Unsupported type for table: " + (typeof key)); + } + } + if (autoIndexList) { + if (result.uints.length == 0) { + result.uints = autoIndexList; + } else { + i = autoIndexList.length; + while (i-- > 0) { + result.uints[i] = autoIndexList[i]; + } + } + } + return result; +} +function lua_newtable2(str) { + var str_copy = {}; + for (var i in str) { + str_copy[i] = str[i]; + } + return {str: str_copy, uints: [], floats: {}, bool: {}, objs: {}}; +} +function lua_len(op) { + if (typeof op == "string") { + return op.length; + } else if (typeof op == "object" && op != null) { + if (op.length == null) { + var index = 0; + while (op.uints[index++] != null) {}; + return op.length = index - 1; + } else { + return op.length; + } + } else { + var h = op.metatable && op.metatable.str["__len"]; + if (h) { + return lua_rawcall(h, [op])[0]; + } else { + throw new Error("Length of <" + op + "> not supported"); + } + } +} +function lua_rawcall(func, args) { + try { + return func.apply(null, args); + } catch (e) { + if (e.constructor == ReturnValues) { + return e.vars; + } + // This breaks the stack on Chrome + // + throw e; + } +} + +// could be replaced by lua_call(lua_tableget(table, key), args) +// but this gives better error messages +function lua_tablegetcall(table, key, args) { + var func = lua_tableget(table, key); + if (typeof func == "function") { + return lua_rawcall(func, args); + } else { + if (func == null) { + throw new Error("attempt to call field '" + key + "' (a nil value)"); + } + var h = func.metatable && func.metatable.str["__call"]; + if (h != null) { + return lua_rawcall(h, [func].concat(args)); + } else { + throw new Error("Could not call " + func + " as function"); + } + } +} +function lua_call(func, args) { + if (typeof func == "function") { + return lua_rawcall(func, args); + } else { + if (func == null) { + throw new Error("attempt to call function (a nil value)"); + } + var h = func.metatable && func.metatable.str["__call"]; + if (h != null) { + return lua_rawcall(h, [func].concat(args)); + } else { + throw new Error("Could not call " + func + " as function"); + } + } +} +function lua_mcall(obj, methodname, args) { + var func = lua_tableget(obj, methodname); + if (func == null) { + throw new Error("attempt to call method '" + methodname + "' (a nil value)"); + } + return lua_call(func, [obj].concat(args)); +} +function lua_eq(op1, op2) { + if (typeof op1 != typeof op2) { + if (op1 == null && op2 == null) { + return true; + } + return false; + } + if (op1 == op2) { + return true; + } + if (op1 == null || op2 == null) { + return false; + } + var h = op1.metatable && op1.metatable.str["__eq"]; + if (h && h == (op2.metatable && op2.metatable.str["__eq"])) { + return lua_true(lua_rawcall(h, [op1, op2])[0]); + } else { + return false; + } +} +function lua_lt(op1, op2) { + if (typeof op1 == "number" && typeof op2 == "number") { + return op1 < op2; + } else if (typeof op1 == "string" && typeof op2 == "string") { + // TODO: not sure how similar lua/javascript string comparison is + return op1 < op2; + } else { + var h = op1.metatable && op1.metatable.str["__lt"]; + if (h && h == (op2.metatable && op2.metatable.str["__lt"])) { + return lua_true(lua_rawcall(h, [op1, op2])[0]); + } else { + throw new Error("Unable to compare " + op1 + " and " + op2); + } + } +} +function lua_lte(op1, op2) { + if (typeof op1 == "number" && typeof op2 == "number") { + return op1 <= op2; + } else if (typeof op1 == "string" && typeof op2 == "string") { + // TODO: not sure how similar lua/javascript string comparison is + return op1 <= op2; + } else { + var h = op1.metatable && op1.metatable.str["__le"]; + if (h && h == (op2.metatable && op2.metatable.str["__le"])) { + return lua_true(lua_rawcall(h, [op1, op2])[0]); + } else { + var h = op1.metatable && op1.metatable.str["__lt"]; + if (h && h == (op2.metatable && op2.metatable.str["__lt"])) { + return lua_not(lua_rawcall(h, [op2, op1])[0]); + } else { + throw new Error("Unable to compare " + op1 + " and " + op2); + } + } + } +} +function lua_unm(op) { + var o = parseFloat(op); + if (!isNaN(o)) { + return -o; + } else { + var h = op.metatable && op.metatable.str["__unm"]; + if (h) { + return lua_rawcall(h, [op])[0]; + } else { + throw new Error("Inverting <" + op + "> not supported"); + } + } +} +function lua_add(op1, op2) { + var o1 = parseFloat(op1), o2 = parseFloat(op2); + if (isNaN(o1) || isNaN(o2)) { + var h = (op1.metatable && op1.metatable.str["__add"]) || (op2.metatable && op2.metatable.str["__add"]); + if (h) { + return lua_rawcall(h, [op1, op2])[0]; + } else { + throw new Error("Adding <" + op1 + "> and <" + op2 + "> not supported"); + } + } else { + return o1 + o2; + } +} +function lua_subtract(op1, op2) { + var o1 = parseFloat(op1), o2 = parseFloat(op2); + if (isNaN(o1) || isNaN(o2)) { + var h = (op1.metatable && op1.metatable.str["__sub"]) || (op2.metatable && op2.metatable.str["__sub"]); + if (h) { + return lua_rawcall(h, [op1, op2])[0]; + } else { + throw new Error("Subtracting <" + op1 + "> and <" + op2 + "> not supported"); + } + } else { + return o1 - o2; + } +} +function lua_divide(op1, op2) { + var o1 = parseFloat(op1), o2 = parseFloat(op2); + if (isNaN(o1) || isNaN(o2)) { + var h = (op1.metatable && op1.metatable.str["__div"]) || (op2.metatable && op2.metatable.str["__div"]); + if (h) { + return lua_rawcall(h, [op1, op2])[0]; + } else { + throw new Error("Dividing <" + op1 + "> and <" + op2 + "> not supported"); + } + } else { + return o1 / o2; + } +} +function lua_multiply(op1, op2) { + var o1 = parseFloat(op1), o2 = parseFloat(op2); + if (isNaN(o1) || isNaN(o2)) { + var h = (op1.metatable && op1.metatable.str["__mul"]) || (op2.metatable && op2.metatable.str["__mul"]); + if (h) { + return lua_rawcall(h, [op1, op2])[0]; + } else { + throw new Error("Multiplying <" + op1 + "> and <" + op2 + "> not supported"); + } + } else { + return o1 * o2; + } +} +function lua_power(op1, op2) { + var o1 = parseFloat(op1), o2 = parseFloat(op2); + if (isNaN(o1) || isNaN(o2)) { + var h = (op1.metatable && op1.metatable.str["__pow"]) || (op2.metatable && op2.metatable.str["__pow"]); + if (h) { + return lua_rawcall(h, [op1, op2])[0]; + } else { + throw new Error("<" + op1 + "> to the power of <" + op2 + "> not supported"); + } + } else { + return Math.pow(o1, o2); + } +} +function lua_mod(op1, op2) { + var o1 = parseFloat(op1), o2 = parseFloat(op2); + if (isNaN(o1) || isNaN(o2)) { + var h = (op1.metatable && op1.metatable.str["__mod"]) || (op2.metatable && op2.metatable.str["__mod"]); + if (h) { + return lua_rawcall(h, [op1, op2])[0]; + } else { + throw new Error("Modulo <" + op1 + "> and <" + op2 + "> not supported"); + } + } else { + if (o1 >= 0) { + if (o2 >= 0) { + return o1 % o2; + } else { + return (o2 + (o1 % o2)) % o2; + } + } else { + if (o2 >= 0) { + return (o2 + (o1 % o2)) % o2; + } else { + return o1 % o2; + } + } + } +} +function lua_rawget(table, key) { + switch (typeof key) { + case "string": + return table.str[key]; + case "number": + if (key != key) { + throw new Error("Table index is NaN"); + } + if (key > 0 && (key | 0) == key) { + return table.uints[key - 1]; + } else { + return table.floats[key]; + } + case "boolean": + return table.bool[key]; + case "object": + if (key == null) { + return null; + } + for (var i in table.objs) { + if (table.objs[i][0] == key) { + return table.objs[i][1]; + } + } + break; + default: + throw new Error("Unsupported key for table: " + (typeof key)); + } +} +function lua_rawset(table, key, value) { + delete table.length; + switch (typeof key) { + case "string": + if (value == null) { + delete table.str[key]; + } else { + table.str[key] = value; + } + break; + case "number": + if (key != key) { + throw new Error("Table index is NaN"); + } + if (key > 0 && (key | 0) == key) { + if (value == null) { + delete table.uints[key - 1]; + } else { + table.uints[key - 1] = value; + } + } else { + if (value == null) { + delete table.floats[key]; + } else { + table.floats[key] = value; + } + } + break; + case "boolean": + if (value == null) { + delete table.bool[key]; + } else { + table.bool[key] = value; + } + break; + case "object": + if (key == null) { + throw new Error("Table index is nil"); + } + var bFound = value == null; + for (var i in table.objs) { + if (table.objs[i][0] == key) { + if (value == null) { + table.objs.splice(i, 1); // remove element [i] + } else { + bFound = true; + table.objs[i][1] = value; // modifiy/overwrite existing entry + } + break; + } + } + if (!bFound) { + table.objs.push([key, value]); // add new entry + } + break; + default: + throw new Error("Unsupported key for table: " + (typeof key)); + } +} +function lua_tabletoJson(data) { + let dataOut + //is table + if (typeof data === 'object') { + // both + if (Object.keys(data.str).length !== 0 && data.uints.length !== 0) { + dataOut = [] + for (let i = 0; i < data.uints.length; i++) { + dataOut.push(lua_tabletoJson(data.uints[i])) + } + for (let k in data.str) { + if (data.str.hasOwnProperty(k)) { + // ignore keys + dataOut.push(lua_tabletoJson(data.str[k])) + } + } + } else { + // obj + if (Object.keys(data.str).length !== 0) { + dataOut = {} + for (let k in data.str) { + if (data.str.hasOwnProperty(k)) { + dataOut[k] = lua_tabletoJson(data.str[k]) + } + } + } + // array + if (data.uints.length !== 0) { + dataOut = [] + for (let i = 0; i < data.uints.length; i++) { + dataOut.push(lua_tabletoJson(data.uints[i])) + } + } + } + } else { + dataOut = data + } + return dataOut +} +function lua_tableget(table, key) { + if (table == null) { + throw new Error("attempt to index field '" + key + "' in a nil value"); + } + if (typeof table == "object") { + var v = lua_rawget(table, key); + if (v != null) { + return v; + } + var h = table.metatable && table.metatable.str["__index"]; + if (h == null) { + return null; + } + } else { + var h = table.metatable && table.metatable.str["__index"]; + if (h == null) { + throw new Error("Unable to index key " + key + " from " + table); + } + } + if (typeof h == "function") { + return lua_rawcall(h, [table, key])[0]; + } else { + return lua_tableget(h, key); + } +} +function lua_tableset(table, key, value) { + if (table == null) { + throw new Error("attempt to set field '" + key + "' in a nil value"); + } + if (typeof table == "object") { + var v = lua_rawget(table, key); + if (v != null) { + lua_rawset(table, key, value); + return; + } + var h = table.metatable && table.metatable.str["__newindex"]; + if (h == null) { + lua_rawset(table, key, value); + return; + } + } else { + var h = table.metatable && table.metatable.str["__newindex"]; + if (h == null) { + throw new Error("Unable to set key " + key + " in table " + table); + } + } + if (typeof h == "function") { + lua_rawcall(h, [table, key, value]); + } else { + lua_tableset(h, key, value); + } +} +function lua_concat(op1, op2) { + if (typeof op1 == "number" && typeof op2 == "number") { + throw new Error("number concat not supported yet"); + } else if ((typeof op1 == "string" || typeof op1 == "number") && (typeof op2 == "string" || typeof op2 == "number")) { + return op1 + op2; + } else { + var h = (op1.metatable && op1.metatable.str["__concat"]) || (op2.metatable && op2.metatable.str["__concat"]); + if (h) { + return lua_rawcall(h, [op1, op2])[0]; + } else { + throw new Error("Unable to concat " + op1 + " and " + op2); + } + } +} +function lua_tonumber(e, base) { + var type = typeof e; + if (type == "number") { + return e; + } + if (type == "string" && e.indexOf('0x') != -1) { + return parseInt(e, 16); + } + if (type != "string" || e.search("[^0-9\. -]") != -1) { + return null; + } + var num; + if (base === 10 || base == null) { + num = parseFloat(e); + } else { + num = parseInt(e, base); + } + if (isNaN(num)) { + num = null; + } + return num; +} + +// core lua functions +function _ipairs_next(table, index) { + var entry; + entry = table.uints[index]; + if (entry == null) { + return [null, null]; + } + return [index + 1, entry]; +} +var lua_libs = {}; +var lua_core = { + "assert": function (value, message) { + if (arguments.length < 1) { + message = "assertion failed!"; + } + if (value != null && value !== false) { + return [value]; + } else { + throw new Error(message); + } + }, + "collectgarbage": function () {},// no-op + "dofile": function () { + not_supported(); + }, + "error": function (message, level) { + // TODO: "level" is currently ignored + throw new Error(message); + }, + "getfenv": function (func, table) { + not_supported(); + }, + "getmetatable": function (op) { + return [op.metatable && (op.metatable.str["__metatable"] || op.metatable)]; + }, + "ipairs": function (table) { + return [_ipairs_next, table, 0]; + }, + "load": function (func, chunkname) { + var script = "", chunk; + while ((chunk = func()) != null && chunk != "") { + script += chunk; + } + try { + return [lua_load(script, chunkname)]; + } catch (e) { + return [null, e.message]; + } + }, + "loadfile": function () { + not_supported(); + }, + "loadstring": function (string, chunkname) { + try { + return [lua_load(string, chunkname)]; + } catch (e) { + return [null, e.message]; + } + }, + "next": function () { + not_supported(); + }, + "pairs": function (table) { + var props = [], i; + for (i in table.str) { + props.push(i); + } + var j = table.uints.length; + while (j-- > 0) { + if (table.uints[j] != null) { + props.push(j + 1); + } + } + for (i in table.floats) { + props.push(parseFloat(i)); + } + for (i in table.bool) { + props.push(i === "true" ? true : false); + } + for (i in table.objs) { + props.push(table.objs[i][0]); + } + + // okay, so I'm faking it here + // regardless of what key is given, this function will return the next value + // not sure how to do it the "right way" right now + i = 0; + return [function (table, key) { + var entry; + do { + if (i >= props.length) { + return [null, null]; + } + key = props[i++]; + entry = lua_rawget(table, key); + } while (entry == null); + return [key, entry]; + }, table, null]; + }, + "pcall": function (func) { + try { + return [true].concat(func.apply(null, slice(arguments, 1))); + } catch (e) { + return [false, e.message]; + } + }, + "print": lua_print, + "rawequal": function (op1, op2) { + return [(op1 == op2) || (op1 == null && op2 == null)]; + }, + "rawget": function (table, key) { + if (typeof table == "object" && table != null) { + return [lua_rawget(table, key)]; + } + throw new Error("Unable to index key " + key + " from " + table); + }, + "rawset": function (table, key, value) { + if (typeof table == "object" && table != null && key != null) { + lua_rawset(table, key, value); + return [table]; + } + throw new Error("Unable set key " + key + " in " + table); + }, + "select": function (n) { + if (n === "#") { + return [arguments.length - 1]; + } else { + n = lua_assertfloat(n); + if (n >= 1) { + return slice(arguments, lua_assertfloat(n)); + } else { + throw new Error("Index out of range"); + } + } + }, + "setfenv": function (func, table) { + not_supported(); + }, + "setmetatable": function (table, metatable) { + if (typeof table != "object" || table == null) { + throw new Error("table expected, got " + table); + } + if (metatable == null) { + delete table.metatable; + } else if (typeof metatable === "object") { + table.metatable = metatable; + } else { + throw new Error("table or nil expected, got " + metatable); + } + return [table] + }, + "tonumber": function (e, base) { + return [lua_tonumber(e, base)]; + }, + "tostring": function (e) { + if (e == null) { + return ["nil"]; + } + var h = e.metatable && e.metatable.str["__tostring"]; + if (h) { + return lua_rawcall(h, [e]); + } else { + switch (typeof e) { + case "number": + case "boolean": + return [e.toString()]; + case "string": + return [e]; + case "object": + return ["table"]; + case "function": + return ["function"]; + default: + return ["nil"]; + } + } + }, + "type": function (v) { + switch (typeof v) { + case "number": + return ["number"]; + case "string": + return ["string"]; + case "boolean": + return ["boolean"]; + case "function": + return ["function"]; + case "object": + return [v === null ? "nil" : "table"]; + case "undefined": + return ["nil"]; + default: + throw new Error("Unexpected value of type " + typeof v); + } + }, + "unpack": function (list, i, j) { + if (list.length != null) { + j = list.length; + } else { + j = 0; + while (list.uints[j++] != null) {}; + list.length = --j; + } + + if (i == null || i < 1) { + i = 1; + } + if (j == null) { + j = list.length; + } + throw new ReturnValues(list.uints.slice(i - 1, j)); + }, + "_VERSION": "Lua 5.1", + "xpcall": function () { + not_supported(); + } +}; + +// coroutine +var _lua_coroutine = lua_libs["coroutine"] = {}; +_lua_coroutine["resume"] = _lua_coroutine["running"] = _lua_coroutine["status"] = _lua_coroutine["wrap"] = _lua_coroutine["yield"] = _lua_coroutine["create"] = function () { + not_supported(); +}; + +// debug +var _lua_debug = lua_libs["debug"] = { + "getmetatable": function (obj) { + return [obj.metatable]; + } +}; +_lua_debug["traceback"] = _lua_debug["getfenv"] = _lua_debug["gethook"] = _lua_debug["getinfo"] = _lua_debug["getlocal"] = _lua_debug["getregistry"] = _lua_debug["getupvalue"] = _lua_debug["setfenv"] = _lua_debug["sethook"] = _lua_debug["setlocal"] = _lua_debug["setupvalue"] = _lua_debug["debug"] = function () { + not_supported(); +}; + +// io +var _lua_write_buffer = ""; +var _lua_io = lua_libs["io"] = { + "write": function () { + _lua_write_buffer += Array.prototype.join.call(arguments, ""); + var lines = _lua_write_buffer.split("\n"); + while (lines.length > 1) { + _lua_print(lines.shift()); + } + _lua_write_buffer = lines[0]; + return []; + }, + "flush": function () {},// no-op + "stderr": null, + "stdin": null, + "stdout": null +}; +_lua_io["close"] = _lua_io["input"] = _lua_io["lines"] = _lua_io["output"] = _lua_io["popen"] = _lua_io["read"] = _lua_io["tmpfile"] = _lua_io["type"] = _lua_io["open"] = function () { + not_supported(); +}; + +// math +var _lua_randmax = 0x100000000; +var _lua_randseed = (Math.random() * _lua_randmax) & (_lua_randmax - 1); +lua_libs["math"] = { + "abs": function (x) { + return [Math.abs(x)]; + }, + "acos": function (x) { + return [Math.acos(x)]; + }, + "asin": function (x) { + return [Math.asin(x)]; + }, + "atan": function (x) { + return [Math.atan(x)]; + }, + "atan2": function (y, x) { + return [Math.atan2(y, x)]; + }, + "ceil": function (x) { + return [Math.ceil(x)]; + }, + "cos": function (x) { + return [Math.cos(x)]; + }, + "cosh": function (x) { + return [(Math.exp(x) + Math.exp(-x)) / 2]; + }, + "deg": function (x) { + return [x * (180 / Math.PI)]; + }, + "exp": function (x) { + return [Math.exp(x)]; + }, + "floor": function (x) { + return [Math.floor(x)]; + }, + "fmod": function (x, y) { + return [x % y]; + }, + "frexp": function (m, e) { + not_supported(); + }, + "huge": Infinity, + "ldexp": function (m, e) { + return [m * Math.pow(2, e)]; + }, + "log": function (x) { + return [Math.log(x)]; + }, + "log10": function (x) { + return [Math.log(x) / Math.LN10]; + }, + "max": function () { + return [Math.max.apply(null, arguments)]; + }, + "min": function () { + return [Math.min.apply(null, arguments)]; + }, + "modf": function (x) { + var frac = x % 1; + return [x - frac, frac]; + }, + "pi": Math.PI, + "pow": function (x, y) { + return [Math.pow(x, y)]; + }, + "rad": function (x) { + return [x * (Math.PI / 180)]; + }, + "sin": function (x) { + return [Math.sin(x)]; + }, + "sinh": function (x) { + return [(Math.exp(x) - Math.exp(-x)) / 2]; + }, + "sqrt": function (x) { + return [Math.sqrt(x)]; + }, + "tan": function (x) { + return [Math.tan(x)]; + }, + "tanh": function (x) { + var a = Math.exp(x); + var b = Math.exp(-x); + return [(a - b) / (a + b)]; + }, + "random": function (m, n) { + // Based on the 32 bit mix function found here: + // http://www.concentric.net/~Ttwang/tech/inthash.htm + _lua_randseed = ~_lua_randseed + (_lua_randseed << 15); // _lua_randseed = (_lua_randseed << 15) - _lua_randseed - 1; + _lua_randseed = _lua_randseed ^ (_lua_randseed >>> 12); + _lua_randseed = _lua_randseed + (_lua_randseed << 2); + _lua_randseed = _lua_randseed ^ (_lua_randseed >>> 4); + _lua_randseed = _lua_randseed * 2057; // _lua_randseed = (_lua_randseed + (_lua_randseed << 3)) + (_lua_randseed << 11); + _lua_randseed = _lua_randseed ^ (_lua_randseed >>> 16); + + var val; + if (_lua_randseed < 0) { + val = ((_lua_randseed + _lua_randmax) / _lua_randmax) % 1; + } else { + val = (_lua_randseed / _lua_randmax) % 1; + } + + if (arguments.length >= 2) { + m = m | 0; + n = n | 0; + if (m >= n) { + throw new Error("Invalid range"); + } + return [Math.floor(val * (n - m + 1) + m)]; + } else if (arguments.length == 1) { + m = m | 0; + return [Math.floor(val * m + 1)]; + } else { + return [val]; + } + }, + "randomseed": function (x) { + _lua_randseed = x & (_lua_randmax - 1); + } +}; + +// os +// TODO: this should be different for each script, I think? +var _lua_clock_start = (new Date()).getTime() / 1000; +lua_libs["os"] = { + "clock": function () { + // This function is supposed to return the time the script has been executing + // not the time since it started, but I don't know of a way to do this. + return [(((new Date()).getTime()) / 1000) - _lua_clock_start]; + }, + "date": function (format, time) { + // TODO + return ["[" + time + "]" + format]; + }, + "difftime": function (t2, t1) { + return [t2 - t1]; + }, + "execute": function () { + return 0;// all commands fail + }, + "exit": function () { + //window.close(); + not_supported(); + }, + "getenv": function (varname) { + return [null]; + }, + "remove": function () { + not_supported(); + }, + "rename": function () { + not_supported(); + }, + "setlocale": function () { + not_supported(); + }, + "time": function (table) { + if (table) { + not_supported(); + } else { + return [Math.floor(new Date().getTime() / 1000)]; + } + } +}; + +// package +var lua_packages = lua_newtable(); +function lua_createmodule(G, name, options) { + var t = lua_tableget(lua_packages, name) || lua_tableget(G, name) || lua_newtable(); + lua_tableset(G, name, t); + lua_tableset(lua_packages, name, t); + lua_tableset(t, "_NAME", name); + lua_tableset(t, "_M", t); + lua_tableset(t, "_PACKAGE", name.split(".").slice(0, -1).join(".")); + + for (var i = 0; i < options.length; i++) { + lua_call(options[i], [t]); + } + return t; +} +function lua_module(name) { + var t = lua_tableget(lua_packages, name); + if (t == null) { + throw new Error("Module " + name + " not found. Module must be loaded before use."); + } + return t; +} +function lua_require(G, name) { + var t = lua_module(name); + var pkg = G; + var names = name.split("."); + for (var i = 0; i < names.length - 1; i++) { + if (!lua_tableget(pkg, names[i])) { + var newPkg = lua_newtable(); + lua_tableset(pkg, names[i], newPkg); + pkg = newPkg; + } + } + lua_tableset(pkg, names[names.length - 1], t); + return t; +} +lua_libs["package"] = { + "path": "", + "cpath": "", + "loaded": lua_packages, + "loaders": lua_newtable(),// not used + "preload": lua_newtable(),// not used + "loadlib": function () { + not_supported(); + } +}; + +function lua_pattern_to_regex(pattern) { + var notsupportedPatterns = [ + // hyphen quantifier + /%[aAcCdDgGlLpPsSuUwW]-/g, // after a chracter class + /(]|\))-/g, // after a set or parenthesis + /[^%]-(\)|%)/g, // not escaped, before a parenthesis or a character class + + /%(g|G)/g, // all printable characters except space. + + /(^[^%]+%b|%b.{2}.+$)/g, // a balanced pattern with something before or after it + + /%[0-9]{1}/g, // capture index + ]; + + for (var i in notsupportedPatterns) { + if (pattern.search(notsupportedPatterns[i]) != -1) { + not_supported(); + } + } + + var replacements = { + "%f\\[([^\\]]+)\\]": "[^$1]{1}[$1]{1}", // frontier pattern + + // character classes + "%a": "[a-zA-Z\u00C0-\u017F]", // all letters with accented characters À to ſ (shouldn't the down limit be much lower ?) + "%A": "[^a-zA-Z\u00C0-\u017F]", + + "%c": "[\u0000-\u001F]", // Control characters + "%C": "[^\u0000-\u001F]", + + "%d": "\\d", // all digit + "%D": "\\D", + + "%l": "[a-z\u00E0-\u00FF]", // lowercase letters + à to ÿ (below character 00FF, upper case and lowercase characters are mixed) + "%L": "[^a-z\u00E0-\u00FF]", + + "%p": "[,\?;\.:/\\!\(\)\[\]\{\}\"'#|%$`^@~&+*<>-]", // all punctuation + "%P": "[^,\?;\.:/\\!\(\)\[\]\{\}\"'#|%$`^@~&+*<>-]", + + "%s": "\\s", // all space characters + "%S": "\\S", + + "%u": "[A-Z\u00C0-\u00DF]", // uppercase letter + À to ß + "%U": "[^A-Z\u00C0-\u00DF]", + + "%w": "\\w", // all alphanum characters + "%W": "\\W", + + // escape special characters + "%\\.": "\\.", + "%\\^": "\\^", + "%\\$": "\\$", + "%\\(": "\\(", + "%\\)": "\\)", + "%\\[": "\\[", + "%\\]": "\\]", + "%\\*": "\\*", + "%\\+": "\\+", + "%\\-": "\\-", + "%\\?": "\\?", + "%%": "%", + }; + + for (var luaExp in replacements) { + pattern = pattern.replace(new RegExp(luaExp, "g"), replacements[luaExp]); + } + + return pattern; +} + +function get_balanced_match(s, pattern) { + var match = pattern.search(/%b.{1}.{1}/); // lua_pattern_to_regex() will leave balanced pattern untouched in the returned regex + if (match !== -1) { + var startChar = pattern[2]; + var endChar = pattern[3]; + var level = -1; + var startIndex = -1; + var startIndexes = []; + var endIndex = -1; + + for (var i in s) { + i = parseInt(i); + var _char = s[i]; + if (_char === startChar) { + startIndexes.push(i); + if (level < 0) { + startIndex = i; + level = 0; // in case one or more endChar were encountered first + } + level++; + } else if (_char === endChar) { + level--; + endIndex = i; + if (level === 0) { + break; + } + } + } + + if (level > 0) { // there was more startChar than endChar + startIndex = startIndexes[level]; + } + if (startIndex >= 0 && endIndex >= 0) { + return s.substring(startIndex, endIndex + 1); + } + } + return null; +} + +// string +lua_libs["string"] = { + "byte": function (s, i, j) { + s = check_string(s); + i = lua_tonumber(i); + j = lua_tonumber(j); + if (i == null) { + i = 1; + } + if (j == null) { + j = i; + } + i--; + j--; + var result = []; + while (i >= 0 && i <= j && i < s.length) { + result.push(s.charCodeAt(i++)); + } + return result; + }, + "char": function () { + return [String.fromCharCode.apply(null, arguments)]; + }, + "dump": function (func) { + not_supported(); + }, + "find": function (s, pattern, index, plain) { + s = check_string(s); + index = lua_tonumber(index); + if (index == null) { + index = 1; + } else if (index < 0) { + index = s.length + index; + } + index--; // -1 because Lua's arrays index starts at 1 instead of 0 + s = s.substr(index); + + if (plain == null || plain === false) { + pattern = lua_pattern_to_regex(pattern); + var match = get_balanced_match(s, pattern); + if (match !== null) { + pattern = match; + } else { + var matches = s.match(pattern); + if (matches !== null) { + pattern = matches[0]; + } else { + return [null]; + } + } + // pattern is now the matched string + } + + var start = s.indexOf(pattern); + var returnValues = [null]; + if (start != -1) { + returnValues = [start + index + 1, start + index + pattern.length]; + if (matches != null && matches[1] != null) { // string.find() returns the capture(s) (if any) after the indexes + returnValues = returnValues.concat(matches.slice(1)); + } + } + + return returnValues; + }, + "format": function () { + // sprintf.js, forked to match Lua's string.format() behavior and for use in lua.js + /* Copyright (c) 2007-2013, Alexandru Marasteanu + 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. */ + var sprintf = function() { + if (!sprintf.cache.hasOwnProperty(arguments[0])) { + sprintf.cache[arguments[0]] = sprintf.parse(arguments[0]); + } + return sprintf.format.call(null, sprintf.cache[arguments[0]], arguments); + }; + sprintf.cache = {}; + + sprintf.format = function(parse_tree, argv) { + var cursor = 1; + var tree_length = parse_tree.length; + var node_type = ''; + var arg; + var output = []; + var i; + var k; + var match; + var pad; + var pad_character; + var pad_length; + for (i = 0; i < tree_length; i++) { + node_type = get_type(parse_tree[i]); + if (node_type === 'string') { + output.push(parse_tree[i]); + } else if (node_type === 'array') { + match = parse_tree[i]; // convenience purposes only + if (match[2]) { // keyword argument + arg = argv[cursor]; + for (k = 0; k < match[2].length; k++) { + if (!arg.hasOwnProperty(match[2][k])) { + throw new Error('[string.format()] property "'+match[2][k]+'" does not exist'); + } + arg = arg[match[2][k]]; + } + } else if (match[1]) { // positional argument (explicit) + arg = argv[match[1]]; + } else { // positional argument (implicit) + arg = argv[cursor++]; + } + + if (/[^sq]/.test(match[8]) && (get_type(arg) != 'number')) { + throw new Error('[string.format()] expecting number but found '+get_type(arg)); + } + switch (match[8]) { + case 'c': + arg = String.fromCharCode(arg); + break; + case 'i': + case 'd': // int + arg = parseInt(arg, 10); + break; + case 'e': + arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(6); + break; + case 'E': + arg = match[7] ? arg.toExponential(match[7]).toUpperCase() : arg.toExponential(6).toUpperCase(); + break; + case 'f': // float + arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg).toFixed(6); + break; + case 'g': + case 'G': + arg = match[7] ? parseFloat(arg).toFixed(match[7] - 1) : parseFloat(arg).toFixed(5); + // in practice, g or G always return a float with 1 less digits after the coma than asked for (by default it's 5 instead of 6) + break; + case 'o': // octal + if (arg < 0) { + arg = 0xFFFFFFFF + arg + 1; + } + arg = arg.toString(8); + break; + case 'u': // unsigned integer + arg = arg >>> 0; + break; + case 'x': // hexadecimal + if (arg < 0) { + arg = 0xFFFFFFFF + arg + 1; + } + arg = arg.toString(16); + break; + case 'X': + if (arg < 0) { + arg = 0xFFFFFFFF + arg + 1; + } + arg = arg.toString(16).toUpperCase(); + break; + case 'q': + arg = '"'+((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg)+'"'; + break; + case 's': + arg = ((arg = String(arg)) && match[7] ? arg.substring(0, match[7]) : arg); + break; + default: + not_supported(); + } + if (/[eE]/.test(match[8])) { + //make the exponent (exp[2]) always at least 3 digit (ie : 3.14E+003) + var exp = /^(.+\+)(\d+)$/.exec(arg); + if (exp != null) { + if (exp[2].length == 1) { + arg = exp[1]+"00"+exp[2]; + } else if (exp[2].length == 2) { + arg = exp[1]+"0"+exp[2]; + } + } + } + arg = (/[dieEf]/.test(match[8]) && match[3] && arg >= 0 ? '+'+ arg : arg); + pad_character = match[4] ? match[4] == '0' ? '0' : match[4].charAt(1) : ' '; + pad_length = match[6] - String(arg).length; + pad = match[6] ? str_repeat(pad_character, pad_length) : ''; + output.push(match[5] ? arg + pad : pad + arg); + } + } + return output.join(''); + }; + + sprintf.parse = function(fmt) { // fmt = format string + var _fmt = fmt; + var match = []; + var parse_tree = []; + var arg_names = 0; + while (_fmt) { + // \x25 = % + if ((match = /^[^\x25]+/.exec(_fmt)) !== null) { // no % found + parse_tree.push(match[0]); + } else if ((match = /^\x25{2}/.exec(_fmt)) !== null) { // 2 consecutive % found + parse_tree.push('%'); + } else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([cdeEfgGiouxXqs])/.exec(_fmt)) !== null) { + if (match[2]) { + arg_names |= 1; + var field_list = []; + var replacement_field = match[2]; + var field_match = []; + if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') { + if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + } else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) { + field_list.push(field_match[1]); + } else { + throw new Error('[string.format()] No field_match found in replacement_field 1.'); + } + } + } else { + throw new Error('[string.format()] No field_match found in replacement_field 2.'); + } + match[2] = field_list; + } else { + arg_names |= 2; + } + if (arg_names === 3) { + throw new Error('[string.format()] mixing positional and named placeholders is not (yet) supported'); + } + parse_tree.push(match); + } else { + throw new Error('[string.format()] Format string "'+fmt+'" not recognized.'); + } + _fmt = _fmt.substring(match[0].length); + } + return parse_tree; + }; + + function get_type(variable) { + var type = typeof variable; + if (type == "object" && Object.prototype.toString.call(variable) == "[object Array]") { + type = "array"; + } + return type; + } + + function str_repeat(input, multiplier) { + for (var output = []; multiplier > 0; output[--multiplier] = input) {/* do nothing */} + return output.join(''); + } + + if (arguments.length > 0) { + arguments[0] = check_string(arguments[0]); + } + return [sprintf.apply(this, arguments)]; + }, + "gmatch": function (s, pattern) { + var lua_gmatch_next = function(data) { + var match = get_balanced_match(data.s, data.pattern); + if (match === null) { + var matches = data.s.match(data.pattern); + if (matches === null) { + return [null]; + } else { + if (matches[1] != null) { // if there was a capture, match[0] is the whole matched expression, match[1] the first capture + match = matches[1]; + } else { + match = matches[0]; + } + } + } + + data.s = data.s.substr(data.s.search(match) + match.length); + return [match]; + }; + + // an object is used to keep the modifs to the string accross calls to lua_gmatch_next() + return [lua_gmatch_next, {"s":check_string(s), "pattern":lua_pattern_to_regex(pattern)}]; + }, + "gsub": function (s, pattern, replacement, n) { + s = check_string(s); + n = lua_tonumber(n); + + pattern = lua_pattern_to_regex(pattern); + var regex = new RegExp(pattern); + + var replacementCount = 0; + var replacementType = typeof replacement; + if (replacementType == "string") { // replacement can be a function + replacement = replacement.replace(/%([0-9]+)/g, "$$$1"); + } + + var newS = ""; + var processMatch = function(match) { + var matchEndIndex = s.search(regex) + match.length; + var matchChunk = s.substr(0, matchEndIndex); + var newMatchChunk = ""; + + if (replacementType == "string") { + newMatchChunk = matchChunk.replace(regex, replacement); + } else if (replacementType == "function") { + var result = null; + // match is the whole expression matched by the pattern, now get captures + var matches = match.match(pattern); // not global to get the captures ! + + if (matches[1] != null) { + matches = matches.slice(1); + result = replacement.apply(null, matches)[0]; + } else { + result = replacement(match)[0]; // the function always returns an array + } + + if (result == null) { + newMatchChunk = matchChunk; + } else { + newMatchChunk = matchChunk.replace(regex, result); + } + } + newS += newMatchChunk; + s = s.substr(matchEndIndex); + + replacementCount++; + if (n !== null && replacementCount >= n) { + return false; // break + } + return true; + }; + + var match = get_balanced_match(s, pattern); + if (match !== null) { + var startChar = pattern[2]; + var endChar = pattern[3]; + // escape start and end char if they are special regex chars + var specialChars = ["[","]","(",")","{","}"]; // in this context it's not necessarily usefull to add others characters + if (specialChars.indexOf(startChar) !== -1) { + startChar = "\\"+startChar; + } + if (specialChars.indexOf(endChar) !== -1) { + endChar = "\\"+endChar; + } + + do { + match = get_balanced_match(s, pattern); + if (match === null) { + break; + } + regex = match.replace(new RegExp(startChar, "g"), startChar); + regex = regex.replace(new RegExp(endChar, "g"), endChar); + regex = new RegExp(regex); + } while (processMatch(match)); + } else { + var matches = s.match(new RegExp(pattern , 'g')); + + for (var i in matches) { + if (!processMatch(matches[i])) { + break; + } + } + } + + newS += s; + return [newS, replacementCount]; + }, + "len": function (s) { + return [check_string(s).length]; + }, + "lower": function (s) { + return [check_string(s).toLowerCase()]; + }, + "match": function (s, pattern, index) { + s = check_string(s); + index = lua_tonumber(index); + if (index === null) { + index = 1; + } else if (index < 0) { + index = s.length + index; + } + index--; + s = s.substr(index); + + pattern = lua_pattern_to_regex(pattern); + var match = get_balanced_match(s, pattern); + if (match === null) { + var matches = s.match(pattern); + if (matches !== null) { + if (matches[1] != null) { + match = matches[1]; + } else { + match = matches[0]; + } + } + } + return [match]; + }, + "rep": function (s, n) { + s = check_string(s); + n = lua_tonumber(n); + if (n !== null) { + var result = []; + while (n-- > 0) { + result.push(s); + } + return [result.join("")]; + } else { + throw new Error("Input not string and number"); + } + }, + "reverse": function (s) { + return [check_string(s).split("").reverse().join("")]; + }, + "sub": function (s, i, j) { + i = lua_tonumber(i); + j = lua_tonumber(j); + // thanks to ghoulsblade for pointing out the bugs in string.sub + i = i < 0 ? (i + s.length + 1) : (i >= 0 ? i : 0) + if (j == null) { + j = -1; + } + j = j < 0 ? (j + s.length + 1) : (j >= 0 ? j : 0) + if (i < 1) { + i = 1; + } + if (j > s.length) { + j = s.length; + } + if (i <= j) { + return [s.substr(i - 1, j - i + 1)]; + } else { + return [""]; + } + }, + "upper": function (s) { + return [check_string(s).toUpperCase()]; + } +}; + +// add string functions to every string +String.prototype["metatable"] = lua_newtable(null, "__index", lua_newtable2(lua_libs["string"])); + +// table +lua_libs["table"] = { + "concat": function (table, sep, i, j) { + if (sep == null) { + sep = ""; + } + if (i != null) { + if (j == null) { + j = table.uints.length; + } + return [table.uints.slice(i - 1, j).join(sep)]; + } else { + return [table.uints.join(sep)]; + } + }, + "insert": function (table, pos, value) { + if (arguments.length == 2) { + value = pos; + pos = table.uints.length + 1; + } + pos--; + if (table.uints[pos] == null) { + table.uints[pos] = value; + } else { + table.uints.splice(pos, 0, value); + } + if (table.length != null) { + table.length++; + } + return []; + }, + "maxn": function (table) { + var max = 0; + for (var i in table.uints) { + var val = parseFloat(i); + if (val > max) { + max = val; + } + } + return [max]; + }, + "remove": function (table, pos) { + if (pos == null) { + pos = table.uints.length; + } else { + pos = lua_assertfloat(pos); + } + if (table.uints.length) { + var value = table.uints[pos - 1]; + table.uints.splice(pos - 1, 1); + if (table.length != null) { + table.length--; + } + return [value]; + } else { + return []; + } + }, + "sort": function (table, comp) { + if (comp) { + table.uints.sort(function (a, b) { + return comp(a, b)[0] ? -1 : 1; + }); + } else { + table.uints.sort(function (a, b) { + return lua_lt(a, b) ? -1 : 1; + }); + } + return []; + } +}; + +// bit (based on BitOp ) +lua_libs["bit"] = { + "tobit": function (x) { + return [x << 0] + }, + "tohex": function (x, n) { + if (n > 0) { + var str = x.toString(16).substr(-n); + while (str.length < n) { + str = "0" + str; + } + return [str]; + } else if (n < 0) { + var str = x.toString(16).substr(n).toUpperCase(); + while (str.length < -n) { + str = "0" + str; + } + return [str]; + } else { + return [x.toString(16)] + } + }, + "bnot": function (x) { + return [~x]; + }, + "bor": function (x) { + x = lua_assertfloat(x); + for (var i = 1; i < arguments.length; i++) { + x |= arguments[i]; + } + return [x]; + }, + "band": function (x) { + x = lua_assertfloat(x); + for (var i = 1; i < arguments.length; i++) { + x &= arguments[i]; + } + return [x]; + }, + "bxor": function (x) { + x = lua_assertfloat(x); + for (var i = 1; i < arguments.length; i++) { + x ^= arguments[i]; + } + return [x]; + }, + "lshift": function (x, n) { + return [x << n]; + }, + "rshift": function (x, n) { + return [x >>> n]; + }, + "arshift": function (x, n) { + return [x >> n]; + }, + "rol": function (x, n) { + n &= 0xf; + return [(x << n) | (x >>> -n)]; + }, + "ror": function (x, n) { + n &= 0xf; + return [(x >>> n) | (x << -n)]; + }, + "bswap": function (x) { + // from Bit Twiddling hacks + x = ((x >> 1) & 0x55555555) | ((x & 0x55555555) << 1); + x = ((x >> 2) & 0x33333333) | ((x & 0x33333333) << 2); + x = ((x >> 4) & 0x0F0F0F0F) | ((x & 0x0F0F0F0F) << 4); + x = ((x >> 8) & 0x00FF00FF) | ((x & 0x00FF00FF) << 8); + x = (x >> 16) | (x << 16); + return [x]; + } +}; diff --git a/parser/luajs/lua_parser_umd.js b/parser/luajs/lua_parser_umd.js new file mode 100644 index 00000000..04d487d2 --- /dev/null +++ b/parser/luajs/lua_parser_umd.js @@ -0,0 +1,1441 @@ +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var lua_parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[7,20,27,29,30,31,32,33,34,36,40,44,47,48,50,52],$V1=[2,2],$V2=[7,30,33,47,48,50,52],$V3=[2,17],$V4=[1,18],$V5=[1,7],$V6=[1,9],$V7=[1,10],$V8=[1,11],$V9=[1,12],$Va=[1,13],$Vb=[1,14],$Vc=[1,17],$Vd=[7,30,33,50,52],$Ve=[2,3],$Vf=[2,10],$Vg=[1,24],$Vh=[2,14],$Vi=[2,21],$Vj=[1,40],$Vk=[1,33],$Vl=[1,34],$Vm=[1,35],$Vn=[1,36],$Vo=[1,38],$Vp=[1,41],$Vq=[1,42],$Vr=[1,43],$Vs=[1,44],$Vt=[1,45],$Vu=[20,27,29,30,31,32,33,34,36,40,44,47,48],$Vv=[2,8],$Vw=[7,14,20,22,27,29,30,31,32,33,34,36,40,43,44,47,48,50,52,53,55,57,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,80,81,85,86],$Vx=[2,13],$Vy=[2,41],$Vz=[1,61],$VA=[1,58],$VB=[1,60],$VC=[1,63],$VD=[1,59],$VE=[7,14,20,22,25,27,29,30,31,32,33,34,36,38,40,43,44,47,48,50,52,53,55,57,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,80,81,85,86],$VF=[2,91],$VG=[7,14,30,33,50,52],$VH=[7,14,20,27,29,30,31,32,33,34,36,40,44,47,48,50,52],$VI=[7,14,20,25,27,29,30,31,32,33,34,36,38,40,44,47,48,50,52],$VJ=[1,79],$VK=[1,80],$VL=[1,81],$VM=[1,82],$VN=[1,83],$VO=[1,84],$VP=[1,85],$VQ=[1,86],$VR=[1,87],$VS=[1,88],$VT=[1,89],$VU=[1,90],$VV=[1,91],$VW=[1,92],$VX=[1,93],$VY=[7,14,20,22,27,29,30,31,32,33,34,36,38,40,44,47,48,50,52,53,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,81,86],$VZ=[1,104],$V_=[1,105],$V$=[7,14,20,22,27,29,30,31,32,33,34,36,38,40,43,44,47,48,50,52,53,55,57,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,80,81,85,86],$V01=[30,50,52],$V11=[20,43,55],$V21=[1,123],$V31=[7,14,20,22,27,29,30,31,32,33,34,36,38,40,44,47,48,50,52],$V41=[2,40],$V51=[7,14,20,22,27,29,30,31,32,33,34,36,38,40,44,47,48,50,52,53,62,63,68,69,70,71,72,73,74,75,76,81,86],$V61=[7,14,20,22,27,29,30,31,32,33,34,36,38,40,44,47,48,50,52,53,62,63,64,65,67,68,69,70,71,72,73,74,75,76,81,86],$V71=[14,38,81],$V81=[25,38,39],$V91=[7,14,20,22,27,29,30,31,32,33,34,36,38,40,44,47,48,50,52,53,69,70,71,72,73,74,75,76,81,86],$Va1=[1,169],$Vb1=[20,40,44,56,57,58,59,61,63,77,78,79,80,85],$Vc1=[22,38],$Vd1=[1,192]; +var parser = {trace: function trace() { }, +yy: {}, +symbols_: {"error":2,"script":3,"indent":4,"chunk":5,"unindent":6,"EOF":7,"funcindent":8,"funcunindent":9,"block":10,"loopblock":11,"setinloop":12,"semi":13,";":14,"statlist":15,"laststat":16,"prefixexp":17,"var":18,"functioncall":19,"(":20,"exp":21,")":22,"stat":23,"varlist":24,"=":25,"explist":26,"LOCAL":27,"namelist":28,"DO":29,"END":30,"WHILE":31,"REPEAT":32,"UNTIL":33,"IF":34,"conds":35,"FOR":36,"namelist_setlocals":37,",":38,"IN":39,"FUNCTION":40,"funcname":41,"funcbody":42,":":43,"NAME":44,"mfuncbody":45,"name_setlocals":46,"RETURN":47,"BREAK":48,"condlist":49,"ELSE":50,"cond":51,"ELSEIF":52,"THEN":53,"arglist":54,".":55,"NUMBER":56,"STRING":57,"TRUE":58,"FALSE":59,"tableconstructor":60,"NIL":61,"+":62,"-":63,"*":64,"/":65,"^":66,"%":67,"..":68,"<":69,">":70,"<=":71,">=":72,"==":73,"~=":74,"AND":75,"OR":76,"NOT":77,"#":78,"...":79,"{":80,"}":81,"fieldlist":82,"fieldsepend":83,"addself":84,"[":85,"]":86,"args":87,"field":88,"fieldsep":89,"$accept":0,"$end":1}, +terminals_: {2:"error",7:"EOF",14:";",20:"(",22:")",25:"=",27:"LOCAL",29:"DO",30:"END",31:"WHILE",32:"REPEAT",33:"UNTIL",34:"IF",36:"FOR",38:",",39:"IN",40:"FUNCTION",43:":",44:"NAME",47:"RETURN",48:"BREAK",50:"ELSE",52:"ELSEIF",53:"THEN",55:".",56:"NUMBER",57:"STRING",58:"TRUE",59:"FALSE",61:"NIL",62:"+",63:"-",64:"*",65:"/",66:"^",67:"%",68:"..",69:"<",70:">",71:"<=",72:">=",73:"==",74:"~=",75:"AND",76:"OR",77:"NOT",78:"#",79:"...",80:"{",81:"}",85:"[",86:"]"}, +productions_: [0,[3,4],[4,0],[6,0],[8,1],[9,1],[10,3],[11,4],[12,0],[13,1],[13,0],[5,1],[5,3],[17,1],[17,1],[17,3],[15,3],[15,0],[23,3],[23,4],[23,2],[23,1],[23,3],[23,5],[23,4],[23,3],[23,11],[23,13],[23,9],[23,3],[23,5],[23,4],[16,2],[16,1],[16,1],[35,1],[35,3],[49,1],[49,3],[51,3],[24,3],[24,1],[26,3],[26,1],[37,3],[37,1],[28,3],[28,1],[46,1],[54,3],[54,1],[41,3],[41,1],[21,1],[21,1],[21,1],[21,1],[21,1],[21,1],[21,1],[21,2],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,2],[21,2],[21,2],[21,1],[60,2],[60,4],[42,6],[42,7],[42,7],[42,9],[45,7],[45,8],[45,8],[45,10],[84,0],[18,1],[18,4],[18,3],[19,2],[19,4],[87,3],[87,2],[87,1],[87,1],[82,1],[82,3],[88,1],[88,3],[88,5],[89,1],[89,1],[83,1],[83,1],[83,0]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 1: + + return "var tmp;\n" + + "var G = lua_newtable2(lua_core);\n" + + "for (var i in lua_libs) {\n" + + " G.str[i] = lua_newtable2(lua_libs[i]);\n" + + "}\n" + + "G.str['arg'] = lua_newtable();\n" + + "G.str['_G'] = G;\n" + + "G.str['module'] = function (name) {\n" + + " lua_createmodule(G, name, slice(arguments, 1));\n" + + "};\n" + + "G.str['require'] = function (name) {\n" + + " lua_require(G, name);\n" + + "};\n" + + "G.str['package'].str['seeall'] = function (module) {\n" + + " if (!module.metatable) {\n" + + " module.metatable = lua_newtable();\n" + + " }\n" + + " module.metatable.str['__index'] = G;\n" + + "};\n" + + "{\n" + + $$[$0-2].simple_form + "\n" + + "};\n" + + "return [G];"; + +break; +case 2: + + var localsCopy = {} + for (var i in locals) { + localsCopy[i] = locals[i]; + } + stack.push({locals: localsCopy, blockId: blockId, inLoop: inLoop}); + + indentLevel++; + blockIdMax++; + this.$ = blockId = blockIdMax; + +break; +case 3: + + var stackData = stack.pop(); + indentLevel--; + locals = stackData.locals; + inLoop = stackData.inLoop; + if (!inLoop) { + functionBlockAdded = false; + } + this.$ = blockId = stackData.blockId; + +break; +case 4: + + functionBlockAdded = false; + inLoop = false; + this.$ = $$[$0]; + +break; +case 5: + + functionBlockAdded = true; + this.$ = $$[$0]; + +break; +case 6: + this.$ = $$[$0-1] +break; +case 7: + + // if a function is declared inside of a loop, there are some differences + // with how variables behave due to the difference in scoping in JS and Lua + // by wrapping a loop block in a function call, we resolve these problems, but it + // is only necessary for situations where functions are declared inside of a loop + + if (functionBlockAdded) { + this.$ = { + block: $$[$0-1].varfix_form || $$[$0-1].simple_form, + use_function_block: true + }; + } else { + this.$ = {block: $$[$0-1].simple_form}; + } + +break; +case 8: + inLoop = true; +break; +case 9: case 10: case 105: case 106: case 107: case 108: + +break; +case 11: + + this.$ = {simple_form: indentStatlist($$[$0].simple_form)}; + if ($$[$0].varfix_form) { + this.$.varfix_form = indentStatlist($$[$0].varfix_form); + } + +break; +case 12: + + this.$ = {simple_form: indentStatlist($$[$0-2].simple_form, $$[$0-1].simple_form)}; + if ($$[$0-2].varfix_form || $$[$0-1].varfix_form) { + this.$.varfix_form = indentStatlist( + $$[$0-2].varfix_form || $$[$0-2].simple_form, $$[$0-1].varfix_form || $$[$0-1].simple_form); + } + +break; +case 13: + + if ($$[$0].access) { + this.$ = {single: "lua_tableget(" + $$[$0].prefixexp + ", " + $$[$0].access + ")", single_tableget: $$[$0]}; + } else { + this.$ = {single: $$[$0].prefixexp}; + } + +break; +case 14: + this.$ = {single: $$[$0] + "[0]", endmulti: $$[$0]}; +break; +case 15: + this.$ = {single: "(" + $$[$0-1].single + ")", simple_form: $$[$0-1].simple_form}; +break; +case 16: + + if ($$[$0].simple_form) { + this.$ = {simple_form: $$[$0-2].simple_form + "\n" + $$[$0].simple_form}; + if ($$[$0-2].varfix_form || $$[$0].varfix_form) { + this.$.varfix_form = ($$[$0-2].varfix_form || $$[$0-2].simple_form) + "\n" + ($$[$0].varfix_form || $$[$0].simple_form); + } + } else { + this.$ = $$[$0-2]; + } + +break; +case 17: + this.$ = {simple_form: ""}; +break; +case 18: + + var tmp; + if ($$[$0-2].length == 1) { + // avoid tmp entirely for certain situations + if ($$[$0].exps.length == 1) { + if ($$[$0-2][0].access) { + tmp = "lua_tableset(" + $$[$0-2][0].prefixexp + ", " + $$[$0-2][0].access + ", " + $$[$0].exps[0] + ");"; + } else { + tmp = $$[$0-2][0].prefixexp + " = " + $$[$0].exps[0] + ";"; + } + } else { + if ($$[$0-2][0].access) { + tmp = "lua_tableset(" + $$[$0-2][0].prefixexp + ", " + $$[$0-2][0].access + ", " + getTempDecl($$[$0]) + "[0]);"; + } else { + tmp = $$[$0-2][0].prefixexp + " = " + getTempDecl($$[$0]) + "[0];"; + } + } + } else { + tmp = "tmp = " + getTempDecl($$[$0]) + "; "; + for (var i = 0; i < $$[$0-2].length; i++) { + if ($$[$0-2][i].access) { + tmp += "lua_tableset(" + $$[$0-2][i].prefixexp + ", " + $$[$0-2][i].access + ", tmp[" + i + "]); "; + } else { + tmp += $$[$0-2][i].prefixexp + " = tmp[" + i + "]; "; + } + } + tmp += "tmp = null;"; + } + this.$ = {simple_form: tmp}; + +break; +case 19: + + var tmp; + $$[$0-2] = setLocals($$[$0-2]); + if ($$[$0-2].length == 1) { + // avoid tmp entirely for certain situations + if ($$[$0].exps.length == 1) { + tmp = "var " + $$[$0-2][0] + " = " + $$[$0].exps[0] + ";"; + } else { + tmp = "var " + $$[$0-2][0] + " = " + getTempDecl($$[$0]) + "[0];"; + } + } else { + tmp = "tmp = " + getTempDecl($$[$0]) + "; "; + for (var i = 0; i < $$[$0-2].length; i++) { + tmp += "var " + $$[$0-2][i] + " = tmp[" + i + "]; "; + } + tmp += "tmp = null;"; + } + this.$ = {simple_form: tmp}; + +break; +case 20: + this.$ = {simple_form: "var " + setLocals($$[$0]).join(", ") + ";"}; +break; +case 21: + this.$ = {simple_form: $$[$0] + ";"}; +break; +case 22: + + this.$ = {simple_form: "// do\n" + $$[$0-1].simple_form + "\n// end"}; + if ($$[$0-1].varfix_form) { + this.$.varfix_form = "// do\n" + $$[$0-1].varfix_form + "\n// end"; + } + +break; +case 23: + this.$ = {simple_form: "while (" + getIfExp($$[$0-3]) + ") " + autoFunctionBlock($$[$0-1])}; +break; +case 24: + this.$ = {simple_form: "do " + autoFunctionBlock($$[$0-2]) + " while (!(" + getIfExp($$[$0]) + "));"}; +break; +case 25: + + this.$ = $$[$0-1] + +break; +case 26: + + if ($$[$0-8].length != 1) { + throw new Error("Only one value allowed in for..= loop"); + } + if ($$[$0-2].use_function_block) { + this.$ = {simple_form: "var var_" + $$[$0-9] + " = " + autoAssertFloat($$[$0-6]) + ", " + + "stop_" + $$[$0-9] + " = " + autoAssertFloat($$[$0-4]) + ";\n" + + "for (; var_" + $$[$0-9] + " <= stop_" + $$[$0-9] + "; var_" + $$[$0-9] + "++) (function() {\n" + + " var " + $$[$0-8][0] + " = var_" + $$[$0-9] + ";\n" + + $$[$0-2].block + "\n" + + "})();"}; + } else { + this.$ = {simple_form: "var var_" + $$[$0-9] + " = " + autoAssertFloat($$[$0-6]) + ", " + + "stop_" + $$[$0-9] + " = " + autoAssertFloat($$[$0-4]) + ";\n" + + "for (; var_" + $$[$0-9] + " <= stop_" + $$[$0-9] + "; var_" + $$[$0-9] + "++) {\n" + + " var " + $$[$0-8][0] + " = var_" + $$[$0-9] + ";\n" + + $$[$0-2].block + + "\n}"}; + } + +break; +case 27: + + if ($$[$0-10].length != 1) { + throw new Error("Only one value allowed in for..= loop"); + } + + var tmp = "var var_" + $$[$0-11] + " = " + autoAssertFloat($$[$0-8]) + ", " + + "stop_" + $$[$0-11] + " = " + autoAssertFloat($$[$0-6]) + ", " + + "step_" + $$[$0-11] + " = " + autoAssertFloat($$[$0-4]) + ";\n" + + "for (; step_" + $$[$0-11] + " > 0 ? var_" + $$[$0-11] + " <= stop_" + $$[$0-11] + " : var_" + $$[$0-11] + " >= stop_" + $$[$0-11] + "; var_" + $$[$0-11] + " += step_" + $$[$0-11] + ") "; + if ($$[$0-2].use_function_block) { + tmp += "(function () {\n"; + } else { + tmp += "{\n"; + } + tmp += " var " + $$[$0-10][0] + " = var_" + $$[$0-11] + ";\n" + + $$[$0-2].block + "\n"; + if ($$[$0-2].use_function_block) { + tmp += "\n})();"; + } else { + tmp += "\n}"; + } + this.$ = {simple_form: tmp}; + +break; +case 28: + + var tmp; + tmp = "tmp = " + getTempDecl($$[$0-4]) + ";\n" + + "var f_" + $$[$0-7] + " = tmp[0], " + + "s_" + $$[$0-7] + " = tmp[1], " + + "var_" + $$[$0-7] + " = tmp[2];\n"; + + if ($$[$0-6].length == 1 && !$$[$0-2].use_function_block) { + // simple form of this loop that works in certain situations + tmp += "tmp = null;\n" + + "while ((var_" + $$[$0-7] + " = lua_call(f_" + $$[$0-7] + ", [s_" + $$[$0-7] + ", var_" + $$[$0-7] + "])[0]) != null) {\n" + + " var " + $$[$0-6][0] + " = var_" + $$[$0-7] + ";\n" + + $$[$0-2].block + + "\n}"; + } else { + tmp += "while ((tmp = lua_call(f_" + $$[$0-7] + ", [s_" + $$[$0-7] + ", var_" + $$[$0-7] + "]))[0] != null) "; + if ($$[$0-2].use_function_block) { + tmp += "(function () {\n"; + } else { + tmp += "{\n"; + } + tmp += " var_" + $$[$0-7] + " = tmp[0];\n" + + " var " + $$[$0-6][0] + " = var_" + $$[$0-7]; + for (var i = 1; i < $$[$0-6].length; i++) { + tmp += ", " + $$[$0-6][i] + " = tmp[" + i + "]"; + } + tmp += ";\n" + + " tmp = null;\n" + + $$[$0-2].block + "\n"; + if ($$[$0-2].use_function_block) { + tmp += "})();"; + } else { + tmp += "}"; + } + tmp += "\ntmp = null;"; + } + this.$ = {simple_form: tmp}; + +break; +case 29: + + var tmp = getLocal($$[$0-1][0], "G.str['" + $$[$0-1][0] + "']"); + if ($$[$0-1].length > 1) { + for (var i = 1; i < $$[$0-1].length - 1; i++) { + tmp = "lua_tableget(" + tmp + ", '" + $$[$0-1][i] + "')"; + } + this.$ = {simple_form: "lua_tableset(" + tmp + ", '" + $$[$0-1][i] + "', " + $$[$0] + ")"}; + } else { + this.$ = {simple_form: tmp + " = " + $$[$0]}; + } + +break; +case 30: + + var tmp = getLocal($$[$0-3][0], "G.str['" + $$[$0-3][0] + "']"); + for (var i = 1; i < $$[$0-3].length; i++) { + tmp = "lua_tableget(" + tmp + ", '" + $$[$0-3][i] + "')"; + } + this.$ = {simple_form: "lua_tableset(" + tmp + ", '" + $$[$0-1] + "', " + $$[$0] + ")"}; + +break; +case 31: + + this.$ = {simple_form: "var " + $$[$0-1] + " = " + $$[$0] + ";"}; + +break; +case 32: + + this.$ = { + simple_form: "return " + getTempDecl($$[$0]) + ";", + varfix_form: "throw new ReturnValues(" + getTempDecl($$[$0]) + ");" + }; + +break; +case 33: + + this.$ = { + simple_form: "return [];", + varfix_form: "throw new ReturnValues();" + }; + +break; +case 34: + + this.$ = { + simple_form: "break;", + varfix_form: "return;" + }; + +break; +case 35: case 37: + + this.$ = $$[$0]; + +break; +case 36: + + this.$ = {simple_form: $$[$0-2].simple_form + " else {\n" + $$[$0].simple_form + "\n}"}; + if ($$[$0-2].varfix_form || $$[$0].varfix_form) { + this.$.varfix_form = ($$[$0-2].varfix_form || $$[$0-2].simple_form) + " else {\n" + ($$[$0].varfix_form || $$[$0].simple_form) + "\n}"; + } + +break; +case 38: + + this.$ = {simple_form: $$[$0-2].simple_form + " else " + $$[$0].simple_form}; + if ($$[$0-2].varfix_form || $$[$0].varfix_form) { + this.$.varfix_form = ($$[$0-2].varfix_form || $$[$0-2].simple_form) + " else " + ($$[$0].varfix_form || $$[$0].simple_form) + } + +break; +case 39: + + this.$ = {simple_form: "if (" + getIfExp($$[$0-2]) + ") {\n" + $$[$0].simple_form + "\n}"}; + if ($$[$0].varfix_form) { + this.$.varfix_form = "if (" + getIfExp($$[$0-2]) + ") {\n" + $$[$0].varfix_form + "\n}"; + } + +break; +case 40: case 46: case 51: + this.$ = $$[$0-2].concat([$$[$0]]); +break; +case 41: case 47: case 52: + this.$ = [$$[$0]]; +break; +case 42: + this.$ = {exps: $$[$0-2].exps.concat([$$[$0].single]), endmulti: $$[$0].endmulti}; +break; +case 43: + this.$ = {exps: [$$[$0].single], endmulti: $$[$0].endmulti}; +break; +case 44: + this.$ = $$[$0-2].concat([setLocal($$[$0])]); +break; +case 45: + this.$ = [setLocal($$[$0])]; +break; +case 48: + this.$ = setLocal($$[$0]); +break; +case 49: + this.$ = $$[$0-2].concat([setLocal($$[$0], "_" + $$[$0])]); +break; +case 50: + this.$ = [setLocal($$[$0], "_" + $$[$0])]; +break; +case 53: + this.$ = {single: $$[$0], is_number: true}; +break; +case 54: case 57: + this.$ = {single: $$[$0]}; +break; +case 55: + this.$ = {single: 'true', simple_form: 'true'}; +break; +case 56: + this.$ = {single: 'false', simple_form: 'false'}; +break; +case 58: + this.$ = {single: 'null', simple_form: 'null'}; +break; +case 59: case 100: + this.$ = $$[$0]; +break; +case 60: + + this.$ = {single: $$[$0]}; + +break; +case 61: + + if ($$[$0-2].is_number && $$[$0].is_number) { + this.$ = {single: '(' + $$[$0-2].single + ' + ' + $$[$0].single + ')', is_number: true}; + } else { + this.$ = {single: 'lua_add(' + $$[$0-2].single + ', ' + $$[$0].single + ')'}; + } + +break; +case 62: + + if ($$[$0-2].is_number && $$[$0].is_number) { + this.$ = {single: '(' + $$[$0-2].single + ' - ' + $$[$0].single + ')', is_number: true}; + } else { + this.$ = {single: 'lua_subtract(' + $$[$0-2].single + ', ' + $$[$0].single + ')'}; + } + +break; +case 63: + + if ($$[$0-2].is_number && $$[$0].is_number) { + this.$ = {single: '(' + $$[$0-2].single + ' * ' + $$[$0].single + ')', is_number: true}; + } else { + this.$ = {single: 'lua_multiply(' + $$[$0-2].single + ', ' + $$[$0].single + ')'}; + } + +break; +case 64: + + if ($$[$0-2].is_number && $$[$0].is_number) { + this.$ = {single: '(' + $$[$0-2].single + ' / ' + $$[$0].single + ')', is_number: true}; + } else { + this.$ = {single: 'lua_divide(' + $$[$0-2].single + ', ' + $$[$0].single + ')'}; + } + +break; +case 65: + + if ($$[$0-2].is_number && $$[$0].is_number) { + this.$ = {single: 'Math.pow(' + $$[$0-2].single + ', ' + $$[$0].single + ')', is_number: true}; + } else { + this.$ = {single: 'lua_power(' + $$[$0-2].single + ', ' + $$[$0].single + ')'}; + } + +break; +case 66: + this.$ = {single: 'lua_mod(' + $$[$0-2].single + ', ' + $$[$0].single + ')'}; +break; +case 67: + this.$ = {single: 'lua_concat(' + $$[$0-2].single + ', ' + $$[$0].single + ')'}; +break; +case 68: + + this.$ = { + single: 'lua_lt(' + $$[$0-2].single + ', ' + $$[$0].single + ')', + simple_form: 'lua_lt(' + $$[$0-2].single + ', ' + $$[$0].single + ')' + }; + +break; +case 69: + + this.$ = { + single: 'lua_lt(' + $$[$0].single + ', ' + $$[$0-2].single + ')', + simple_form: 'lua_lt(' + $$[$0].single + ', ' + $$[$0-2].single + ')' + }; + +break; +case 70: + + this.$ = { + single: 'lua_lte(' + $$[$0-2].single + ', ' + $$[$0].single + ')', + simple_form: 'lua_lte(' + $$[$0-2].single + ', ' + $$[$0].single + ')' + }; + +break; +case 71: + + this.$ = { + single: 'lua_lte(' + $$[$0].single + ', ' + $$[$0-2].single + ')', + simple_form: 'lua_lte(' + $$[$0].single + ', ' + $$[$0-2].single + ')' + }; + +break; +case 72: + + this.$ = { + single: 'lua_eq(' + $$[$0-2].single + ', ' + $$[$0].single + ')', + simple_form: 'lua_eq(' + $$[$0-2].single + ', ' + $$[$0].single + ')' + }; + +break; +case 73: + + this.$ = { + single: '!lua_eq(' + $$[$0-2].single + ', ' + $$[$0].single + ')', + simple_form: '!lua_eq(' + $$[$0-2].single + ', ' + $$[$0].single + ')' + }; + +break; +case 74: + + this.$ = { + single: 'lua_and(' + $$[$0-2].single + ', function () {return ' + $$[$0].single + ';})', + simple_form: '(' + getIfExp($$[$0-2]) + ' && ' + getIfExp($$[$0]) + ')' + }; + +break; +case 75: + + this.$ = { + single: 'lua_or(' + $$[$0-2].single + ', function () {return ' + $$[$0].single + ';})', + simple_form: '(' + getIfExp($$[$0-2]) + ' || ' + getIfExp($$[$0]) + ')' + }; + +break; +case 76: + this.$ = {single: $$[$0].is_number ? ('-' + $$[$0].single) : ('lua_unm(' + $$[$0].single + ')'), is_number: $$[$0].is_number}; +break; +case 77: + + this.$ = { + single: 'lua_not(' + $$[$0].single + ')', + simple_form: 'lua_not(' + $$[$0].single + ')' + }; + +break; +case 78: + this.$ = {single: 'lua_len(' + $$[$0].single + ')'}; +break; +case 79: + this.$ = {single: 'varargs[0]', endmulti: 'varargs'}; +break; +case 80: + this.$ = "lua_newtable()"; +break; +case 81: + + this.$ = "lua_newtable(" + getTempDecl($$[$0-2]); + if ($$[$0-2].keyed) { + for (var i in $$[$0-2].keyed) { + this.$ += ", " + $$[$0-2].keyed[i][0] + ", " + $$[$0-2].keyed[i][1]; + } + } + this.$ += ")"; + +break; +case 82: + this.$ = createFunction([], $$[$0-2]); +break; +case 83: + this.$ = createFunction($$[$0-4], $$[$0-2]); +break; +case 84: + this.$ = createFunction([], $$[$0-2], true); +break; +case 85: + this.$ = createFunction($$[$0-6], $$[$0-2], true); +break; +case 86: + this.$ = createFunction(["self"], $$[$0-2]); +break; +case 87: + this.$ = createFunction(["self"].concat($$[$0-4]), $$[$0-2]); +break; +case 88: + this.$ = createFunction(["self"], $$[$0-2], true); +break; +case 89: + this.$ = createFunction(["self"].concat($$[$0-6]), $$[$0-2], true); +break; +case 90: + setLocal("self", "self") +break; +case 91: + this.$ = {prefixexp: getLocal($$[$0], "G.str['" + $$[$0] + "']")}; +break; +case 92: + this.$ = {prefixexp: $$[$0-3].single, access: $$[$0-1].single}; +break; +case 93: + this.$ = {prefixexp: $$[$0-2].single, access: "'" + $$[$0] + "'"}; +break; +case 94: + + if ($$[$0-1].single_tableget) { + this.$ = "lua_tablegetcall(" + $$[$0-1].single_tableget.prefixexp + ", " + $$[$0-1].single_tableget.access + ", " + getTempDecl($$[$0]) + ")"; + } else { + this.$ = "lua_call(" + $$[$0-1].single + ", " + getTempDecl($$[$0]) + ")"; + } + +break; +case 95: + this.$ = "lua_mcall(" + $$[$0-3].single + ", '" + $$[$0-1] + "', " + getTempDecl($$[$0]) + ")"; +break; +case 96: + this.$ = $$[$0-1]; +break; +case 97: + this.$ = {exps: []}; +break; +case 98: case 99: + this.$ = {exps: [$$[$0]]}; +break; +case 101: + + this.$ = { + keyed: $$[$0-2].keyed.concat($$[$0].keyed), + exps: $$[$0-2].exps.concat($$[$0].exps), + endmulti: $$[$0].endmulti + }; + +break; +case 102: + this.$ = {keyed: [], exps: [$$[$0].single], endmulti: $$[$0].endmulti}; +break; +case 103: + this.$ = {keyed: [["'" + $$[$0-2] + "'", $$[$0].single]], exps: []}; +break; +case 104: + this.$ = {keyed: [[$$[$0-3].single, $$[$0].single]], exps: []}; +break; +} +}, +table: [o($V0,$V1,{3:1,4:2}),{1:[3]},o($V2,$V3,{5:3,15:4,23:5,24:6,19:8,18:15,17:16,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),o($Vd,$Ve,{6:19}),o($Vd,[2,11],{16:20,47:[1,21],48:[1,22]}),o($V0,$Vf,{13:23,14:$Vg}),{25:[1,25],38:[1,26]},{28:27,40:[1,28],44:[1,29]},o([22,38,43,53,55,57,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,80,81,85,86],$Vh,{7:$Vi,14:$Vi,20:$Vi,27:$Vi,29:$Vi,30:$Vi,31:$Vi,32:$Vi,33:$Vi,34:$Vi,36:$Vi,40:$Vi,44:$Vi,47:$Vi,48:$Vi,50:$Vi,52:$Vi}),o($V0,$V1,{10:30,4:31}),{17:39,18:46,19:47,20:$V4,21:32,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},o($Vu,$Vv,{11:48,12:49}),{17:39,18:46,19:47,20:$V4,21:53,35:50,40:$Vj,44:$Vc,49:51,51:52,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},o($V0,$V1,{4:54}),{41:55,44:[1,56]},o($Vw,$Vx,{25:$Vy,38:$Vy}),{20:$Vz,43:$VA,55:$VB,57:$VC,60:62,80:$Vt,85:$VD,87:57},o($VE,$VF),{17:39,18:46,19:47,20:$V4,21:64,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{7:[1,65]},o($V0,$Vf,{13:66,14:$Vg}),o($VG,[2,33],{60:37,17:39,18:46,19:47,26:67,21:68,20:$V4,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt}),o($VG,[2,34]),o($V2,$V3,{23:5,24:6,19:8,18:15,17:16,15:69,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),o($V0,[2,9]),{17:39,18:46,19:47,20:$V4,21:68,26:70,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:16,18:71,19:47,20:$V4,44:$Vc},o($VH,[2,20],{25:[1,72],38:[1,73]}),{44:[1,75],46:74},o($VI,[2,47]),{30:[1,76]},o($V2,$V3,{15:4,23:5,24:6,19:8,18:15,17:16,5:77,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),{29:[1,78],62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX},o($VY,[2,53]),o($VY,[2,54]),o($VY,[2,55]),o($VY,[2,56]),o($VY,[2,57]),o($VY,[2,58]),o([7,14,22,27,29,30,31,32,33,34,36,38,40,44,47,48,50,52,53,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,81,86],[2,59],{87:57,60:62,20:$Vz,43:$VA,55:$VB,57:$VC,80:$Vt,85:$VD}),o($V0,$V1,{42:94,8:95,4:96}),{17:39,18:46,19:47,20:$V4,21:97,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:98,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:99,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},o($VY,[2,79]),{17:39,18:46,19:47,20:$V4,21:103,40:$Vj,44:$VZ,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt,81:[1,100],82:101,85:$V_,88:102},o($V$,$Vx),o($V$,$Vh),{33:[1,106]},o($V0,$V1,{4:107}),{30:[1,108]},{30:[2,35],50:[1,109],52:[1,110]},o($V01,[2,37]),{53:[1,111],62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX},{37:112,44:[1,113]},o($V0,$V1,{8:95,4:96,42:114,43:[1,115],55:[1,116]}),o($V11,[2,52]),o($V$,[2,94]),{44:[1,117]},{17:39,18:46,19:47,20:$V4,21:118,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{44:[1,119]},{17:39,18:46,19:47,20:$V4,21:68,22:[1,121],26:120,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},o($V$,[2,98]),o($V$,[2,99]),{22:[1,122],62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX},{1:[2,1]},o($Vd,[2,12]),o($VG,[2,32],{38:$V21}),o($V31,[2,43],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX}),o($V2,[2,16]),o($VH,[2,18],{38:$V21}),o($Vw,$Vx,{25:$V41,38:$V41}),{17:39,18:46,19:47,20:$V4,21:68,26:124,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{44:[1,125]},o($V0,$V1,{8:95,4:96,42:126}),{20:[2,48]},o($VH,[2,22]),o($Vd,$Ve,{6:127}),o($Vu,$Vv,{12:49,11:128}),{17:39,18:46,19:47,20:$V4,21:129,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:130,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:131,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:132,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:133,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:134,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:135,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:136,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:137,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:138,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:139,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:140,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:141,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:142,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:143,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},o($VY,[2,60]),{20:[1,144]},{20:[2,4]},o($V51,[2,76],{64:$VL,65:$VM,66:$VN,67:$VO}),o($V61,[2,77],{66:$VN}),o($V61,[2,78],{66:$VN}),o($V$,[2,80]),{14:[1,147],38:[1,148],81:[2,109],83:145,89:146},o($V71,[2,100]),o($V71,[2,102],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX}),o($V$,$VF,{25:[1,149]}),{17:39,18:46,19:47,20:$V4,21:150,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:151,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},o($V2,$V3,{15:4,23:5,24:6,19:8,18:15,17:16,5:152,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),o($VH,[2,25]),o($V0,$V1,{4:31,10:153}),{17:39,18:46,19:47,20:$V4,21:53,40:$Vj,44:$Vc,51:154,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},o($V0,$V1,{4:31,10:155}),{25:[1,156],38:[1,158],39:[1,157]},o($V81,[2,45]),o($VH,[2,29]),{44:[1,159]},{44:[1,160]},{20:$Vz,57:$VC,60:62,80:$Vt,87:161},{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX,86:[1,162]},o($VE,[2,93]),{22:[1,163],38:$V21},o($V$,[2,97]),o($V$,[2,15]),{17:39,18:46,19:47,20:$V4,21:164,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},o($VH,[2,19],{38:$V21}),o($VI,[2,46]),o($VH,[2,31]),o($V01,[2,6]),{30:[1,165]},o($V51,[2,61],{64:$VL,65:$VM,66:$VN,67:$VO}),o($V51,[2,62],{64:$VL,65:$VM,66:$VN,67:$VO}),o($V61,[2,63],{66:$VN}),o($V61,[2,64],{66:$VN}),o($V61,[2,65],{66:$VN}),o($V61,[2,66],{66:$VN}),o($V91,[2,67],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP}),o($V91,[2,68],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP}),o($V91,[2,69],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP}),o($V91,[2,70],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP}),o($V91,[2,71],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP}),o($V91,[2,72],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP}),o($V91,[2,73],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP}),o([7,14,20,22,27,29,30,31,32,33,34,36,38,40,44,47,48,50,52,53,75,76,81,86],[2,74],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV}),o([7,14,20,22,27,29,30,31,32,33,34,36,38,40,44,47,48,50,52,53,76,81,86],[2,75],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW}),{22:[1,166],44:$Va1,54:167,79:[1,168]},{81:[1,170]},{17:39,18:46,19:47,20:$V4,21:103,40:$Vj,44:$VZ,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt,85:$V_,88:171},o($Vb1,[2,105],{81:[2,107]}),o($Vb1,[2,106],{81:[2,108]}),{17:39,18:46,19:47,20:$V4,21:172,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX,86:[1,173]},o($VH,[2,24],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX}),o($Vd,$Ve,{6:174}),{30:[2,36]},o($V01,[2,38]),o($V01,[2,39]),{17:39,18:46,19:47,20:$V4,21:175,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:68,26:176,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{44:[1,177]},o($V0,$V1,{4:96,45:178,8:179}),o($V11,[2,51]),o($V$,[2,95]),o($VE,[2,92]),o($V$,[2,96]),o($V31,[2,42],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX}),o($VH,[2,23]),o($V2,$V3,{15:4,23:5,24:6,19:8,18:15,17:16,5:180,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),{22:[1,181],38:[1,182]},{22:[1,183]},o($Vc1,[2,50]),o($V$,[2,81]),o($V71,[2,101]),o($V71,[2,103],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX}),{25:[1,184]},o([30,33],[2,7]),{38:[1,185],62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX},{29:[1,186],38:$V21},o($V81,[2,44]),o($VH,[2,30]),{20:[2,90],84:187},o($Vd,$Ve,{9:188,6:189}),o($V2,$V3,{15:4,23:5,24:6,19:8,18:15,17:16,5:190,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),{44:$Vd1,79:[1,191]},o($V2,$V3,{15:4,23:5,24:6,19:8,18:15,17:16,5:193,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),{17:39,18:46,19:47,20:$V4,21:194,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{17:39,18:46,19:47,20:$V4,21:195,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},o($Vu,$Vv,{12:49,11:196}),{20:[1,197]},{30:[1,198]},{30:[2,5]},o($Vd,$Ve,{6:189,9:199}),{22:[1,200]},o($Vc1,[2,49]),o($Vd,$Ve,{6:189,9:201}),o($V71,[2,104],{62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX}),{29:[1,202],38:[1,203],62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX},o($Vd,$Ve,{6:204}),{22:[1,205],44:$Va1,54:206,79:[1,207]},o($VY,[2,82]),{30:[1,208]},o($V2,$V3,{15:4,23:5,24:6,19:8,18:15,17:16,5:209,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),{30:[1,210]},o($Vu,$Vv,{12:49,11:211}),{17:39,18:46,19:47,20:$V4,21:212,40:$Vj,44:$Vc,56:$Vk,57:$Vl,58:$Vm,59:$Vn,60:37,61:$Vo,63:$Vp,77:$Vq,78:$Vr,79:$Vs,80:$Vt},{30:[1,213]},o($V2,$V3,{15:4,23:5,24:6,19:8,18:15,17:16,5:214,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),{22:[1,215],38:[1,216]},{22:[1,217]},o($VY,[2,83]),o($Vd,$Ve,{6:189,9:218}),o($VY,[2,84]),o($Vd,$Ve,{6:219}),{29:[1,220],62:$VJ,63:$VK,64:$VL,65:$VM,66:$VN,67:$VO,68:$VP,69:$VQ,70:$VR,71:$VS,72:$VT,73:$VU,74:$VV,75:$VW,76:$VX},o($VH,[2,28]),o($Vd,$Ve,{6:189,9:221}),o($V2,$V3,{15:4,23:5,24:6,19:8,18:15,17:16,5:222,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),{44:$Vd1,79:[1,223]},o($V2,$V3,{15:4,23:5,24:6,19:8,18:15,17:16,5:224,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),{30:[1,225]},{30:[1,226]},o($Vu,$Vv,{12:49,11:227}),{30:[1,228]},o($Vd,$Ve,{6:189,9:229}),{22:[1,230]},o($Vd,$Ve,{6:189,9:231}),o($VY,[2,85]),o($VH,[2,26]),o($Vd,$Ve,{6:232}),o($VH,[2,86]),{30:[1,233]},o($V2,$V3,{15:4,23:5,24:6,19:8,18:15,17:16,5:234,20:$V4,27:$V5,29:$V6,31:$V7,32:$V8,34:$V9,36:$Va,40:$Vb,44:$Vc}),{30:[1,235]},{30:[1,236]},o($VH,[2,87]),o($Vd,$Ve,{6:189,9:237}),o($VH,[2,88]),o($VH,[2,27]),{30:[1,238]},o($VH,[2,89])], +defaultActions: {65:[2,1],75:[2,48],96:[2,4],153:[2,36],189:[2,5]}, +parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + _token_stack: + var lex = function () { + var token; + token = lexer.lex() || EOF; + if (typeof token !== 'number') { + token = self.symbols_[token] || token; + } + return token; + }; + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + + +var indentLevel = 0; +var blockId = 0; +var blockIdMax = 0; +var locals = {}; +var stack = []; +var functionBlockAdded = false; +var inLoop = false; + +function getLocal(name, alternative) { + if (!locals[name]) { + if (alternative) { + return alternative; + } + locals[name] = "_" + name + "_" + blockId; + } + return locals[name]; +} + +function setLocal(name, localName) { + return locals[name] = localName || "_" + name + "_" + blockId; +} + +function setLocals(names) { + var result = [] + for (var i = 0; i < names.length; i++) { + result[i] = setLocal(names[i]); + } + return result; +} + +function getTempDecl(explist) { + if (explist.endmulti) { + if (explist.exps.length > 1) { + return "[" + explist.exps.slice(0, -1).join(", ") + "].concat(" + explist.endmulti + ")"; + } else { + return explist.endmulti; + } + } else { + return "[" + explist.exps.join(", ") + "]"; + } +} + +function longStringToString(str) { + return '"' + str.substring(0, str.length - 2).replace(/^\[\[(\r\n|\r|\n)?/m, "").replace(/\n/mg, "\\n").replace(/\r/mg, "\\r").replace(/\"/mg, "\\\"") + '"'; +} + +function createFunction(args, body, hasVarargs) { + var result = "(function (" + args.join(", ") + ") {\n" + + " var tmp;\n"; + if (hasVarargs) { + result += " var varargs = slice(arguments, " + args.length + ");\n"; + } + return result + + body.simple_form + "\n" + + " return [];\n" + + "})"; +} + +function getIfExp(exp) { + return exp.simple_form || "lua_true(" + exp.single + ")"; +} + +function indentStatlist(statlist, laststat) { + return " " + ((statlist && laststat) ? statlist + "\n" + laststat : statlist + (laststat || "")).split("\n").join("\n "); +} + +function autoAssertFloat(possibleNumber) { + return possibleNumber.is_number ? possibleNumber.single : "lua_assertfloat(" + possibleNumber.single + ")"; +} + +function autoFunctionBlock(loopblock) { + return loopblock.use_function_block ? + "(function() {\n" + loopblock.block + "\n})();" : "{\n" + loopblock.block + "\n}"; +} +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function (match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin(condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState(condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0:/* skip whitespace */ +break; +case 1:/* skip multiline comment */ +break; +case 2:/* skip comment */ +break; +case 3:return 56; +break; +case 4:return 56; +break; +case 5:return 56; +break; +case 6:return 57; +break; +case 7:return 57; +break; +case 8:yy_.yytext = longStringToString(yy_.yytext); return 57; +break; +case 9:return 43; +break; +case 10:return 14; +break; +case 11:return 20; +break; +case 12:return 22; +break; +case 13:return 85; +break; +case 14:return 86; +break; +case 15:return 80; +break; +case 16:return 81; +break; +case 17:return 62; +break; +case 18:return 63; +break; +case 19:return 64; +break; +case 20:return 65; +break; +case 21:return 67; +break; +case 22:return 66; +break; +case 23:return 73; +break; +case 24:return 25; +break; +case 25:return 74; +break; +case 26:return 71; +break; +case 27:return 72; +break; +case 28:return 69; +break; +case 29:return 70; +break; +case 30:return 78; +break; +case 31:return 38; +break; +case 32:return 79; +break; +case 33:return 68; +break; +case 34:return 55; +break; +case 35:return 77; +break; +case 36:return 75; +break; +case 37:return 76; +break; +case 38:return 58; +break; +case 39:return 59; +break; +case 40:return 61; +break; +case 41:return 40; +break; +case 42:return 33; +break; +case 43:return 29; +break; +case 44:return 30; +break; +case 45:return 31; +break; +case 46:return 34; +break; +case 47:return 53; +break; +case 48:return 52; +break; +case 49:return 50; +break; +case 50:return 36; +break; +case 51:return 27; +break; +case 52:return 32; +break; +case 53:return 39; +break; +case 54:return 47; +break; +case 55:return 48; +break; +case 56:return 44; +break; +case 57:return 7; +break; +} +}, +rules: [/^(?:\s+)/,/^(?:--\[\[(.|\n|\r)*?\]\])/,/^(?:--.*)/,/^(?:0x[0-9a-fA-f]+)/,/^(?:\d+(\.\d*)?([eE]-?\d+)?)/,/^(?:\.\d+([eE]-?\d+)?)/,/^(?:"(\\.|[^"])*")/,/^(?:'(\\.|[^'])*')/,/^(?:\[\[(.|\n|\r)*?\]\])/,/^(?::)/,/^(?:;)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:\+)/,/^(?:-)/,/^(?:\*)/,/^(?:\/)/,/^(?:%)/,/^(?:\^)/,/^(?:==)/,/^(?:=)/,/^(?:~=)/,/^(?:<=)/,/^(?:>=)/,/^(?:<)/,/^(?:>)/,/^(?:#)/,/^(?:,)/,/^(?:\.\.\.)/,/^(?:\.\.)/,/^(?:\.)/,/^(?:not\b)/,/^(?:and\b)/,/^(?:or\b)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:nil\b)/,/^(?:function\b)/,/^(?:until\b)/,/^(?:do\b)/,/^(?:end\b)/,/^(?:while\b)/,/^(?:if\b)/,/^(?:then\b)/,/^(?:elseif\b)/,/^(?:else\b)/,/^(?:for\b)/,/^(?:local\b)/,/^(?:repeat\b)/,/^(?:in\b)/,/^(?:return\b)/,/^(?:break\b)/,/^(?:[a-zA-Z_][a-zA-Z0-9_]*)/,/^(?:$)/], +conditions: {"INITIAL":{"rules":[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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { +exports.parser = lua_parser; +exports.Parser = lua_parser.Parser; +exports.parse = function () { return lua_parser.parse.apply(lua_parser, arguments); }; +exports.main = function commonjsMain(args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if (typeof module !== 'undefined' && require.main === module) { + exports.main(process.argv.slice(1)); +} +} \ No newline at end of file diff --git a/parser/processRawData.js b/parser/processRawData.js new file mode 100644 index 00000000..af0f6b69 --- /dev/null +++ b/parser/processRawData.js @@ -0,0 +1,466 @@ +const fse = require('fs-extra') +const nsg = require('node-sprite-generator') +const Jimp = require('jimp') +const util = require('util') +//const factorioDirectory = 'C:/SteamLibrary/steamapps/common/Factorio/data/' +const factorioDirectory = 'C:/_Programs/Steam/steamapps/common/Factorio/data/' +const outDir = '../src/bundles/' +const spritesheetsOutDir = '../src/spritesheets/' + +function nameMapping(imagePath) { + const sP = imagePath.split('/') + return sP.splice(sP.length - 2).join('/').split('.')[0] +} + +let rawData = JSON.parse(fse.readFileSync('./temp.json').toString() + .replace(/"(up|down|left|right|north|south|west|east)"/g, function(match, capture) { + if (capture === 'north' || capture === 'up') return '"0"' + if (capture === 'east' || capture === 'left') return '"2"' + if (capture === 'south' || capture === 'down') return '"4"' + if (capture === 'west' || capture === 'right') return '"6"' + })) + +let tiles = {} +for (const k in rawData.tile) { + if (rawData.tile[k].minable) tiles[k] = rawData.tile[k] +} +console.log('Tiles: ' + Object.keys(tiles).length) +fse.writeFileSync(outDir + 'tileBundle.json', JSON.stringify(tiles, null, 2).replace(/__base__|__core__/g, 'factorio-data')) + +console.log('Recipes: ' + Object.keys(rawData.recipe).length) +fse.writeFileSync(outDir + 'recipeBundle.json', JSON.stringify(rawData.recipe, null, 2).replace(/__base__|__core__/g, 'factorio-data')) + +let inventory = [] +let items = {} +let placeableEntities = ['curved-rail'] + +const blacklistedGroups = [ + 'environment', + 'enemies', + 'other' +] + +for (const k in rawData['item-group']) { + const group = rawData['item-group'][k] + if (!blacklistedGroups.includes(group.name)) { + group.subgroups = [] + inventory.push(group) + } +} + +for (const k in rawData['item-subgroup']) { + const subgroup = rawData['item-subgroup'][k] + subgroup.items = [] + for (const group of inventory) { + if (group.name === subgroup.group) { + group.subgroups.push(subgroup) + break + } + } +} + +function findAllItems(data) { + if (data.constructor === Object) { + if (data.hasOwnProperty('subgroup')) { + addItem(data) + } else { + for (const k in data) { + if (data.hasOwnProperty(k)) { + findAllItems(data[k]) + } + } + } + } +} + +findAllItems(rawData) + +for (const k in rawData['fluid']) { + const fluid = rawData['fluid'][k] + fluid.subgroup = 'fluid' + addItem(fluid) +} + +function addItem(item) { + if ((item.flags && item.flags.includes('hidden')) || !(item.icon || item.icons) || !item.order || item.collision_box) return + for (let j = 0; j < inventory.length; j++) { + for (let k = 0; k < inventory[j].subgroups.length; k++) { + if (inventory[j].subgroups[k].name === item.subgroup) { + inventory[j].subgroups[k].items.push(item) + if (item.place_result) placeableEntities.push(item.place_result) + items[item.name] = item + return + } + } + } +} + +console.log('Items: ' + Object.keys(items).length) +fse.writeFileSync(outDir + 'itemBundle.json', JSON.stringify(items, null, 2).replace(/"((__base__|__core__)\/.+?)"/g, function(match, capture) { + return '"icon:' + nameMapping(capture) + '"' +})) + +// sort and remove extra info from inventoryBundle +inventory.sort(sortByOrder) +for (let i = 0; i < inventory.length; i++) { + inventory[i].subgroups.sort(sortByOrder) + for (let j = 0; j < inventory[i].subgroups.length; j++) { + inventory[i].subgroups[j].items.sort(sortByOrder) + for (let k = 0; k < inventory[i].subgroups[j].items.length; k++) { + removeExtraInfo(inventory[i].subgroups[j].items[k]) + } + removeExtraInfo(inventory[i].subgroups[j]) + } + removeExtraInfo(inventory[i]) +} + +function sortByOrder(a, b) { + // https://forums.factorio.com/viewtopic.php?f=25&t=3236#p23818 + // https://forums.factorio.com/viewtopic.php?f=25&t=24163#p152955 + if (a.order < b.order) return -1 + if (a.order > b.order) return 1 + return 0 +} + +function removeExtraInfo(obj) { + for (const k of Object.keys(obj)) { + if (!['subgroups', 'items', 'name', 'icon', 'icons'].includes(k)) delete obj[k] + } +} + +fse.writeFileSync(outDir + 'inventoryBundle.json', JSON.stringify(inventory, null, 2).replace(/"((__base__|__core__)\/.+?)"/g, function(match, capture) { + return '"icon:' + nameMapping(capture) + '"' +})) + +let paths = [] +for (let i = 0, l = inventory.length; i < l; i++) { + paths.push(factorioDirectory + inventory[i].icon.replace(/__base__/g, 'base').replace(/__core__/g, 'core')) + for (let j = 0, l2 = inventory[i].subgroups.length; j < l2; j++) { + for (let k = 0, l3 = inventory[i].subgroups[j].items.length; k < l3; k++) { + const item = inventory[i].subgroups[j].items[k] + if (item.icon) { + paths.push(factorioDirectory + item.icon.replace(/__base__/g, 'base').replace(/__core__/g, 'core')) + } else { + for (let l = 0; l < item.icons.length; l++) { + paths.push(factorioDirectory + item.icons[l].icon.replace(/__base__/g, 'base').replace(/__core__/g, 'core')) + } + } + } + } +} +paths = Array.from(new Set(paths).values()) + +console.log('Icon sprites: ' + paths.length) +nsg({ + src: paths, + spritePath: spritesheetsOutDir + 'iconSpritesheet.png', + stylesheet: './json-icon.tpl', + stylesheetPath: spritesheetsOutDir + 'iconSpritesheet.json', + stylesheetOptions: { + prefix: 'icon:', + nameMapping: nameMapping + }, + compositor: 'jimp', + layout: 'packed', + layoutOptions: { + padding: 2 + } +}, function(err) { + if (err) + console.log(err) + else + console.log('Icon sprite atlas generated!') +}) + +let entities = {} +function findAllEntities(data) { + if (data.constructor === Object) { + if (placeableEntities.includes(data.name) && data.hasOwnProperty('collision_box') && (!data.flags.includes('placeable-off-grid') || data.name === 'land-mine')) { + entities[data.name] = data + } else { + for (let k in data) { + if (data.hasOwnProperty(k)) { + findAllEntities(data[k]) + } + } + } + } +} +findAllEntities(rawData) + +const regexNameMatches = [ + 'combinator', + 'underground-belt', + 'transport-belt', + 'splitter', + 'inserter', + 'turret', + 'mining-drill', + 'pump' +] + +let nameMatches = [ + 'assembling-machine-2', + 'assembling-machine-3', + 'pipe-to-ground', + 'oil-refinery', + 'chemical-plant', + 'heat-exchanger', + 'boiler', + 'train-stop' +] + +for (let k in entities) { + // Size + const box = entities[k].selection_box + entities[k].size = { + width: Math.ceil(Math.abs(box[0][0]) + Math.abs(box[1][0])), + height: Math.ceil(Math.abs(box[0][1]) + Math.abs(box[1][1])) + } + // Move out splitters and underground-belts from transport-belt fast_replaceable_group + if (k.search('splitter') !== -1) { + entities[k].fast_replaceable_group = 'splitter' + } + if (k.search('underground-belt') !== -1) { + entities[k].fast_replaceable_group = 'underground-belt' + } + // Possible Rotations + for (let j = 0; j < regexNameMatches.length; j++) { + if (k.includes(regexNameMatches[j])) { + nameMatches.push(k) + } + } +} +// Actual land size of the offshore pump +entities['offshore-pump'].size = { width: 1, height: 1 } + +for (let i = 0; i < nameMatches.length; i++) { + entities[nameMatches[i]].possible_rotations = [0, 2, 4, 6] +} +entities['storage-tank'].possible_rotations = [0, 2] +entities['gate'].possible_rotations = [0, 2] +entities['steam-engine'].possible_rotations = [0, 2] +entities['steam-turbine'].possible_rotations = [0, 2] +entities['straight-rail'].possible_rotations = [0, 2] +entities['rail-signal'].possible_rotations = [0, 1, 2, 3, 4, 5, 6, 7] +entities['rail-chain-signal'].possible_rotations = [0, 1, 2, 3, 4, 5, 6, 7] +// End Possible Rotations + +// switch dir 2 and 6 for pipe-to-ground +let dir2 = Object.assign({}, entities['pipe-to-ground'].pictures['2']) +entities['pipe-to-ground'].pictures['2'] = entities['pipe-to-ground'].pictures['6'] +entities['pipe-to-ground'].pictures['6'] = dir2 +// shift.y-1 for dir 4 wall patch of gate +let wp4 = entities['gate'].wall_patch['4'].layers[0] +wp4.shift = [wp4.shift[0], wp4.shift[1] - 1] +if (wp4.hr_version) { + wp4.hr_version.shift = [wp4.hr_version.shift[0], wp4.hr_version.shift[1] - 1] +} +// fix shifts +entities['storage-tank'].pictures.window_background.shift = [0, 1] +entities['storage-tank'].pictures.window_background.hr_version.shift = [0, 1] + +add_to_shift([0, -0.6875], entities['artillery-turret'].base_picture.layers[0]) +add_to_shift([0, -0.6875], entities['artillery-turret'].cannon_barrel_pictures.layers[0]) +add_to_shift([0, -0.6875], entities['artillery-turret'].cannon_base_pictures.layers[0]) + +function add_to_shift(shift, tab) { + if (tab.shift) { + tab.shift = [shift[0] + tab.shift[0], shift[1] + tab.shift[1]] + } else { + tab.shift = shift + } + if (tab.hr_version) { + if (tab.hr_version.shift) { + tab.hr_version.shift = [shift[0] + tab.hr_version.shift[0], shift[1] + tab.hr_version.shift[1]] + } else { + tab.hr_version.shift = shift + } + } + return tab +} + +console.log('Entities: ' + Object.keys(entities).length) +fse.writeFileSync(outDir + 'entityBundle.json', JSON.stringify(entities, null, 2).replace(/"((__base__|__core__)\/.+?)"/g, function(match, capture) { + return '"entity:' + nameMapping(capture) + '"' +})) + +graphicsBundle() + +async function graphicsBundle() { + let paths = [] + let hrPaths = [] + let re = /"filename":\s*"([^.]+?\.png)"/g + let str = JSON.stringify(entities) + let match + + const excludeKeywords = [ + 'explosion', + 'cloud', + 'smoke', + 'fire', + 'muzzle-flash', + '-light\.padding', + 'steam\.png', + '-shadow\.png', + '-shadow-', + 'load-standup', + 'flamethrower-turret-gun(-[^e]|[^-])', + 'pump-[a-z]+?-liquid', + 'pump-[a-z]+?-glass', + 'accumulator-[a-z]+?-animation', + 'connector\/(hr-)?.-.-', + 'heated', + 'gun-turret-gun-[m12]', + 'roboport-recharging', + 'segment-visualisation', + 'graphics\/[^/]*$', + '-light\.png', + '-lights-color', + 'boiling-green', + 'power-switch-electricity', + 'electric-furnace-heater', + 'integration', + 'arrows', + 'hole', + 'rocket-over', + 'working', + 'hand-closed' + ] + const excludeKeywordsRegex = new RegExp(excludeKeywords.join('|'), 'g') + + while ((match = re.exec(str)) !== null) { + let path = match[1].replace(/__base__/g, 'base').replace(/__core__/g, 'core') + if (match[1].search(excludeKeywordsRegex) === -1) { + if (match[1].search(/\/hr-/g) === -1) { + if (!paths.includes(path)) { + paths.push(path) + } + } else { + if (!hrPaths.includes(path)) { + hrPaths.push(path) + } + } + } + } + paths.push('base/graphics/entity/artillery-wagon/artillery-wagon-cannon-barrel-1.png') + paths.push('base/graphics/entity/artillery-wagon/artillery-wagon-cannon-barrel-5.png') + paths.push('base/graphics/entity/artillery-wagon/artillery-wagon-cannon-barrel-9.png') + paths.push('base/graphics/entity/artillery-wagon/artillery-wagon-cannon-barrel-13.png') + + hrPaths.push('base/graphics/entity/artillery-wagon/hr-artillery-wagon-cannon-barrel-1.png') + hrPaths.push('base/graphics/entity/artillery-wagon/hr-artillery-wagon-cannon-barrel-5.png') + hrPaths.push('base/graphics/entity/artillery-wagon/hr-artillery-wagon-cannon-barrel-9.png') + hrPaths.push('base/graphics/entity/artillery-wagon/hr-artillery-wagon-cannon-barrel-13.png') + + paths.push('base/graphics/entity/artillery-wagon/artillery-wagon-cannon-base-1.png') + paths.push('base/graphics/entity/artillery-wagon/artillery-wagon-cannon-base-5.png') + paths.push('base/graphics/entity/artillery-wagon/artillery-wagon-cannon-base-9.png') + paths.push('base/graphics/entity/artillery-wagon/artillery-wagon-cannon-base-13.png') + + hrPaths.push('base/graphics/entity/artillery-wagon/hr-artillery-wagon-cannon-base-1.png') + hrPaths.push('base/graphics/entity/artillery-wagon/hr-artillery-wagon-cannon-base-5.png') + hrPaths.push('base/graphics/entity/artillery-wagon/hr-artillery-wagon-cannon-base-9.png') + hrPaths.push('base/graphics/entity/artillery-wagon/hr-artillery-wagon-cannon-base-13.png') + + console.log('Entity images: ' + paths.length) + console.log('Entity HR images: ' + hrPaths.length) + + let cropImages = [ + ['artillery-wagon-cannon', 4, 4], + ['flamethrower-turret-gun-extension', 5, 1], + ['gun-turret-gun-extension', 5, 1], + ['laser-turret-gun-start', 15, 1], + ['burner-mining-drill', 4, 8], + ['electric-mining-drill', 8, 8], + ['pumpjack-horsehead', 8, 5], + ['assembling-machine-[1-3]\.png', 8, 4], + ['centrifuge', 8, 8], + ['lab.png', 11, 3], + ['[^e]-pump-', 8, 4], + ['splitter', 8, 4], + ['radar', 8, 8], + ['steam-engine', 8, 4], + ['steam-turbine', 4, 2], + ['transport-belt', 16, 1], + ['laser-turret-gun', 8, 1], + ['beacon-antenna', 8, 4], + ['roboport-door-', 16, 1], + ['gate(-rail(-base)?)?-[a-z]+?(-(left|right))?\.png', 8, 2], + ['arm', 4, 3], + ['rail-signal\.png', 3, 1], + ['rail-chain-signal\.png', 4, 1], + ['power-switch', 2, 3] + ] + + let addedHrPaths = [] + let imagesToCrop = [] + for (let i = 0; i < paths.length; i++) { + let pArr = paths[i].split('/') + if (pArr[pArr.length - 1] === 'electric-furnace-base.png') { + pArr[pArr.length - 1] = 'electric-furnace.png' + } + pArr[pArr.length - 1] = 'hr-' + pArr[pArr.length - 1] + let hrVersion = pArr.join('/') + if (hrPaths.includes(hrVersion)) { + paths[i] = hrVersion + addedHrPaths.push(hrVersion) + } + paths[i] = factorioDirectory + paths[i] + // Crop spritesheet + for (let j = 0, len2 = cropImages.length; j < len2; j++) { + if (paths[i].search(new RegExp(cropImages[j][0], 'g')) !== -1) { + let p = './temp/' + nameMapping(paths[i]) + '.png' + imagesToCrop.push({ + path: paths[i], + outPath: p, + cropImgIndex: j + }) + paths[i] = p + break + } + } + } + + for (let i = 0; i < hrPaths.length; i++) { + if (!addedHrPaths.includes(hrPaths[i])) { + paths.push(factorioDirectory + hrPaths[i]) + } + } + + //Jison.write doesn't return a Promise + //https://github.com/oliver-moran/jimp/issues/90 + Jimp.prototype.writeAsync = util.promisify(Jimp.prototype.write) + + let res = Promise.all(imagesToCrop.map(data => Jimp.read(data.path).then(img => + img + .crop(0, 0, img.bitmap.width / cropImages[data.cropImgIndex][1], img.bitmap.height / cropImages[data.cropImgIndex][2]) + .writeAsync(data.outPath) + ))) + + res.then(() => { + console.log('Final entity images: ' + paths.length) + nsg({ + src: paths, + spritePath: spritesheetsOutDir + 'entitySpritesheet.png', + stylesheet: './json-entity.tpl', + stylesheetPath: spritesheetsOutDir + 'entitySpritesheet.json', + stylesheetOptions: { + prefix: 'entity:', + nameMapping: nameMapping + }, + compositor: 'jimp', + layout: 'packed', + layoutOptions: { + padding: 2 + } + }, function(err) { + if (err) { + console.log(err) + } else { + fse.remove('./temp') + console.log('Entity sprite atlas generated!') + } + }) + }) +} diff --git a/src/app.ts b/src/app.ts new file mode 100644 index 00000000..81660d65 --- /dev/null +++ b/src/app.ts @@ -0,0 +1,289 @@ +// tslint:disable:no-import-side-effect +import 'normalize.css' + +import * as PIXI from 'pixi.js' +import keyboardJS from 'keyboardjs' + +import { Book } from './factorio-data/book' +import BPString from './factorio-data/BPString' +import sampleBP from './sample-blueprint' + +import util from './util' +import { InventoryContainer } from './containers/inventory' +import G from './globals' +import { EntityContainer } from './containers/entity' +import { PaintContainer } from './containers/paint' +import { BlueprintContainer } from './containers/blueprint' +import { ToolbarContainer } from './containers/toolbar' +import { isNumber } from 'util' +import { Blueprint } from './factorio-data/blueprint' +import { EditEntityContainer } from './containers/editEntity' +import { InfoContainer } from './containers/info' + +G.renderOnly = window.location.search.slice(1).split('&').includes('renderOnly') + +G.app = new PIXI.Application({ + autoStart: false, + antialias: true, + resolution: window.devicePixelRatio + // roundPixels: true +}) + +// https://github.com/pixijs/pixi.js/issues/3928 +G.app.renderer.plugins.interaction.moveWhenInside = true + +G.app.renderer.view.style.position = 'absolute' +G.app.renderer.view.style.display = 'none' +G.app.renderer.autoResize = true +G.app.renderer.resize(window.innerWidth, window.innerHeight) +window.addEventListener('resize', () => { + G.app.renderer.resize(window.innerWidth, window.innerHeight) + G.BPC.zoomPan.setViewPortSize(G.app.renderer.width, G.app.renderer.height) + G.BPC.zoomPan.updateTransform() + G.BPC.updateViewportCulling() +}, false) +document.body.appendChild(G.app.view) + +// PIXI.settings.SCALE_MODE = PIXI.SCALE_MODES.NEAREST +// PIXI.settings.GC_MODE = PIXI.GC_MODES.MANUAL + +G.BPC = new BlueprintContainer() +G.app.stage.addChild(G.BPC) + +G.editEntityContainer = new EditEntityContainer() +G.app.stage.addChild(G.editEntityContainer) + +G.inventoryContainer = new InventoryContainer() +G.app.stage.addChild(G.inventoryContainer) + +G.toolbarContainer = new ToolbarContainer() +G.app.stage.addChild(G.toolbarContainer) + +const infoContainer = new InfoContainer() +G.app.stage.addChild(infoContainer) + +PIXI.loader +.add([ + { name: 'extra_iconSprites', url: 'spritesheets/extra_iconSpritesheet.json' }, + { name: 'iconSprites', url: 'spritesheets/iconSpritesheet.json' }, + { name: 'entitySprites', url: 'spritesheets/entitySpritesheet.json' } +]) +.load((_: any, resources: any) => { + G.app.renderer.plugins.prepare + .add(resources.extra_iconSprites.spritesheet.baseTexture) + .add(resources.iconSprites.spritesheet.baseTexture) + .add(resources.entitySprites.spritesheet.baseTexture) + .upload(setup) +}) + +function setup() { + let initialSource: string + for (const a of window.location.search.slice(1).split('&')) { + if (a.includes('source')) { + initialSource = a.split('=')[1] + break + } + } + loadBpFromSource(initialSource ? initialSource : sampleBP).then(() => { + + if (!G.bp) G.bp = new Blueprint() + G.BPC.centerViewport() + G.BPC.updateCursorPosition({ + x: G.app.renderer.width / 2, + y: G.app.renderer.height / 2 + }) + + G.app.start() + G.app.renderer.view.style.display = 'block' + }) +} + +function loadBpFromSource(source: string) { + return util.findBPString(source).then(loadBp).catch(error => { + console.error(error) + }) + + function loadBp(bpString: string) { + const res = BPString.decode(bpString) + // TODO: Handle decode errors + if ((res as {error: any}).error) throw (res as {error: any}).error + G.bp = res instanceof Book ? res.getBlueprint() : res + + G.BPC.clearData() + G.BPC.initBP() + console.log('Loaded BP String') + } +} + +window.addEventListener('copy', e => { + e.preventDefault() + + e.clipboardData.setData('text/plain', BPString.encode(G.bp)) + + console.log('Copied BP String') +}) + +window.addEventListener('paste', e => { + e.preventDefault() + + G.app.renderer.view.style.display = 'none' + loadBpFromSource(e.clipboardData.getData('text')).then(() => G.app.renderer.view.style.display = 'block') +}) + +keyboardJS.bind('shift + n', () => { + G.BPC.clearData() + G.bp = new Blueprint() + G.BPC.initBP() +}) + +keyboardJS.bind('modifier + s', e => { + e.preventDefault() + + G.BPC.centerViewport() + if (G.renderOnly) G.BPC.cacheAsBitmap = false + const t = G.app.renderer.generateTexture(G.BPC) + if (G.renderOnly) G.BPC.cacheAsBitmap = true + t.frame = G.BPC.entitySprites.getLocalBounds() + t._updateUvs() + const s = new PIXI.Sprite(t) + const image = G.app.renderer.plugins.extract.image(s) + const w = window.open() + w.focus() + w.document.write(image.outerHTML) + + console.log('Saved BP Image') +}) + +keyboardJS.bind('shift', () => G.keyboard.shift = true, () => G.keyboard.shift = false) + +keyboardJS.bind('alt', e => { + e.preventDefault() + G.BPC.overlayContainer.overlay.visible = !G.BPC.overlayContainer.overlay.visible +}) + +keyboardJS.bind('i', () => infoContainer.toggle()) + +keyboardJS.bind('esc', () => { if (G.openedGUIWindow) G.openedGUIWindow.close() }) + +keyboardJS.bind('e', () => { + if (G.currentMouseState !== G.mouseStates.MOVING && G.currentMouseState !== G.mouseStates.PAINTING && !G.renderOnly) { + if (G.openedGUIWindow) { + G.openedGUIWindow.close() + } else { + G.inventoryContainer.toggle() + } + } +}) + +keyboardJS.bind('f', () => G.BPC.centerViewport()) + +keyboardJS.bind('r', () => { + if (G.BPC.hoverContainer && + (G.currentMouseState === G.mouseStates.NONE || G.currentMouseState === G.mouseStates.MOVING) + ) { + G.BPC.hoverContainer.rotate() + } else if (G.currentMouseState === G.mouseStates.PAINTING) { + G.BPC.paintContainer.rotate() + } +}) + +keyboardJS.bind('q', () => { + if (G.BPC.hoverContainer && G.currentMouseState === G.mouseStates.NONE) { + G.currentMouseState = G.mouseStates.PAINTING + + const hoverContainer = G.BPC.hoverContainer + G.BPC.hoverContainer.pointerOutEventHandler() + const entity = G.bp.entity(hoverContainer.entity_number) + G.BPC.paintContainer = new PaintContainer(entity.name, + entity.directionType === 'output' ? (entity.direction + 4) % 8 : entity.direction, + hoverContainer.position) + G.BPC.paintContainer.moveTo({ + x: G.gridCoordsOfCursor.x * 32, + y: G.gridCoordsOfCursor.y * 32 + }) + G.BPC.addChild(G.BPC.paintContainer) + } else if (G.currentMouseState === G.mouseStates.PAINTING) { + G.BPC.paintContainer.destroy() + G.BPC.paintContainer = undefined + + G.currentMouseState = G.mouseStates.NONE + } +}) + +keyboardJS.bind('modifier + z', () => { + G.bp.undo( + hist => pre(hist, 'add'), + hist => post(hist, 'del') + ) +}) + +keyboardJS.bind('modifier + y', () => { + G.bp.redo( + hist => pre(hist, 'del'), + hist => post(hist, 'add') + ) +}) + +function pre(hist: any, addDel: string) { + switch (hist.type) { + case 'mov': + case addDel: + const e = EntityContainer.mappings.get(hist.entity_number) + e.redrawSurroundingEntities() + if (hist.type === addDel) { + G.BPC.wiresContainer.remove(hist.entity_number) + e.destroy() + } + if (hist.type === 'mov') G.BPC.wiresContainer.update(hist.entity_number) + } +} + +function post(hist: any, addDel: string) { + function redrawEntityAndSurroundingEntities(entnr: number) { + const e = EntityContainer.mappings.get(entnr) + e.redraw() + e.redrawSurroundingEntities() + } + switch (hist.type) { + case 'mov': + redrawEntityAndSurroundingEntities(hist.entity_number) + const entity = G.bp.entity(hist.entity_number) + const e = EntityContainer.mappings.get(hist.entity_number) + e.position.set( + entity.position.x * 32, + entity.position.y * 32 + ) + e.updateVisualStuff() + break + case 'upd': + if (isNumber(hist.entity_number)) { + const e = EntityContainer.mappings.get(hist.entity_number) + e.redrawEntityInfo() + redrawEntityAndSurroundingEntities(hist.entity_number) + G.BPC.wiresContainer.update(hist.entity_number) + if (G.editEntityContainer.visible) { + if (G.inventoryContainer.visible) G.inventoryContainer.close() + G.editEntityContainer.create(hist.entity_number) + } + } else { + for (const entnr of hist.entity_number) { + redrawEntityAndSurroundingEntities(entnr) + } + } + break + case addDel: + const ec = new EntityContainer(hist.entity_number) + G.BPC.entities.addChild(ec) + ec.redrawSurroundingEntities() + G.BPC.wiresContainer.update(hist.entity_number) + } + + console.log(`${addDel === 'del' ? 'Undo' : 'Redo'} ${hist.entity_number} ${hist.annotation}`) + G.BPC.updateOverlay() + G.BPC.updateViewportCulling() +} + +keyboardJS.bind('w', () => G.keyboard.w = true, () => G.keyboard.w = false) +keyboardJS.bind('a', () => G.keyboard.a = true, () => G.keyboard.a = false) +keyboardJS.bind('s', () => G.keyboard.s = true, () => G.keyboard.s = false) +keyboardJS.bind('d', () => G.keyboard.d = true, () => G.keyboard.d = false) diff --git a/src/blueprintSchema.json b/src/blueprintSchema.json new file mode 100644 index 00000000..67ccb5a2 --- /dev/null +++ b/src/blueprintSchema.json @@ -0,0 +1,475 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "blueprintSchema.json", + "type": "object", + "oneOf": [ + { + "required": [ "blueprint" ], + "additionalProperties": false, + "properties": { + "blueprint": { "$ref": "blueprintSchema.json#/definitions/blueprint" } + } + }, + { + "required": [ "blueprint_book" ], + "additionalProperties": false, + "properties": { + "blueprint_book": { + "type": "object", + "required": ["version", "item", "active_index", "blueprints"], + "additionalProperties": false, + "properties": { + "version": { "type": "integer" }, + "item": { + "type": "string", + "const": "blueprint-book" + }, + "label": { "type": "string" }, + "active_index": { "type": "integer" }, + "blueprints": { + "type": "array", + "minItems": 1, + "maxITems": 1000, + "items": { + "type": "object", + "required": ["index", "blueprint"], + "additionalProperties": false, + "properties": { + "index": { "type": "integer" }, + "blueprint": { "$ref": "blueprintSchema.json#/definitions/blueprint" } + } + } + } + } + } + } + } + ], + "definitions": { + "position": { + "type": "object", + "required": ["x", "y"], + "additionalProperties": false, + "properties": { + "x": { "type": "number" }, + "y": { "type": "number" } + } + }, + "signal": { + "type": "object", + "required": ["name", "type"], + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "itemName": true + }, + "type": { + "type": "string", + "enum": ["item", "virtual", "fluid"] + } + } + }, + "wireColor": { + "type": "array", + "items": { + "type": "object", + "required": ["entity_id"], + "additionalProperties": false, + "properties": { + "entity_id": { "type": "integer" }, + "circuit_id": { "type": "integer" } + } + } + }, + "side": { + "type": "object", + "additionalProperties": false, + "properties": { + "red": { "$ref": "blueprintSchema.json#/definitions/wireColor" }, + "green": { "$ref": "blueprintSchema.json#/definitions/wireColor" } + } + }, + "blueprint": { + "type": "object", + "required": ["version", "item", "icons"], + "additionalProperties": false, + "properties": { + "version": { "type": "integer" }, + "item": { + "type": "string", + "const": "blueprint" + }, + "label": { "type": "string" }, + "icons": { + "type": "array", + "minItems": 1, + "maxItems": 4, + "items": { + "type": "object", + "required": ["index", "signal"], + "additionalProperties": false, + "properties": { + "index": { + "type": "integer", + "enum": [1, 2, 3, 4] + }, + "signal": { "$ref": "blueprintSchema.json#/definitions/signal" } + } + } + }, + "entities": { + "type": "array", + "items": { + "type": "object", + "required": ["entity_number", "name", "position"], + "additionalProperties": false, + "properties": { + "entity_number": { "type": "integer" }, + "name": { + "type": "string", + "entityName": true + }, + "position": { "$ref": "blueprintSchema.json#/definitions/position" }, + "direction": { + "type": "integer", + "enum": [0, 1, 2, 3, 4, 5, 6, 7], + "$comment": "direction, can be ommited if 0" + }, + "type": { + "type": "string", + "enum": ["input", "output"], + "$comment": "direction type, only present if entity is of type underground-belt" + }, + "recipe": { + "type": "string", + "recipeName": true, + "$comment": "recipe name, only present if entity is of type assembling-machine or has fixed_recipe" + }, + "bar": { + "type": "integer", + "$comment": "inventory size limitation, only present if entity has inventory_size" + }, + "items": { + "type": "object", + "objectWithItemNames": true, + "$comment": "object, keys are module names and value nr of modules, only present if entity has module_specification" + }, + + "input_priority": { + "type": "string", + "enum": ["left", "right"], + "$comment": "splitter input priority, only present if entity is of type splitter" + }, + "output_priority": { + "type": "string", + "enum": ["left", "right"], + "$comment": "splitter output priority, only present if entity is of type splitter" + }, + "filter": { + "type": "string", + "itemName": true, + "$comment": "splitter filter for output priority, only present if entity is of type splitter" + }, + + "station": { + "type": "string", + "$comment": "train stop station name, only present if entity is train-stop" + }, + "color": { + "type": "object", + "required": ["r", "g", "b", "a"], + "additionalProperties": false, + "$comment": "train stop color, only present if entity is train-stop", + "properties": { + "r": { "type": "number" }, + "g": { "type": "number" }, + "b": { "type": "number" }, + "a": { "type": "number" } + } + }, + + "auto_launch": { + "type": "boolean", + "$comment": "auto launch, only present if entity is rocket-silo" + }, + "override_stack_size": { + "type": "integer", + "$comment": "override stack size, only present if entity is of type inserter" + }, + "request_from_buffers": { + "type": "boolean", + "$comment": "only present if entity is logistic-chest-requester" + }, + "filters": { + "type": "array", + "$comment": "only present if entity is filter-inserter or stack-filter-inserter", + "items": { + "type": "object", + "required": ["index", "name"], + "additionalProperties": false, + "properties": { + "index": { "type": "integer" }, + "name": { + "type": "string", + "itemName": true + } + } + } + }, + "request_filters": { + "type": "array", + "$comment": "only present if entity is logistic-chest-storage, logistic-chest-buffer or logistic-chest-requester", + "items": { + "type": "object", + "required": ["index", "name", "count"], + "additionalProperties": false, + "properties": { + "index": { "type": "integer" }, + "name": { + "type": "string", + "itemName": true + }, + "count": { "type": "integer" } + } + } + }, + + "alert_parameters": { + "type": "object", + "$comment": "only present if entity is programmable-speaker", + "additionalProperties": false, + "properties": { + "alert_message": { "type": "string" }, + "icon_signal_id": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "show_alert": { "type": "boolean" }, + "show_on_map": { "type": "boolean" } + } + }, + "parameters": { + "type": "object", + "$comment": "only present if entity is programmable-speaker", + "additionalProperties": false, + "properties": { + "playback_volume": { "type": "number" }, + "playback_globally": { "type": "boolean" }, + "allow_polyphony": { "type": "boolean" } + } + }, + + "connections": { + "type": "object", + "$comment": "wire connections", + "additionalProperties": false, + "properties": { + "1": { "$ref": "blueprintSchema.json#/definitions/side" }, + "2": { "$ref": "blueprintSchema.json#/definitions/side" } + } + }, + "control_behavior": { + "type": "object", + "additionalProperties": false, + "properties": { + "is_on": { + "type": "boolean", + "enum": [false], + "$comment": "only present if entity is constant-combinator" + }, + "filters": { + "type": "array", + "$comment": "only present if entity is constant-combinator", + "items": { + "type": "object", + "required": ["index", "count", "signal"], + "additionalProperties": false, + "properties": { + "index": { "type": "integer" }, + "count": { "type": "integer" }, + "signal": { "$ref": "blueprintSchema.json#/definitions/signal" } + } + } + }, + + "use_colors": { + "type": "boolean", + "enum": [true], + "$comment": "only present if entity is small-lamp" + }, + "circuit_enable_disable": { + "type": "boolean", + "$comment": "only present if entity is of type mining-drill or transport-belt or train-stop" + }, + + "circuit_read_hand_contents": { + "type": "boolean", + "$comment": "only present if entity is of type inserter or transport-belt" + }, + "circuit_hand_read_mode": { + "type": "integer", + "enum": [1], + "$comment": "0 = pulse, 1 = hold, only present if entity is of type inserter and circuit_read_hand_contents is true" + }, + "circuit_set_stack_size": { + "type": "boolean", + "enum": [true], + "$comment": "only present if entity is of type inserter and override_stack_size is not set" + }, + "stack_control_input_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "circuit_contents_read_mode": { + "type": "integer", + "enum": [0, 1], + "$comment": "0 = pulse, 1 = hold, only present if entity is of type transport-belt and circuit_read_hand_contents is true" + }, + + "circuit_mode_of_operation": { + "type": "integer", + "$comment": "only present if entity is roboport or logistic-chest-buffer or logistic-chest-requester or of type inserter(3)????????????????" + }, + + "available_logistic_output_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "total_logistic_output_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "available_construction_output_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "total_construction_output_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + + "circuit_read_resources": { + "type": "boolean", + "$comment": "only present if entity is of type mining-drill" + }, + "circuit_resource_read_mode": { + "type": "integer", + "enum": [0,1], + "$comment": "only present if entity is burner-mining-drill or electric-mining-drill and circuit_read_resources is true" + }, + + "circuit_open_gate": { + "type": "boolean", + "$comment": "only present if entity is stone-wall" + }, + "circuit_read_sensor": { + "type": "boolean", + "$comment": "only present if entity is stone-wall" + }, + + "send_to_train": { + "type": "boolean", + "enum": [false], + "$comment": "only present if entity is train-stop" + }, + "read_from_train": { + "type": "boolean", + "enum": [true], + "$comment": "only present if entity is train-stop" + }, + "read_stopped_train": { + "type": "boolean", + "enum": [true], + "$comment": "only present if entity is train-stop" + }, + "train_stopped_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + + "circuit_close_signal": { + "type": "boolean", + "$comment": "only present if entity is rail-signal" + }, + "circuit_read_signal": { + "type": "boolean", + "$comment": "only present if entity is rail-signal, for chain signals: you have the same signals" + }, + "red_output_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "orange_output_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "green_output_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "blue_output_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + + "output_signal": { + "$comment": "only present if entity is stone-wall or accumulator", + "$ref": "blueprintSchema.json#/definitions/signal" + }, + + "circuit_parameters": { + "type": "object", + "$comment": "only present if entity is programmable-speaker", + "additionalProperties": false, + "properties": { + "instrument_id": { "type": "integer" }, + "note_id": { "type": "integer" }, + "signal_value_is_pitch": { "type": "boolean" } + } + }, + "decider_conditions": { + "type": "object", + "$comment": "only present if entity is decider-combinator", + "additionalProperties": false, + "properties": { + "comparator": { "type": "string" }, + "constant": { "type": "integer" }, + "copy_count_from_input": { "type": "boolean" }, + "first_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "second_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "output_signal": { "$ref": "blueprintSchema.json#/definitions/signal" } + } + }, + "arithmetic_conditions": { + "type": "object", + "$comment": "only present if entity is arithmetic-combinator", + "additionalProperties": false, + "properties": { + "operation": { "type": "string" }, + "constant": { "type": "integer" }, + "first_constant": { "type": "integer" }, + "second_constant": { "type": "integer" }, + "first_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "second_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "output_signal": { "$ref": "blueprintSchema.json#/definitions/signal" } + } + }, + "circuit_condition": { + "type": "object", + "$comment": "only present if entity is pump, offshore-pump, rail-signal, train-stop, small-lamp, power-switch, stone-wall, programmable-speaker or of type: inserter, transport-belt or mining-drill", + "additionalProperties": false, + "properties": { + "comparator": { "type": "string" }, + "constant": { "type": "integer" }, + "first_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "second_signal": { "$ref": "blueprintSchema.json#/definitions/signal" } + } + }, + "connect_to_logistic_network": { + "type": "boolean", + "enum": [true], + "$comment": "only present if entity is pump, offshore-pump, train-stop, small-lamp, power-switch or of type: inserter, transport-belt or mining-drill" + }, + "logistic_condition": { + "type": "object", + "$comment": "only present if entity is pump, offshore-pump, train-stop, small-lamp, power-switch or of type: inserter, transport-belt or mining-drill", + "additionalProperties": false, + "properties": { + "comparator": { "type": "string" }, + "constant": { "type": "integer" }, + "first_signal": { "$ref": "blueprintSchema.json#/definitions/signal" }, + "second_signal": { "$ref": "blueprintSchema.json#/definitions/signal" } + } + } + } + } + } + } + }, + "tiles": { + "type": "array", + "items": { + "type": "object", + "required": ["name", "position"], + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "tileName": false + }, + "position": { "$ref": "blueprintSchema.json#/definitions/position" } + } + } + } + } + } + } +} diff --git a/src/bundles/entityBundle.json b/src/bundles/entityBundle.json new file mode 100644 index 00000000..ffa6fe41 --- /dev/null +++ b/src/bundles/entityBundle.json @@ -0,0 +1,62266 @@ +{ + "stone-furnace": { + "type": "furnace", + "name": "stone-furnace", + "icon": "entity:icons/stone-furnace", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "stone-furnace" + }, + "max_health": 200, + "corpse": "medium-remnants", + "repair_sound": { + "filename": "entity:sound/manual-repair-simple" + }, + "mined_sound": { + "filename": "entity:sound/deconstruct-bricks" + }, + "open_sound": { + "filename": "entity:sound/machine-open", + "volume": 0.85 + }, + "close_sound": { + "filename": "entity:sound/machine-close", + "volume": 0.75 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-stone-impact", + "volume": 1 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/furnace" + } + }, + "resistances": [ + { + "type": "fire", + "percent": 90 + }, + { + "type": "explosion", + "percent": 30 + }, + { + "type": "impact", + "percent": 30 + } + ], + "collision_box": [ + [ + -0.7, + -0.7 + ], + [ + 0.7, + 0.7 + ] + ], + "selection_box": [ + [ + -0.8, + -1 + ], + [ + 0.8, + 1 + ] + ], + "crafting_categories": [ + "smelting" + ], + "result_inventory_size": 1, + "energy_usage": "180kW", + "crafting_speed": 1, + "source_inventory_size": 1, + "energy_source": { + "type": "burner", + "fuel_category": "chemical", + "effectivity": 1, + "fuel_inventory_size": 1, + "emissions": 0.01, + "smoke": [ + { + "name": "smoke", + "deviation": [ + 0.1, + 0.1 + ], + "frequency": 5, + "position": [ + 0, + -0.8 + ], + "starting_vertical_speed": 0.08, + "starting_frame_deviation": 60 + } + ] + }, + "animation": { + "layers": [ + { + "filename": "entity:stone-furnace/stone-furnace", + "priority": "extra-high", + "width": 81, + "height": 64, + "frame_count": 1, + "shift": [ + 0.515625, + 0.0625 + ], + "hr_version": { + "filename": "entity:stone-furnace/hr-stone-furnace", + "priority": "extra-high", + "width": 151, + "height": 146, + "frame_count": 1, + "shift": [ + -0.0078125, + 0.1875 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:stone-furnace/stone-furnace-shadow", + "priority": "extra-high", + "width": 81, + "height": 64, + "frame_count": 1, + "draw_as_shadow": true, + "shift": [ + 0.515625, + 0.0625 + ], + "hr_version": { + "filename": "entity:stone-furnace/hr-stone-furnace-shadow", + "priority": "extra-high", + "width": 164, + "height": 74, + "frame_count": 1, + "draw_as_shadow": true, + "shift": [ + 0.453125, + 0.40625 + ], + "scale": 0.5 + } + } + ] + }, + "working_visualisations": [ + { + "north_position": [ + 0, + 0 + ], + "east_position": [ + 0, + 0 + ], + "south_position": [ + 0, + 0 + ], + "west_position": [ + 0, + 0 + ], + "animation": { + "filename": "entity:stone-furnace/stone-furnace-fire", + "priority": "extra-high", + "line_length": 8, + "width": 20, + "height": 49, + "frame_count": 48, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.0625, + 0.171875 + ], + "hr_version": { + "filename": "entity:stone-furnace/hr-stone-furnace-fire", + "priority": "extra-high", + "line_length": 8, + "width": 41, + "height": 100, + "frame_count": 48, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + -0.0234375, + 0.171875 + ], + "scale": 0.5 + } + }, + "light": { + "intensity": 1, + "size": 1, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + } + } + ], + "fast_replaceable_group": "furnace", + "size": { + "width": 2, + "height": 2 + } + }, + "steel-furnace": { + "type": "furnace", + "name": "steel-furnace", + "icon": "entity:icons/steel-furnace", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "steel-furnace" + }, + "max_health": 300, + "corpse": "medium-remnants", + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/furnace" + } + }, + "resistances": [ + { + "type": "fire", + "percent": 100 + } + ], + "collision_box": [ + [ + -0.7, + -0.7 + ], + [ + 0.7, + 0.7 + ] + ], + "selection_box": [ + [ + -0.8, + -1 + ], + [ + 0.8, + 1 + ] + ], + "crafting_categories": [ + "smelting" + ], + "result_inventory_size": 1, + "energy_usage": "180kW", + "crafting_speed": 2, + "source_inventory_size": 1, + "energy_source": { + "type": "burner", + "fuel_category": "chemical", + "effectivity": 1, + "emissions": 0.02, + "fuel_inventory_size": 1, + "smoke": [ + { + "name": "smoke", + "frequency": 10, + "position": [ + 0.7, + -1.2 + ], + "starting_vertical_speed": 0.08, + "starting_frame_deviation": 60 + } + ] + }, + "animation": { + "layers": [ + { + "filename": "entity:steel-furnace/steel-furnace", + "priority": "high", + "width": 85, + "height": 87, + "frame_count": 1, + "shift": [ + -0.046875, + 0.046875 + ], + "hr_version": { + "filename": "entity:steel-furnace/hr-steel-furnace", + "priority": "high", + "width": 171, + "height": 174, + "frame_count": 1, + "shift": [ + -0.0390625, + 0.0625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:steel-furnace/steel-furnace-shadow", + "priority": "high", + "width": 139, + "height": 43, + "frame_count": 1, + "draw_as_shadow": true, + "shift": [ + 1.234375, + 0.359375 + ], + "hr_version": { + "filename": "entity:steel-furnace/hr-steel-furnace-shadow", + "priority": "high", + "width": 277, + "height": 85, + "frame_count": 1, + "draw_as_shadow": true, + "shift": [ + 1.2265625, + 0.3515625 + ], + "scale": 0.5 + } + } + ] + }, + "working_visualisations": [ + { + "north_position": [ + 0, + 0 + ], + "east_position": [ + 0, + 0 + ], + "south_position": [ + 0, + 0 + ], + "west_position": [ + 0, + 0 + ], + "animation": { + "filename": "entity:steel-furnace/steel-furnace-fire", + "priority": "high", + "line_length": 8, + "width": 29, + "height": 40, + "frame_count": 48, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + -0.015625, + 0.1875 + ], + "hr_version": { + "filename": "entity:steel-furnace/hr-steel-furnace-fire", + "priority": "high", + "line_length": 8, + "width": 57, + "height": 81, + "frame_count": 48, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + -0.0234375, + 0.1796875 + ], + "scale": 0.5 + } + }, + "light": { + "intensity": 1, + "size": 1, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + } + }, + { + "north_position": [ + 0, + 0 + ], + "east_position": [ + 0, + 0 + ], + "south_position": [ + 0, + 0 + ], + "west_position": [ + 0, + 0 + ], + "effect": "flicker", + "animation": { + "filename": "entity:steel-furnace/steel-furnace-glow", + "priority": "high", + "width": 60, + "height": 43, + "frame_count": 1, + "shift": [ + 0.03125, + 0.640625 + ], + "blend_mode": "additive" + } + }, + { + "north_position": [ + 0, + 0 + ], + "east_position": [ + 0, + 0 + ], + "south_position": [ + 0, + 0 + ], + "west_position": [ + 0, + 0 + ], + "effect": "flicker", + "animation": { + "filename": "entity:steel-furnace/steel-furnace-working", + "priority": "high", + "line_length": 8, + "width": 64, + "height": 75, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0, + -0.140625 + ], + "blend_mode": "additive", + "hr_version": { + "filename": "entity:steel-furnace/hr-steel-furnace-working", + "priority": "high", + "line_length": 8, + "width": 130, + "height": 149, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0, + -0.1328125 + ], + "blend_mode": "additive", + "scale": 0.5 + } + } + } + ], + "fast_replaceable_group": "furnace", + "size": { + "width": 2, + "height": 2 + } + }, + "electric-furnace": { + "type": "furnace", + "name": "electric-furnace", + "icon": "entity:icons/electric-furnace", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "electric-furnace" + }, + "max_health": 350, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "resistances": [ + { + "type": "fire", + "percent": 80 + } + ], + "collision_box": [ + [ + -1.2, + -1.2 + ], + [ + 1.2, + 1.2 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "module_specification": { + "module_slots": 2, + "module_info_icon_shift": [ + 0, + 0.8 + ] + }, + "allowed_effects": [ + "consumption", + "speed", + "productivity", + "pollution" + ], + "crafting_categories": [ + "smelting" + ], + "result_inventory_size": 1, + "crafting_speed": 2, + "energy_usage": "180kW", + "source_inventory_size": 1, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "emissions": 0.005 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/electric-furnace", + "volume": 0.7 + }, + "apparent_volume": 1.5 + }, + "animation": { + "layers": [ + { + "filename": "entity:electric-furnace/electric-furnace-base", + "priority": "high", + "width": 129, + "height": 100, + "frame_count": 1, + "shift": [ + 0.421875, + 0 + ], + "hr_version": { + "filename": "entity:electric-furnace/hr-electric-furnace", + "priority": "high", + "width": 239, + "height": 219, + "frame_count": 1, + "shift": [ + 0.0234375, + 0.1796875 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:electric-furnace/electric-furnace-shadow", + "priority": "high", + "width": 129, + "height": 100, + "frame_count": 1, + "shift": [ + 0.421875, + 0 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:electric-furnace/hr-electric-furnace-shadow", + "priority": "high", + "width": 227, + "height": 171, + "frame_count": 1, + "draw_as_shadow": true, + "shift": [ + 0.3515625, + 0.2421875 + ], + "scale": 0.5 + } + } + ] + }, + "working_visualisations": [ + { + "animation": { + "filename": "entity:electric-furnace/electric-furnace-heater", + "priority": "high", + "width": 25, + "height": 15, + "frame_count": 12, + "animation_speed": 0.5, + "shift": [ + 0.015625, + 0.890625 + ], + "hr_version": { + "filename": "entity:electric-furnace/hr-electric-furnace-heater", + "priority": "high", + "width": 60, + "height": 56, + "frame_count": 12, + "animation_speed": 0.5, + "shift": [ + 0.0546875, + 1.0234375 + ], + "scale": 0.5 + } + }, + "light": { + "intensity": 0.4, + "size": 6, + "shift": [ + 0, + 1 + ], + "color": { + "r": 1, + "g": 1, + "b": 1 + } + } + }, + { + "animation": { + "filename": "entity:electric-furnace/electric-furnace-propeller-1", + "priority": "high", + "width": 19, + "height": 13, + "frame_count": 4, + "animation_speed": 0.5, + "shift": [ + -0.671875, + -0.640625 + ], + "hr_version": { + "filename": "entity:electric-furnace/hr-electric-furnace-propeller-1", + "priority": "high", + "width": 37, + "height": 25, + "frame_count": 4, + "animation_speed": 0.5, + "shift": [ + -0.640625, + -0.578125 + ], + "scale": 0.5 + } + } + }, + { + "animation": { + "filename": "entity:electric-furnace/electric-furnace-propeller-2", + "priority": "high", + "width": 12, + "height": 9, + "frame_count": 4, + "animation_speed": 0.5, + "shift": [ + 0.0625, + -1.234375 + ], + "hr_version": { + "filename": "entity:electric-furnace/hr-electric-furnace-propeller-2", + "priority": "high", + "width": 23, + "height": 15, + "frame_count": 4, + "animation_speed": 0.5, + "shift": [ + 0.109375, + -1.1875 + ], + "scale": 0.5 + } + } + } + ], + "fast_replaceable_group": "furnace", + "size": { + "width": 3, + "height": 3 + } + }, + "transport-belt": { + "type": "transport-belt", + "name": "transport-belt", + "icon": "entity:icons/transport-belt", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.3, + "result": "transport-belt" + }, + "max_health": 150, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 90 + } + ], + "collision_box": [ + [ + -0.4, + -0.4 + ], + [ + 0.4, + 0.4 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "working_sound": { + "sound": { + "filename": "entity:sound/transport-belt", + "volume": 0.4 + }, + "max_sounds_per_type": 3 + }, + "animation_speed_coefficient": 32, + "animations": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "direction_count": 12, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "scale": 0.5, + "frame_count": 16, + "direction_count": 12 + } + }, + "belt_horizontal": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "scale": 0.5, + "frame_count": 16 + } + }, + "belt_vertical": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 40, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "scale": 0.5, + "y": 80 + } + }, + "ending_top": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 80, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 160, + "scale": 0.5 + } + }, + "ending_bottom": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 120, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 240, + "scale": 0.5 + } + }, + "ending_side": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 160, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 320, + "scale": 0.5 + } + }, + "starting_top": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 200, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 400, + "scale": 0.5 + } + }, + "starting_bottom": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 240, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 480, + "scale": 0.5 + } + }, + "starting_side": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 280, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 560, + "scale": 0.5 + } + }, + "ending_patch": { + "sheet": { + "filename": "entity:transport-belt/start-end-integration-patches", + "width": 40, + "height": 40, + "priority": "extra-high", + "hr_version": { + "filename": "entity:transport-belt/hr-start-end-integration-patches", + "width": 80, + "height": 80, + "priority": "extra-high", + "scale": 0.5 + } + } + }, + "fast_replaceable_group": "transport-belt", + "speed": 0.03125, + "connector_frame_sprites": { + "frame_main": { + "sheet": { + "filename": "entity:connector/hr-ccm-belt-04a-sequence", + "frame_count": 4, + "height": 90, + "line_length": 4, + "priority": "low", + "scale": 0.5, + "shift": [ + 0.09375, + -0.1875 + ], + "variation_count": 7, + "width": 80 + } + }, + "frame_shadow": { + "sheet": { + "draw_as_shadow": true, + "filename": "entity:connector/hr-ccm-belt-04b-sequence-shadow", + "frame_count": 4, + "height": 74, + "line_length": 4, + "priority": "low", + "scale": 0.5, + "shift": [ + 0.390625, + -0.015625 + ], + "variation_count": 7, + "width": 116 + } + }, + "frame_main_scanner": { + "filename": "entity:connector/hr-CCM-BELT-SPRITES-SCANNER", + "frame_count": 8, + "height": 64, + "line_length": 8, + "priority": "low", + "scale": 0.5, + "shift": [ + 0, + 0.015625 + ], + "width": 22 + }, + "frame_main_scanner_movement_speed": 0.032258064516129, + "frame_main_scanner_horizontal_start_shift": [ + -0.25, + -0.09375 + ], + "frame_main_scanner_horizontal_end_shift": [ + 0.25, + -0.09375 + ], + "frame_main_scanner_horizontal_y_scale": 0.7, + "frame_main_scanner_horizontal_rotation": 0, + "frame_main_scanner_vertical_start_shift": [ + 0, + -0.3125 + ], + "frame_main_scanner_vertical_end_shift": [ + 0, + 0.1875 + ], + "frame_main_scanner_vertical_y_scale": 0.75, + "frame_main_scanner_vertical_rotation": 0.25, + "frame_main_scanner_cross_horizontal_start_shift": [ + -0.3125, + -0.0625 + ], + "frame_main_scanner_cross_horizontal_end_shift": [ + 0.3125, + -0.0625 + ], + "frame_main_scanner_cross_horizontal_y_scale": 0.6, + "frame_main_scanner_cross_horizontal_rotation": 0, + "frame_main_scanner_cross_vertical_start_shift": [ + 0, + -0.3125 + ], + "frame_main_scanner_cross_vertical_end_shift": [ + 0, + 0.1875 + ], + "frame_main_scanner_cross_vertical_y_scale": 0.75, + "frame_main_scanner_cross_vertical_rotation": 0.25, + "frame_main_scanner_nw_ne": { + "filename": "entity:connector/transport-belt-connector-frame-main-scanner-nw-ne", + "priority": "low", + "blend_mode": "additive", + "line_length": 8, + "width": 28, + "height": 24, + "frame_count": 32, + "shift": [ + -0.03125, + -0.0625 + ] + }, + "frame_main_scanner_sw_se": { + "filename": "entity:connector/transport-belt-connector-frame-main-scanner-sw-se", + "priority": "low", + "blend_mode": "additive", + "line_length": 8, + "width": 29, + "height": 28, + "frame_count": 32, + "shift": [ + 0.015625, + -0.09375 + ] + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 264, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 108, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 156, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + -0.4375 + ], + "red_green_led_light_offset": [ + 0.046875, + 0.171875 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 220, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 90, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 130, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + -0.421875 + ], + "red_green_led_light_offset": [ + 0.328125, + 0.140625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 176, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 72, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 104, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.3125, + -0.640625 + ], + "red_green_led_light_offset": [ + 0.3125, + 0.140625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 132, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 54, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 78, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.28125, + -0.34375 + ], + "red_green_led_light_offset": [ + 0.28125, + 0.15625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 88, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 36, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 52, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.28125, + -0.421875 + ], + "red_green_led_light_offset": [ + 0.34375, + 0.15625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 44, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 18, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 26, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.25, + -0.625 + ], + "red_green_led_light_offset": [ + 0.28125, + 0.171875 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.28125, + -0.421875 + ], + "red_green_led_light_offset": [ + 0.3125, + 0.140625 + ] + } + ], + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "fast-transport-belt": { + "type": "transport-belt", + "name": "fast-transport-belt", + "icon": "entity:icons/fast-transport-belt", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.3, + "result": "fast-transport-belt" + }, + "max_health": 160, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 50 + } + ], + "collision_box": [ + [ + -0.4, + -0.4 + ], + [ + 0.4, + 0.4 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "working_sound": { + "sound": { + "filename": "entity:sound/fast-transport-belt", + "volume": 0.4 + }, + "max_sounds_per_type": 3 + }, + "animation_speed_coefficient": 32, + "animations": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "direction_count": 12, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "direction_count": 12, + "scale": 0.5 + } + }, + "belt_horizontal": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "scale": 0.5 + } + }, + "belt_vertical": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 40, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 160, + "scale": 0.5 + } + }, + "ending_top": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 80, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 320, + "scale": 0.5 + } + }, + "ending_bottom": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 120, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 480, + "scale": 0.5 + } + }, + "ending_side": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 160, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 640, + "scale": 0.5 + } + }, + "starting_top": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 200, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 800, + "scale": 0.5 + } + }, + "starting_bottom": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 240, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 960, + "scale": 0.5 + } + }, + "starting_side": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 280, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 1120, + "scale": 0.5 + } + }, + "ending_patch": { + "sheet": { + "filename": "entity:transport-belt/start-end-integration-patches", + "width": 40, + "height": 40, + "priority": "extra-high", + "hr_version": { + "filename": "entity:transport-belt/hr-start-end-integration-patches", + "width": 80, + "height": 80, + "priority": "extra-high", + "scale": 0.5 + } + } + }, + "fast_replaceable_group": "transport-belt", + "speed": 0.0625, + "connector_frame_sprites": { + "frame_main": { + "sheet": { + "filename": "entity:connector/hr-ccm-belt-04a-sequence", + "frame_count": 4, + "height": 90, + "line_length": 4, + "priority": "low", + "scale": 0.5, + "shift": [ + 0.09375, + -0.1875 + ], + "variation_count": 7, + "width": 80 + } + }, + "frame_shadow": { + "sheet": { + "draw_as_shadow": true, + "filename": "entity:connector/hr-ccm-belt-04b-sequence-shadow", + "frame_count": 4, + "height": 74, + "line_length": 4, + "priority": "low", + "scale": 0.5, + "shift": [ + 0.390625, + -0.015625 + ], + "variation_count": 7, + "width": 116 + } + }, + "frame_main_scanner": { + "filename": "entity:connector/hr-CCM-BELT-SPRITES-SCANNER", + "frame_count": 8, + "height": 64, + "line_length": 8, + "priority": "low", + "scale": 0.5, + "shift": [ + 0, + 0.015625 + ], + "width": 22 + }, + "frame_main_scanner_movement_speed": 0.032258064516129, + "frame_main_scanner_horizontal_start_shift": [ + -0.25, + -0.09375 + ], + "frame_main_scanner_horizontal_end_shift": [ + 0.25, + -0.09375 + ], + "frame_main_scanner_horizontal_y_scale": 0.7, + "frame_main_scanner_horizontal_rotation": 0, + "frame_main_scanner_vertical_start_shift": [ + 0, + -0.3125 + ], + "frame_main_scanner_vertical_end_shift": [ + 0, + 0.1875 + ], + "frame_main_scanner_vertical_y_scale": 0.75, + "frame_main_scanner_vertical_rotation": 0.25, + "frame_main_scanner_cross_horizontal_start_shift": [ + -0.3125, + -0.0625 + ], + "frame_main_scanner_cross_horizontal_end_shift": [ + 0.3125, + -0.0625 + ], + "frame_main_scanner_cross_horizontal_y_scale": 0.6, + "frame_main_scanner_cross_horizontal_rotation": 0, + "frame_main_scanner_cross_vertical_start_shift": [ + 0, + -0.3125 + ], + "frame_main_scanner_cross_vertical_end_shift": [ + 0, + 0.1875 + ], + "frame_main_scanner_cross_vertical_y_scale": 0.75, + "frame_main_scanner_cross_vertical_rotation": 0.25, + "frame_main_scanner_nw_ne": { + "filename": "entity:connector/transport-belt-connector-frame-main-scanner-nw-ne", + "priority": "low", + "blend_mode": "additive", + "line_length": 8, + "width": 28, + "height": 24, + "frame_count": 32, + "shift": [ + -0.03125, + -0.0625 + ] + }, + "frame_main_scanner_sw_se": { + "filename": "entity:connector/transport-belt-connector-frame-main-scanner-sw-se", + "priority": "low", + "blend_mode": "additive", + "line_length": 8, + "width": 29, + "height": 28, + "frame_count": 32, + "shift": [ + 0.015625, + -0.09375 + ] + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 264, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 108, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 156, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + -0.4375 + ], + "red_green_led_light_offset": [ + 0.046875, + 0.171875 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 220, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 90, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 130, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + -0.421875 + ], + "red_green_led_light_offset": [ + 0.328125, + 0.140625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 176, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 72, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 104, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.3125, + -0.640625 + ], + "red_green_led_light_offset": [ + 0.3125, + 0.140625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 132, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 54, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 78, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.28125, + -0.34375 + ], + "red_green_led_light_offset": [ + 0.28125, + 0.15625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 88, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 36, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 52, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.28125, + -0.421875 + ], + "red_green_led_light_offset": [ + 0.34375, + 0.15625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 44, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 18, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 26, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.25, + -0.625 + ], + "red_green_led_light_offset": [ + 0.28125, + 0.171875 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.28125, + -0.421875 + ], + "red_green_led_light_offset": [ + 0.3125, + 0.140625 + ] + } + ], + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "express-transport-belt": { + "type": "transport-belt", + "name": "express-transport-belt", + "icon": "entity:icons/express-transport-belt", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.3, + "result": "express-transport-belt" + }, + "max_health": 170, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 50 + } + ], + "collision_box": [ + [ + -0.4, + -0.4 + ], + [ + 0.4, + 0.4 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "working_sound": { + "sound": { + "filename": "entity:sound/express-transport-belt", + "volume": 0.4 + }, + "max_sounds_per_type": 3 + }, + "animation_speed_coefficient": 32, + "animations": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "direction_count": 12, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "direction_count": 12, + "scale": 0.5 + } + }, + "belt_horizontal": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "scale": 0.5 + } + }, + "belt_vertical": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 40, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 160, + "scale": 0.5 + } + }, + "ending_top": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 80, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 320, + "scale": 0.5 + } + }, + "ending_bottom": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 120, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 480, + "scale": 0.5 + } + }, + "ending_side": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 160, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 640, + "scale": 0.5 + } + }, + "starting_top": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 200, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 800, + "scale": 0.5 + } + }, + "starting_bottom": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 240, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 960, + "scale": 0.5 + } + }, + "starting_side": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 280, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 1120, + "scale": 0.5 + } + }, + "ending_patch": { + "sheet": { + "filename": "entity:transport-belt/start-end-integration-patches", + "width": 40, + "height": 40, + "priority": "extra-high", + "hr_version": { + "filename": "entity:transport-belt/hr-start-end-integration-patches", + "width": 80, + "height": 80, + "priority": "extra-high", + "scale": 0.5 + } + } + }, + "fast_replaceable_group": "transport-belt", + "speed": 0.09375, + "connector_frame_sprites": { + "frame_main": { + "sheet": { + "filename": "entity:connector/hr-ccm-belt-04a-sequence", + "frame_count": 4, + "height": 90, + "line_length": 4, + "priority": "low", + "scale": 0.5, + "shift": [ + 0.09375, + -0.1875 + ], + "variation_count": 7, + "width": 80 + } + }, + "frame_shadow": { + "sheet": { + "draw_as_shadow": true, + "filename": "entity:connector/hr-ccm-belt-04b-sequence-shadow", + "frame_count": 4, + "height": 74, + "line_length": 4, + "priority": "low", + "scale": 0.5, + "shift": [ + 0.390625, + -0.015625 + ], + "variation_count": 7, + "width": 116 + } + }, + "frame_main_scanner": { + "filename": "entity:connector/hr-CCM-BELT-SPRITES-SCANNER", + "frame_count": 8, + "height": 64, + "line_length": 8, + "priority": "low", + "scale": 0.5, + "shift": [ + 0, + 0.015625 + ], + "width": 22 + }, + "frame_main_scanner_movement_speed": 0.032258064516129, + "frame_main_scanner_horizontal_start_shift": [ + -0.25, + -0.09375 + ], + "frame_main_scanner_horizontal_end_shift": [ + 0.25, + -0.09375 + ], + "frame_main_scanner_horizontal_y_scale": 0.7, + "frame_main_scanner_horizontal_rotation": 0, + "frame_main_scanner_vertical_start_shift": [ + 0, + -0.3125 + ], + "frame_main_scanner_vertical_end_shift": [ + 0, + 0.1875 + ], + "frame_main_scanner_vertical_y_scale": 0.75, + "frame_main_scanner_vertical_rotation": 0.25, + "frame_main_scanner_cross_horizontal_start_shift": [ + -0.3125, + -0.0625 + ], + "frame_main_scanner_cross_horizontal_end_shift": [ + 0.3125, + -0.0625 + ], + "frame_main_scanner_cross_horizontal_y_scale": 0.6, + "frame_main_scanner_cross_horizontal_rotation": 0, + "frame_main_scanner_cross_vertical_start_shift": [ + 0, + -0.3125 + ], + "frame_main_scanner_cross_vertical_end_shift": [ + 0, + 0.1875 + ], + "frame_main_scanner_cross_vertical_y_scale": 0.75, + "frame_main_scanner_cross_vertical_rotation": 0.25, + "frame_main_scanner_nw_ne": { + "filename": "entity:connector/transport-belt-connector-frame-main-scanner-nw-ne", + "priority": "low", + "blend_mode": "additive", + "line_length": 8, + "width": 28, + "height": 24, + "frame_count": 32, + "shift": [ + -0.03125, + -0.0625 + ] + }, + "frame_main_scanner_sw_se": { + "filename": "entity:connector/transport-belt-connector-frame-main-scanner-sw-se", + "priority": "low", + "blend_mode": "additive", + "line_length": 8, + "width": 29, + "height": 28, + "frame_count": 32, + "shift": [ + 0.015625, + -0.09375 + ] + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.421875, + -0.671875 + ], + "green": [ + 0.671875, + -0.53125 + ] + }, + "shadow": { + "red": [ + 0.8125, + -0.375 + ], + "green": [ + 1.09375, + -0.203125 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.3125, + -0.8125 + ], + "green": [ + 0.5625, + -0.65625 + ] + }, + "shadow": { + "red": [ + 0.734375, + -0.515625 + ], + "green": [ + 1.03125, + -0.34375 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.65625 + ], + "green": [ + 0.671875, + -0.5 + ] + }, + "shadow": { + "red": [ + 0.875, + -0.359375 + ], + "green": [ + 1.171875, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.640625, + -0.6875 + ] + }, + "shadow": { + "red": [ + 0.890625, + -0.546875 + ], + "green": [ + 1.171875, + -0.375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.59375 + ], + "green": [ + 0.65625, + -0.4375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.28125 + ], + "green": [ + 1.21875, + -0.109375 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.359375, + -0.640625 + ], + "green": [ + 0.625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.921875, + -0.328125 + ], + "green": [ + 1.21875, + -0.15625 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + }, + { + "wire": { + "red": [ + 0.40625, + -0.640625 + ], + "green": [ + 0.65625, + -0.484375 + ] + }, + "shadow": { + "red": [ + 0.953125, + -0.359375 + ], + "green": [ + 1.265625, + -0.1875 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 264, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 108, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 156, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + -0.4375 + ], + "red_green_led_light_offset": [ + 0.046875, + 0.171875 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 220, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 90, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 130, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + -0.421875 + ], + "red_green_led_light_offset": [ + 0.328125, + 0.140625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 176, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 72, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 104, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.3125, + -0.640625 + ], + "red_green_led_light_offset": [ + 0.3125, + 0.140625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 132, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 54, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 78, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.28125, + -0.34375 + ], + "red_green_led_light_offset": [ + 0.28125, + 0.15625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 88, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 36, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 52, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.28125, + -0.421875 + ], + "red_green_led_light_offset": [ + 0.34375, + 0.15625 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 44, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 18, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 26, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.25, + -0.625 + ], + "red_green_led_light_offset": [ + 0.28125, + 0.171875 + ] + }, + { + "led_blue": { + "filename": "entity:connector/hr-ccm-belt-04c-LED-B", + "priority": "low", + "width": 30, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.28125, + -0.484375 + ] + }, + "led_red": { + "filename": "entity:connector/hr-ccm-belt-04d-LED-R", + "priority": "low", + "width": 34, + "height": 18, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.203125, + 0.15625 + ] + }, + "led_green": { + "filename": "entity:connector/hr-ccm-belt-04e-LED-G", + "priority": "low", + "width": 42, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.1875, + 0.15625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.28125, + -0.421875 + ], + "red_green_led_light_offset": [ + 0.3125, + 0.140625 + ] + } + ], + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "boiler": { + "type": "boiler", + "name": "boiler", + "icon": "entity:icons/boiler", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "boiler" + }, + "max_health": 200, + "corpse": "small-remnants", + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "mode": "output-to-separate-pipe", + "resistances": [ + { + "type": "fire", + "percent": 90 + }, + { + "type": "explosion", + "percent": 30 + }, + { + "type": "impact", + "percent": 30 + } + ], + "collision_box": [ + [ + -1.29, + -0.79 + ], + [ + 1.29, + 0.79 + ] + ], + "selection_box": [ + [ + -1.5, + -1 + ], + [ + 1.5, + 1 + ] + ], + "target_temperature": 165, + "fluid_box": { + "base_area": 1, + "height": 2, + "base_level": -1, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "pipe_connections": [ + { + "type": "input-output", + "position": [ + -2, + 0.5 + ] + }, + { + "type": "input-output", + "position": [ + 2, + 0.5 + ] + } + ], + "production_type": "input-output", + "filter": "water" + }, + "output_fluid_box": { + "base_area": 1, + "height": 2, + "base_level": 1, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "pipe_connections": [ + { + "type": "output", + "position": [ + 0, + -1.5 + ] + } + ], + "production_type": "output", + "filter": "steam" + }, + "energy_consumption": "1.8MW", + "energy_source": { + "type": "burner", + "fuel_category": "chemical", + "effectivity": 0.5, + "fuel_inventory_size": 1, + "emissions": 0.015384615384615385, + "smoke": [ + { + "name": "smoke", + "north_position": [ + -1.1875, + -1.484375 + ], + "south_position": [ + 1.203125, + -1 + ], + "east_position": [ + 0.625, + -2.1875 + ], + "west_position": [ + -0.59375, + -0.265625 + ], + "frequency": 15, + "starting_vertical_speed": 0, + "starting_frame_deviation": 60 + } + ] + }, + "working_sound": { + "sound": { + "filename": "entity:sound/boiler", + "volume": 0.8 + }, + "max_sounds_per_type": 3 + }, + "structure": { + "0": { + "layers": [ + { + "filename": "entity:boiler/boiler-N-idle", + "priority": "extra-high", + "width": 131, + "height": 108, + "shift": [ + -0.015625, + 0.125 + ], + "hr_version": { + "filename": "entity:boiler/hr-boiler-N-idle", + "priority": "extra-high", + "width": 269, + "height": 221, + "shift": [ + -0.0390625, + 0.1640625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:boiler/boiler-N-shadow", + "priority": "extra-high", + "width": 137, + "height": 82, + "shift": [ + 0.640625, + 0.28125 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:boiler/hr-boiler-N-shadow", + "priority": "extra-high", + "width": 274, + "height": 164, + "scale": 0.5, + "shift": [ + 0.640625, + 0.28125 + ], + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:boiler/boiler-E-idle", + "priority": "extra-high", + "width": 105, + "height": 147, + "shift": [ + -0.109375, + -0.015625 + ], + "hr_version": { + "filename": "entity:boiler/hr-boiler-E-idle", + "priority": "extra-high", + "width": 216, + "height": 301, + "shift": [ + -0.09375, + 0.0390625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:boiler/boiler-E-shadow", + "priority": "extra-high", + "width": 92, + "height": 97, + "shift": [ + 0.9375, + 0.296875 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:boiler/hr-boiler-E-shadow", + "priority": "extra-high", + "width": 184, + "height": 194, + "scale": 0.5, + "shift": [ + 0.9375, + 0.296875 + ], + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:boiler/boiler-S-idle", + "priority": "extra-high", + "width": 128, + "height": 95, + "shift": [ + 0.09375, + 0.390625 + ], + "hr_version": { + "filename": "entity:boiler/hr-boiler-S-idle", + "priority": "extra-high", + "width": 260, + "height": 192, + "shift": [ + 0.125, + 0.40625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:boiler/boiler-S-shadow", + "priority": "extra-high", + "width": 156, + "height": 66, + "shift": [ + 0.9375, + 0.5 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:boiler/hr-boiler-S-shadow", + "priority": "extra-high", + "width": 311, + "height": 131, + "scale": 0.5, + "shift": [ + 0.9296875, + 0.4921875 + ], + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:boiler/boiler-W-idle", + "priority": "extra-high", + "width": 96, + "height": 132, + "shift": [ + 0.03125, + 0.15625 + ], + "hr_version": { + "filename": "entity:boiler/hr-boiler-W-idle", + "priority": "extra-high", + "width": 196, + "height": 273, + "shift": [ + 0.046875, + 0.2421875 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:boiler/boiler-W-shadow", + "priority": "extra-high", + "width": 103, + "height": 109, + "shift": [ + 0.609375, + 0.203125 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:boiler/hr-boiler-W-shadow", + "priority": "extra-high", + "width": 206, + "height": 218, + "scale": 0.5, + "shift": [ + 0.609375, + 0.203125 + ], + "draw_as_shadow": true + } + } + ] + } + }, + "patch": { + "2": { + "filename": "entity:boiler/boiler-E-patch", + "priority": "extra-high", + "width": 3, + "height": 17, + "shift": [ + 1.046875, + -0.421875 + ], + "hr_version": { + "filename": "entity:boiler/hr-boiler-E-patch", + "width": 6, + "height": 36, + "shift": [ + 1.046875, + -0.421875 + ], + "scale": 0.5 + } + } + }, + "fire_flicker_enabled": true, + "fire": { + "0": { + "filename": "entity:boiler/boiler-N-fire", + "priority": "extra-high", + "frame_count": 64, + "line_length": 8, + "width": 12, + "height": 13, + "animation_speed": 0.5, + "shift": [ + 0, + -0.265625 + ], + "hr_version": { + "filename": "entity:boiler/hr-boiler-N-fire", + "priority": "extra-high", + "frame_count": 64, + "line_length": 8, + "width": 26, + "height": 26, + "animation_speed": 0.5, + "shift": [ + 0, + -0.265625 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:boiler/boiler-E-fire", + "priority": "extra-high", + "frame_count": 64, + "line_length": 8, + "width": 14, + "height": 14, + "animation_speed": 0.5, + "shift": [ + -0.3125, + -0.6875 + ], + "hr_version": { + "filename": "entity:boiler/hr-boiler-E-fire", + "priority": "extra-high", + "frame_count": 64, + "line_length": 8, + "width": 28, + "height": 28, + "animation_speed": 0.5, + "shift": [ + -0.296875, + -0.6875 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:boiler/boiler-S-fire", + "priority": "extra-high", + "frame_count": 64, + "line_length": 8, + "width": 12, + "height": 9, + "animation_speed": 0.5, + "shift": [ + -0.03125, + -0.828125 + ], + "hr_version": { + "filename": "entity:boiler/hr-boiler-S-fire", + "priority": "extra-high", + "frame_count": 64, + "line_length": 8, + "width": 26, + "height": 16, + "animation_speed": 0.5, + "shift": [ + -0.03125, + -0.828125 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:boiler/boiler-W-fire", + "priority": "extra-high", + "frame_count": 64, + "line_length": 8, + "width": 14, + "height": 14, + "animation_speed": 0.5, + "shift": [ + 0.40625, + -0.71875 + ], + "hr_version": { + "filename": "entity:boiler/hr-boiler-W-fire", + "priority": "extra-high", + "frame_count": 64, + "line_length": 8, + "width": 30, + "height": 29, + "animation_speed": 0.5, + "shift": [ + 0.40625, + -0.7265625 + ], + "scale": 0.5 + } + } + }, + "fire_glow_flicker_enabled": true, + "fire_glow": { + "0": { + "filename": "entity:boiler/boiler-N-light", + "priority": "extra-high", + "frame_count": 1, + "width": 100, + "height": 87, + "shift": [ + -0.03125, + -0.203125 + ], + "blend_mode": "additive", + "hr_version": { + "filename": "entity:boiler/hr-boiler-N-light", + "priority": "extra-high", + "frame_count": 1, + "width": 200, + "height": 173, + "shift": [ + -0.03125, + -0.2109375 + ], + "blend_mode": "additive", + "scale": 0.5 + } + }, + "2": { + "filename": "entity:boiler/boiler-E-light", + "priority": "extra-high", + "frame_count": 1, + "width": 70, + "height": 122, + "shift": [ + 0, + -0.40625 + ], + "blend_mode": "additive", + "hr_version": { + "filename": "entity:boiler/hr-boiler-E-light", + "priority": "extra-high", + "frame_count": 1, + "width": 139, + "height": 244, + "shift": [ + 0.0078125, + -0.40625 + ], + "blend_mode": "additive", + "scale": 0.5 + } + }, + "4": { + "filename": "entity:boiler/boiler-S-light", + "priority": "extra-high", + "frame_count": 1, + "width": 100, + "height": 81, + "shift": [ + 0.03125, + 0.171875 + ], + "blend_mode": "additive", + "hr_version": { + "filename": "entity:boiler/hr-boiler-S-light", + "priority": "extra-high", + "frame_count": 1, + "width": 200, + "height": 162, + "shift": [ + 0.03125, + 0.171875 + ], + "blend_mode": "additive", + "scale": 0.5 + } + }, + "6": { + "filename": "entity:boiler/boiler-W-light", + "priority": "extra-high", + "frame_count": 1, + "width": 68, + "height": 109, + "shift": [ + 0.0625, + -0.203125 + ], + "blend_mode": "additive", + "hr_version": { + "filename": "entity:boiler/hr-boiler-W-light", + "priority": "extra-high", + "frame_count": 1, + "width": 136, + "height": 217, + "shift": [ + 0.0625, + -0.1953125 + ], + "blend_mode": "additive", + "scale": 0.5 + } + } + }, + "burning_cooldown": 20, + "size": { + "width": 3, + "height": 2 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "heat-exchanger": { + "type": "boiler", + "name": "heat-exchanger", + "icon": "entity:icons/heat-boiler", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "heat-exchanger" + }, + "max_health": 200, + "corpse": "small-remnants", + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "mode": "output-to-separate-pipe", + "resistances": [ + { + "type": "fire", + "percent": 90 + }, + { + "type": "explosion", + "percent": 30 + }, + { + "type": "impact", + "percent": 30 + } + ], + "collision_box": [ + [ + -1.29, + -0.79 + ], + [ + 1.29, + 0.79 + ] + ], + "selection_box": [ + [ + -1.5, + -1 + ], + [ + 1.5, + 1 + ] + ], + "target_temperature": 500, + "fluid_box": { + "base_area": 1, + "height": 2, + "base_level": -1, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "pipe_connections": [ + { + "type": "input-output", + "position": [ + -2, + 0.5 + ] + }, + { + "type": "input-output", + "position": [ + 2, + 0.5 + ] + } + ], + "production_type": "input-output", + "filter": "water" + }, + "output_fluid_box": { + "base_area": 1, + "height": 2, + "base_level": 1, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "pipe_connections": [ + { + "type": "output", + "position": [ + 0, + -1.5 + ] + } + ], + "production_type": "output", + "filter": "steam" + }, + "energy_consumption": "10MW", + "energy_source": { + "type": "heat", + "max_temperature": 1000, + "specific_heat": "1MJ", + "max_transfer": "2GW", + "connections": [ + { + "position": [ + 0, + 0.5 + ], + "direction": 4 + } + ], + "pipe_covers": { + "0": { + "filename": "entity:heat-exchanger/heatex-endings", + "priority": "high", + "x": 0, + "width": 32, + "height": 32, + "frame_count": 1, + "line_length": 4, + "scale": 1, + "hr_version": { + "filename": "entity:heat-exchanger/hr-heatex-endings", + "priority": "high", + "x": 0, + "width": 64, + "height": 64, + "frame_count": 1, + "line_length": 4, + "scale": 0.5 + } + }, + "2": { + "filename": "entity:heat-exchanger/heatex-endings", + "priority": "high", + "x": 32, + "width": 32, + "height": 32, + "frame_count": 1, + "line_length": 4, + "scale": 1, + "hr_version": { + "filename": "entity:heat-exchanger/hr-heatex-endings", + "priority": "high", + "x": 64, + "width": 64, + "height": 64, + "frame_count": 1, + "line_length": 4, + "scale": 0.5 + } + }, + "4": { + "filename": "entity:heat-exchanger/heatex-endings", + "priority": "high", + "x": 64, + "width": 32, + "height": 32, + "frame_count": 1, + "line_length": 4, + "scale": 1, + "hr_version": { + "filename": "entity:heat-exchanger/hr-heatex-endings", + "priority": "high", + "x": 128, + "width": 64, + "height": 64, + "frame_count": 1, + "line_length": 4, + "scale": 0.5 + } + }, + "6": { + "filename": "entity:heat-exchanger/heatex-endings", + "priority": "high", + "x": 96, + "width": 32, + "height": 32, + "frame_count": 1, + "line_length": 4, + "scale": 1, + "hr_version": { + "filename": "entity:heat-exchanger/hr-heatex-endings", + "priority": "high", + "x": 192, + "width": 64, + "height": 64, + "frame_count": 1, + "line_length": 4, + "scale": 0.5 + } + } + } + }, + "working_sound": { + "sound": { + "filename": "entity:sound/boiler", + "volume": 0.8 + }, + "max_sounds_per_type": 3 + }, + "structure": { + "0": { + "layers": [ + { + "filename": "entity:heat-exchanger/heatex-N-idle", + "priority": "extra-high", + "width": 131, + "height": 108, + "shift": [ + -0.015625, + 0.125 + ], + "hr_version": { + "filename": "entity:heat-exchanger/hr-heatex-N-idle", + "priority": "extra-high", + "width": 269, + "height": 221, + "shift": [ + -0.0390625, + 0.1640625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:boiler/boiler-N-shadow", + "priority": "extra-high", + "width": 137, + "height": 82, + "shift": [ + 0.640625, + 0.28125 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:boiler/hr-boiler-N-shadow", + "priority": "extra-high", + "width": 274, + "height": 164, + "scale": 0.5, + "shift": [ + 0.640625, + 0.28125 + ], + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:heat-exchanger/heatex-E-idle", + "priority": "extra-high", + "width": 102, + "height": 147, + "shift": [ + -0.0625, + -0.015625 + ], + "hr_version": { + "filename": "entity:heat-exchanger/hr-heatex-E-idle", + "priority": "extra-high", + "width": 211, + "height": 301, + "shift": [ + -0.0546875, + 0.0390625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:boiler/boiler-E-shadow", + "priority": "extra-high", + "width": 92, + "height": 97, + "shift": [ + 0.9375, + 0.296875 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:boiler/hr-boiler-E-shadow", + "priority": "extra-high", + "width": 184, + "height": 194, + "scale": 0.5, + "shift": [ + 0.9375, + 0.296875 + ], + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:heat-exchanger/heatex-S-idle", + "priority": "extra-high", + "width": 128, + "height": 100, + "shift": [ + 0.09375, + 0.3125 + ], + "hr_version": { + "filename": "entity:heat-exchanger/hr-heatex-S-idle", + "priority": "extra-high", + "width": 260, + "height": 201, + "shift": [ + 0.125, + 0.3359375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:boiler/boiler-S-shadow", + "priority": "extra-high", + "width": 156, + "height": 66, + "shift": [ + 0.9375, + 0.5 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:boiler/hr-boiler-S-shadow", + "priority": "extra-high", + "width": 311, + "height": 131, + "scale": 0.5, + "shift": [ + 0.9296875, + 0.4921875 + ], + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:heat-exchanger/heatex-W-idle", + "priority": "extra-high", + "width": 96, + "height": 132, + "shift": [ + 0.03125, + 0.15625 + ], + "hr_version": { + "filename": "entity:heat-exchanger/hr-heatex-W-idle", + "priority": "extra-high", + "width": 196, + "height": 273, + "shift": [ + 0.046875, + 0.2421875 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:boiler/boiler-W-shadow", + "priority": "extra-high", + "width": 103, + "height": 109, + "shift": [ + 0.609375, + 0.203125 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:boiler/hr-boiler-W-shadow", + "priority": "extra-high", + "width": 206, + "height": 218, + "scale": 0.5, + "shift": [ + 0.609375, + 0.203125 + ], + "draw_as_shadow": true + } + } + ] + } + }, + "burning_cooldown": 20, + "size": { + "width": 3, + "height": 2 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "wooden-chest": { + "type": "container", + "name": "wooden-chest", + "icon": "entity:icons/wooden-chest", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "wooden-chest" + }, + "max_health": 100, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.35, + -0.35 + ], + [ + 0.35, + 0.35 + ] + ], + "fast_replaceable_group": "container", + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "inventory_size": 16, + "open_sound": { + "filename": "entity:sound/wooden-chest-open" + }, + "close_sound": { + "filename": "entity:sound/wooden-chest-close" + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-wood-impact", + "volume": 1 + }, + "picture": { + "filename": "entity:wooden-chest/wooden-chest", + "priority": "extra-high", + "width": 46, + "height": 33, + "shift": [ + 0.25, + 0.015625 + ] + }, + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.390625, + 0.21875 + ], + "green": [ + 0.453125, + 0.453125 + ] + }, + "shadow": { + "red": [ + 0.890625, + 0.5625 + ], + "green": [ + 0.671875, + 0.609375 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + 0.203125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.3125, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + 0.296875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + 0.46875 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.359375 + ] + }, + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + } + }, + "iron-chest": { + "type": "container", + "name": "iron-chest", + "icon": "entity:icons/iron-chest", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "iron-chest" + }, + "max_health": 200, + "corpse": "small-remnants", + "open_sound": { + "filename": "entity:sound/metallic-chest-open", + "volume": 0.65 + }, + "close_sound": { + "filename": "entity:sound/metallic-chest-close", + "volume": 0.7 + }, + "resistances": [ + { + "type": "fire", + "percent": 80 + }, + { + "type": "impact", + "percent": 30 + } + ], + "collision_box": [ + [ + -0.35, + -0.35 + ], + [ + 0.35, + 0.35 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "fast_replaceable_group": "container", + "inventory_size": 32, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "picture": { + "filename": "entity:iron-chest/iron-chest", + "priority": "extra-high", + "width": 48, + "height": 34, + "shift": [ + 0.1875, + 0 + ] + }, + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.390625, + 0.21875 + ], + "green": [ + 0.453125, + 0.453125 + ] + }, + "shadow": { + "red": [ + 0.890625, + 0.5625 + ], + "green": [ + 0.671875, + 0.609375 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + 0.203125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.3125, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + 0.296875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + 0.46875 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.359375 + ] + }, + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + } + }, + "steel-chest": { + "type": "container", + "name": "steel-chest", + "icon": "entity:icons/steel-chest", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "steel-chest" + }, + "max_health": 350, + "corpse": "small-remnants", + "open_sound": { + "filename": "entity:sound/metallic-chest-open", + "volume": 0.65 + }, + "close_sound": { + "filename": "entity:sound/metallic-chest-close", + "volume": 0.7 + }, + "resistances": [ + { + "type": "fire", + "percent": 90 + }, + { + "type": "impact", + "percent": 60 + } + ], + "collision_box": [ + [ + -0.35, + -0.35 + ], + [ + 0.35, + 0.35 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "fast_replaceable_group": "container", + "inventory_size": 48, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "picture": { + "filename": "entity:steel-chest/steel-chest", + "priority": "extra-high", + "width": 48, + "height": 34, + "shift": [ + 0.1875, + 0 + ] + }, + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.390625, + 0.21875 + ], + "green": [ + 0.453125, + 0.453125 + ] + }, + "shadow": { + "red": [ + 0.890625, + 0.5625 + ], + "green": [ + 0.671875, + 0.609375 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + 0.203125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.3125, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + 0.296875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + 0.46875 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.359375 + ] + }, + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + } + }, + "small-electric-pole": { + "type": "electric-pole", + "name": "small-electric-pole", + "icon": "entity:icons/small-electric-pole", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation", + "fast-replaceable-no-build-while-moving" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "small-electric-pole" + }, + "max_health": 100, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.15, + -0.15 + ], + [ + 0.15, + 0.15 + ] + ], + "selection_box": [ + [ + -0.4, + -0.4 + ], + [ + 0.4, + 0.4 + ] + ], + "drawing_box": [ + [ + -0.5, + -2.6 + ], + [ + 0.5, + 0.5 + ] + ], + "maximum_wire_distance": 7.5, + "supply_area_distance": 2.5, + "vehicle_impact_sound": { + "filename": "entity:sound/car-wood-impact", + "volume": 1 + }, + "track_coverage_during_build_by_moving": true, + "fast_replaceable_group": "electric-pole", + "pictures": { + "filename": "entity:small-electric-pole/small-electric-pole", + "priority": "extra-high", + "width": 123, + "height": 124, + "direction_count": 4, + "shift": [ + 1.4, + -1.1 + ] + }, + "connection_points": [ + { + "shadow": { + "copper": [ + 2.7, + 0 + ], + "red": [ + 2.3, + 0 + ], + "green": [ + 3.1, + 0 + ] + }, + "wire": { + "copper": [ + 0, + -2.7 + ], + "red": [ + -0.375, + -2.625 + ], + "green": [ + 0.40625, + -2.625 + ] + } + }, + { + "shadow": { + "copper": [ + 2.7, + -0.05 + ], + "red": [ + 2.2, + -0.35 + ], + "green": [ + 3, + 0.12 + ] + }, + "wire": { + "copper": [ + -0.04, + -2.8 + ], + "red": [ + -0.375, + -2.9375 + ], + "green": [ + 0.1875, + -2.5625 + ] + } + }, + { + "shadow": { + "copper": [ + 2.5, + -0.1 + ], + "red": [ + 2.55, + -0.45 + ], + "green": [ + 2.5, + 0.25 + ] + }, + "wire": { + "copper": [ + -0.15625, + -2.6875 + ], + "red": [ + -0.0625, + -2.96875 + ], + "green": [ + -0.03125, + -2.40625 + ] + } + }, + { + "shadow": { + "copper": [ + 2.3, + -0.1 + ], + "red": [ + 2.65, + -0.4 + ], + "green": [ + 1.75, + 0.2 + ] + }, + "wire": { + "copper": [ + -0.03125, + -2.71875 + ], + "red": [ + 0.3125, + -2.875 + ], + "green": [ + -0.25, + -2.5 + ] + } + } + ], + "radius_visualisation_picture": { + "filename": "entity:small-electric-pole/electric-pole-radius-visualization", + "width": 12, + "height": 12, + "priority": "extra-high-no-scale" + }, + "size": { + "width": 1, + "height": 1 + } + }, + "big-electric-pole": { + "type": "electric-pole", + "name": "big-electric-pole", + "icon": "entity:icons/big-electric-pole", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation", + "fast-replaceable-no-build-while-moving" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "big-electric-pole" + }, + "max_health": 150, + "corpse": "medium-remnants", + "resistances": [ + { + "type": "fire", + "percent": 100 + } + ], + "collision_box": [ + [ + -0.65, + -0.65 + ], + [ + 0.65, + 0.65 + ] + ], + "selection_box": [ + [ + -1, + -1 + ], + [ + 1, + 1 + ] + ], + "drawing_box": [ + [ + -1, + -3 + ], + [ + 1, + 0.5 + ] + ], + "maximum_wire_distance": 30, + "supply_area_distance": 2, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "pictures": { + "filename": "entity:big-electric-pole/big-electric-pole", + "priority": "high", + "width": 168, + "height": 165, + "direction_count": 4, + "shift": [ + 1.6, + -1.1 + ] + }, + "connection_points": [ + { + "shadow": { + "copper": [ + 2.7, + 0 + ], + "green": [ + 1.8, + 0 + ], + "red": [ + 3.6, + 0 + ] + }, + "wire": { + "copper": [ + 0, + -3.125 + ], + "green": [ + -0.59375, + -3.125 + ], + "red": [ + 0.625, + -3.125 + ] + } + }, + { + "shadow": { + "copper": [ + 3.1, + 0.2 + ], + "green": [ + 2.3, + -0.3 + ], + "red": [ + 3.8, + 0.6 + ] + }, + "wire": { + "copper": [ + -0.0625, + -3.125 + ], + "green": [ + -0.5, + -3.4375 + ], + "red": [ + 0.34375, + -2.8125 + ] + } + }, + { + "shadow": { + "copper": [ + 2.9, + 0.06 + ], + "green": [ + 3, + -0.6 + ], + "red": [ + 3, + 0.8 + ] + }, + "wire": { + "copper": [ + -0.09375, + -3.09375 + ], + "green": [ + -0.09375, + -3.53125 + ], + "red": [ + -0.09375, + -2.65625 + ] + } + }, + { + "shadow": { + "copper": [ + 3.1, + 0.2 + ], + "green": [ + 3.8, + -0.3 + ], + "red": [ + 2.35, + 0.6 + ] + }, + "wire": { + "copper": [ + -0.0625, + -3.1875 + ], + "green": [ + 0.375, + -3.5 + ], + "red": [ + -0.46875, + -2.90625 + ] + } + } + ], + "radius_visualisation_picture": { + "filename": "entity:small-electric-pole/electric-pole-radius-visualization", + "width": 12, + "height": 12, + "priority": "extra-high-no-scale" + }, + "size": { + "width": 2, + "height": 2 + } + }, + "medium-electric-pole": { + "type": "electric-pole", + "name": "medium-electric-pole", + "icon": "entity:icons/medium-electric-pole", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation", + "fast-replaceable-no-build-while-moving" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "medium-electric-pole" + }, + "max_health": 100, + "corpse": "small-remnants", + "track_coverage_during_build_by_moving": true, + "fast_replaceable_group": "electric-pole", + "resistances": [ + { + "type": "fire", + "percent": 100 + } + ], + "collision_box": [ + [ + -0.15, + -0.15 + ], + [ + 0.15, + 0.15 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "drawing_box": [ + [ + -0.5, + -2.8 + ], + [ + 0.5, + 0.5 + ] + ], + "maximum_wire_distance": 9, + "supply_area_distance": 3.5, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "pictures": { + "filename": "entity:medium-electric-pole/medium-electric-pole", + "priority": "high", + "width": 136, + "height": 122, + "direction_count": 4, + "shift": [ + 1.4, + -1 + ] + }, + "connection_points": [ + { + "shadow": { + "copper": [ + 2.55, + 0.4 + ], + "green": [ + 2, + 0.4 + ], + "red": [ + 3.05, + 0.4 + ] + }, + "wire": { + "copper": [ + -0.03125, + -2.46875 + ], + "green": [ + -0.34375, + -2.46875 + ], + "red": [ + 0.25, + -2.46875 + ] + } + }, + { + "shadow": { + "copper": [ + 2.9, + 0.1 + ], + "green": [ + 2.6, + -0.15 + ], + "red": [ + 3.25, + 0.35 + ] + }, + "wire": { + "copper": [ + 0.0625, + -2.65625 + ], + "green": [ + -0.15625, + -2.84375 + ], + "red": [ + 0.28125, + -2.5 + ] + } + }, + { + "shadow": { + "copper": [ + 1.5, + -0.2 + ], + "green": [ + 1.5, + -0.55 + ], + "red": [ + 1.5, + 0.1 + ] + }, + "wire": { + "copper": [ + -0.4375, + -2.28125 + ], + "green": [ + -0.4375, + -2.5625 + ], + "red": [ + -0.4375, + -2.0625 + ] + } + }, + { + "shadow": { + "copper": [ + 2.88, + 0.2 + ], + "green": [ + 3.2, + -0.1 + ], + "red": [ + 2.45, + 0.4 + ] + }, + "wire": { + "copper": [ + -0.0625, + -2.5625 + ], + "green": [ + 0.15625, + -2.75 + ], + "red": [ + -0.28125, + -2.4375 + ] + } + } + ], + "radius_visualisation_picture": { + "filename": "entity:small-electric-pole/electric-pole-radius-visualization", + "width": 12, + "height": 12, + "priority": "extra-high-no-scale" + }, + "size": { + "width": 1, + "height": 1 + } + }, + "substation": { + "type": "electric-pole", + "name": "substation", + "icon": "entity:icons/substation", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "substation" + }, + "max_health": 200, + "corpse": "medium-remnants", + "track_coverage_during_build_by_moving": true, + "resistances": [ + { + "type": "fire", + "percent": 90 + } + ], + "collision_box": [ + [ + -0.7, + -0.7 + ], + [ + 0.7, + 0.7 + ] + ], + "selection_box": [ + [ + -1, + -1 + ], + [ + 1, + 1 + ] + ], + "drawing_box": [ + [ + -1, + -3 + ], + [ + 1, + 1 + ] + ], + "maximum_wire_distance": 18, + "supply_area_distance": 9, + "pictures": { + "filename": "entity:substation/substation", + "priority": "high", + "width": 132, + "height": 144, + "direction_count": 4, + "shift": [ + 0.9, + -1 + ] + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/substation" + }, + "apparent_volume": 1.5, + "audible_distance_modifier": 0.5, + "probability": 0.005555555555555556 + }, + "connection_points": [ + { + "shadow": { + "copper": [ + 1.9, + -0.6 + ], + "green": [ + 1.3, + -0.6 + ], + "red": [ + 2.65, + -0.6 + ] + }, + "wire": { + "copper": [ + -0.25, + -2.71875 + ], + "green": [ + -0.84375, + -2.71875 + ], + "red": [ + 0.34375, + -2.71875 + ] + } + }, + { + "shadow": { + "copper": [ + 1.9, + -0.6 + ], + "green": [ + 1.2, + -0.8 + ], + "red": [ + 2.5, + -0.35 + ] + }, + "wire": { + "copper": [ + -0.21875, + -2.71875 + ], + "green": [ + -0.65625, + -3.03125 + ], + "red": [ + 0.1875, + -2.4375 + ] + } + }, + { + "shadow": { + "copper": [ + 1.9, + -0.6 + ], + "green": [ + 1.9, + -0.9 + ], + "red": [ + 1.9, + -0.3 + ] + }, + "wire": { + "copper": [ + -0.21875, + -2.71875 + ], + "green": [ + -0.21875, + -3.15625 + ], + "red": [ + -0.21875, + -2.34375 + ] + } + }, + { + "shadow": { + "copper": [ + 1.8, + -0.7 + ], + "green": [ + 1.3, + -0.6 + ], + "red": [ + 2.4, + -1.15 + ] + }, + "wire": { + "copper": [ + -0.21875, + -2.75 + ], + "green": [ + -0.65625, + -2.4375 + ], + "red": [ + 0.1875, + -3.03125 + ] + } + } + ], + "radius_visualisation_picture": { + "filename": "entity:small-electric-pole/electric-pole-radius-visualization", + "width": 12, + "height": 12, + "priority": "extra-high-no-scale" + }, + "size": { + "width": 2, + "height": 2 + } + }, + "steam-engine": { + "type": "generator", + "name": "steam-engine", + "icon": "entity:icons/steam-engine", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "steam-engine" + }, + "max_health": 400, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "alert_icon_shift": [ + 0.09375, + -1.0625 + ], + "effectivity": 1, + "fluid_usage_per_tick": 0.5, + "maximum_temperature": 165, + "resistances": [ + { + "type": "fire", + "percent": 70 + }, + { + "type": "impact", + "percent": 30 + } + ], + "fast_replaceable_group": "steam-engine", + "collision_box": [ + [ + -1.35, + -2.35 + ], + [ + 1.35, + 2.35 + ] + ], + "selection_box": [ + [ + -1.5, + -2.5 + ], + [ + 1.5, + 2.5 + ] + ], + "fluid_box": { + "base_area": 1, + "height": 2, + "base_level": -1, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "pipe_connections": [ + { + "type": "input-output", + "position": [ + 0, + 3 + ] + }, + { + "type": "input-output", + "position": [ + 0, + -3 + ] + } + ], + "production_type": "input-output", + "filter": "steam", + "minimum_temperature": 100 + }, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-output" + }, + "horizontal_animation": { + "layers": [ + { + "filename": "entity:steam-engine/steam-engine-H", + "width": 176, + "height": 128, + "frame_count": 32, + "line_length": 8, + "shift": [ + 0.03125, + -0.15625 + ], + "hr_version": { + "filename": "entity:steam-engine/hr-steam-engine-H", + "width": 352, + "height": 257, + "frame_count": 32, + "line_length": 8, + "shift": [ + 0.03125, + -0.1484375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:steam-engine/steam-engine-H-shadow", + "width": 254, + "height": 80, + "frame_count": 32, + "line_length": 8, + "draw_as_shadow": true, + "shift": [ + 1.5, + 0.75 + ], + "hr_version": { + "filename": "entity:steam-engine/hr-steam-engine-H-shadow", + "width": 508, + "height": 160, + "frame_count": 32, + "line_length": 8, + "draw_as_shadow": true, + "shift": [ + 1.5, + 0.75 + ], + "scale": 0.5 + } + } + ] + }, + "vertical_animation": { + "layers": [ + { + "filename": "entity:steam-engine/steam-engine-V", + "width": 112, + "height": 195, + "frame_count": 32, + "line_length": 8, + "shift": [ + 0.15625, + -0.203125 + ], + "hr_version": { + "filename": "entity:steam-engine/hr-steam-engine-V", + "width": 225, + "height": 391, + "frame_count": 32, + "line_length": 8, + "shift": [ + 0.1484375, + -0.1953125 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:steam-engine/steam-engine-V-shadow", + "width": 165, + "height": 153, + "frame_count": 32, + "line_length": 8, + "draw_as_shadow": true, + "shift": [ + 1.265625, + 0.296875 + ], + "hr_version": { + "filename": "entity:steam-engine/hr-steam-engine-V-shadow", + "width": 330, + "height": 307, + "frame_count": 32, + "line_length": 8, + "draw_as_shadow": true, + "shift": [ + 1.265625, + 0.2890625 + ], + "scale": 0.5 + } + } + ] + }, + "smoke": [ + { + "name": "light-smoke", + "north_position": [ + 0.9, + 0 + ], + "east_position": [ + -2, + -2 + ], + "frequency": 0.3125, + "starting_vertical_speed": 0.08, + "slow_down_factor": 1, + "starting_frame_deviation": 60 + } + ], + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/steam-engine-90bpm", + "volume": 0.6 + }, + "match_speed_to_activity": true + }, + "min_perceived_performance": 0.25, + "performance_to_sound_speedup": 0.5, + "size": { + "width": 3, + "height": 5 + }, + "possible_rotations": [ + 0, + 2 + ] + }, + "steam-turbine": { + "type": "generator", + "name": "steam-turbine", + "icon": "entity:icons/steam-turbine", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "steam-turbine" + }, + "max_health": 300, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "alert_icon_shift": [ + 0, + -0.375 + ], + "effectivity": 1, + "fluid_usage_per_tick": 1, + "maximum_temperature": 500, + "burns_fluid": false, + "resistances": [ + { + "type": "fire", + "percent": 70 + } + ], + "fast_replaceable_group": "steam-engine", + "collision_box": [ + [ + -1.35, + -2.35 + ], + [ + 1.35, + 2.35 + ] + ], + "selection_box": [ + [ + -1.5, + -2.5 + ], + [ + 1.5, + 2.5 + ] + ], + "fluid_box": { + "base_area": 1, + "height": 2, + "base_level": -1, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "pipe_connections": [ + { + "type": "input-output", + "position": [ + 0, + 3 + ] + }, + { + "type": "input-output", + "position": [ + 0, + -3 + ] + } + ], + "production_type": "input-output", + "filter": "steam", + "minimum_temperature": 100 + }, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-output" + }, + "horizontal_animation": { + "layers": [ + { + "filename": "entity:steam-turbine/steam-turbine-H", + "width": 160, + "height": 123, + "frame_count": 8, + "line_length": 4, + "shift": [ + 0, + -0.078125 + ], + "hr_version": { + "filename": "entity:steam-turbine/hr-steam-turbine-H", + "width": 320, + "height": 245, + "frame_count": 8, + "line_length": 4, + "shift": [ + 0, + -0.0859375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:steam-turbine/steam-turbine-H-shadow", + "width": 217, + "height": 74, + "repeat_count": 8, + "frame_count": 1, + "line_length": 1, + "draw_as_shadow": true, + "shift": [ + 0.8984375, + 0.5625 + ], + "hr_version": { + "filename": "entity:steam-turbine/hr-steam-turbine-H-shadow", + "width": 435, + "height": 150, + "repeat_count": 8, + "frame_count": 1, + "line_length": 1, + "draw_as_shadow": true, + "shift": [ + 0.890625, + 0.5625 + ], + "scale": 0.5 + } + } + ] + }, + "vertical_animation": { + "layers": [ + { + "filename": "entity:steam-turbine/steam-turbine-V", + "width": 108, + "height": 173, + "frame_count": 8, + "line_length": 4, + "shift": [ + 0.15625, + 0.203125 + ], + "hr_version": { + "filename": "entity:steam-turbine/hr-steam-turbine-V", + "width": 217, + "height": 347, + "frame_count": 8, + "line_length": 4, + "shift": [ + 0.1484375, + 0.2109375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:steam-turbine/steam-turbine-V-shadow", + "width": 151, + "height": 131, + "repeat_count": 8, + "frame_count": 1, + "line_length": 1, + "draw_as_shadow": true, + "shift": [ + 1.234375, + 0.765625 + ], + "hr_version": { + "filename": "entity:steam-turbine/hr-steam-turbine-V-shadow", + "width": 302, + "height": 260, + "repeat_count": 8, + "frame_count": 1, + "line_length": 1, + "draw_as_shadow": true, + "shift": [ + 1.234375, + 0.765625 + ], + "scale": 0.5 + } + } + ] + }, + "smoke": [ + { + "name": "turbine-smoke", + "north_position": [ + 0, + -1 + ], + "east_position": [ + 0.75, + -0.75 + ], + "frequency": 0.3125, + "starting_vertical_speed": 0.08, + "slow_down_factor": 1, + "starting_frame_deviation": 60 + } + ], + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/steam-engine-90bpm", + "volume": 0.6 + }, + "match_speed_to_activity": true + }, + "min_perceived_performance": 0.25, + "performance_to_sound_speedup": 0.5, + "size": { + "width": 3, + "height": 5 + }, + "possible_rotations": [ + 0, + 2 + ] + }, + "offshore-pump": { + "type": "offshore-pump", + "name": "offshore-pump", + "icon": "entity:icons/offshore-pump", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation", + "filter-directions" + ], + "collision_mask": [ + "ground-tile", + "object-layer" + ], + "fluid_box_tile_collision_test": [ + "ground-tile" + ], + "adjacent_tile_collision_test": [ + "water-tile" + ], + "minable": { + "mining_time": 1, + "result": "offshore-pump" + }, + "max_health": 150, + "corpse": "small-remnants", + "fluid": "water", + "resistances": [ + { + "type": "fire", + "percent": 70 + }, + { + "type": "impact", + "percent": 30 + } + ], + "collision_box": [ + [ + -0.6, + -1.05 + ], + [ + 0.6, + 0.3 + ] + ], + "selection_box": [ + [ + -1, + -1.49 + ], + [ + 1, + 0.49 + ] + ], + "fluid_box": { + "base_area": 1, + "base_level": 1, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "production_type": "output", + "pipe_connections": [ + { + "position": [ + 0, + 1 + ], + "type": "output" + } + ] + }, + "pumping_speed": 20, + "tile_width": 1, + "tile_height": 1, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "picture": { + "0": { + "filename": "entity:offshore-pump/offshore-pump", + "priority": "high", + "shift": [ + 0.90625, + 0.0625 + ], + "width": 160, + "height": 102 + }, + "2": { + "filename": "entity:offshore-pump/offshore-pump", + "priority": "high", + "shift": [ + 0.90625, + 0.0625 + ], + "x": 160, + "width": 160, + "height": 102 + }, + "4": { + "filename": "entity:offshore-pump/offshore-pump", + "priority": "high", + "shift": [ + 0.90625, + 0.65625 + ], + "x": 320, + "width": 160, + "height": 102 + }, + "6": { + "filename": "entity:offshore-pump/offshore-pump", + "priority": "high", + "shift": [ + 1, + 0.0625 + ], + "x": 480, + "width": 160, + "height": 102 + } + }, + "placeable_position_visualization": { + "filename": "entity:graphics/cursor-boxes-32x32", + "priority": "extra-high-no-scale", + "width": 64, + "height": 64, + "scale": 0.5, + "x": 192 + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.390625, + 0.03125 + ], + "green": [ + 0.453125, + 0.265625 + ] + }, + "shadow": { + "red": [ + 2.15625, + 0.890625 + ], + "green": [ + 2, + 0.984375 + ] + } + }, + { + "wire": { + "red": [ + 0.453125, + -0.53125 + ], + "green": [ + 0.671875, + -0.453125 + ] + }, + "shadow": { + "red": [ + 2.109375, + 0.375 + ], + "green": [ + 2.234375, + 0.390625 + ] + } + }, + { + "wire": { + "red": [ + 0.171875, + -0.234375 + ], + "green": [ + 0.203125, + 0 + ] + }, + "shadow": { + "red": [ + 1.796875, + 1.234375 + ], + "green": [ + 1.71875, + 1.390625 + ] + } + }, + { + "wire": { + "red": [ + -0.421875, + -0.109375 + ], + "green": [ + -0.609375, + -0.03125 + ] + }, + "shadow": { + "red": [ + 2.671875, + 0.5625 + ], + "green": [ + 2.375, + 0.546875 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 100, + "shift": [ + 0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 116, + "shift": [ + 0.09375, + -0.015625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 112, + "shift": [ + 0.25, + 0.109375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 120, + "shift": [ + 0.09375, + -0.015625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 88, + "shift": [ + 0.09375, + -0.015625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 92, + "shift": [ + 0.09375, + -0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 92, + "shift": [ + 0.09375, + -0.015625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + 0.265625 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.09375 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 208, + "y": 50, + "shift": [ + 0.359375, + -0.1875 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 248, + "y": 58, + "shift": [ + 0.359375, + -0.21875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 280, + "y": 56, + "shift": [ + 0.515625, + -0.09375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 240, + "y": 60, + "shift": [ + 0.359375, + -0.21875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 184, + "y": 44, + "shift": [ + 0.359375, + -0.21875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 46, + "shift": [ + 0.359375, + -0.21875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 46, + "shift": [ + 0.359375, + -0.21875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.65625, + -0.265625 + ], + "red_green_led_light_offset": [ + 0.515625, + -0.3125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 50, + "shift": [ + -0.15625, + -0.203125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 58, + "shift": [ + -0.15625, + -0.234375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 56, + "shift": [ + 0, + -0.109375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 60, + "shift": [ + -0.15625, + -0.234375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 44, + "shift": [ + -0.15625, + -0.234375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 46, + "shift": [ + -0.15625, + -0.234375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 46, + "shift": [ + -0.15625, + -0.234375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.125, + -0.0625 + ], + "red_green_led_light_offset": [ + -0.125, + -0.203125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 50, + "shift": [ + -0.3125, + -0.265625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 0, + "y": 58, + "shift": [ + -0.3125, + -0.296875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 0, + "y": 56, + "shift": [ + -0.15625, + -0.171875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 0, + "y": 60, + "shift": [ + -0.3125, + -0.296875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 44, + "shift": [ + -0.3125, + -0.296875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 46, + "shift": [ + -0.3125, + -0.296875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 46, + "shift": [ + -0.3125, + -0.296875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.59375, + -0.3125 + ], + "red_green_led_light_offset": [ + -0.46875, + -0.375 + ] + } + ], + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "inserter": { + "type": "inserter", + "name": "inserter", + "icon": "entity:icons/inserter", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "inserter" + }, + "max_health": 150, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 90 + } + ], + "collision_box": [ + [ + -0.15, + -0.15 + ], + [ + 0.15, + 0.15 + ] + ], + "selection_box": [ + [ + -0.4, + -0.35 + ], + [ + 0.4, + 0.45 + ] + ], + "energy_per_movement": 5000, + "energy_per_rotation": 5000, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "drain": "0.4kW" + }, + "extension_speed": 0.03, + "rotation_speed": 0.014, + "fast_replaceable_group": "inserter", + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "match_progress_to_activity": true, + "sound": [ + { + "filename": "entity:sound/inserter-basic-1", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-basic-2", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-basic-3", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-basic-4", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-basic-5", + "volume": 0.75 + } + ] + }, + "hand_base_picture": { + "filename": "entity:inserter/inserter-hand-base", + "priority": "extra-high", + "width": 8, + "height": 33, + "hr_version": { + "filename": "entity:inserter/hr-inserter-hand-base", + "priority": "extra-high", + "width": 32, + "height": 136, + "scale": 0.25 + } + }, + "hand_closed_picture": { + "filename": "entity:inserter/inserter-hand-closed", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:inserter/hr-inserter-hand-closed", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_picture": { + "filename": "entity:inserter/inserter-hand-open", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:inserter/hr-inserter-hand-open", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_base_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 8, + "height": 33, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 32, + "height": 132, + "scale": 0.25 + } + }, + "hand_closed_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "pickup_position": [ + 0, + -1 + ], + "insert_position": [ + 0, + 1.2 + ], + "platform_picture": { + "sheet": { + "filename": "entity:inserter/inserter-platform", + "priority": "extra-high", + "width": 46, + "height": 46, + "shift": [ + 0.09375, + 0 + ], + "hr_version": { + "filename": "entity:inserter/hr-inserter-platform", + "priority": "extra-high", + "width": 105, + "height": 79, + "shift": [ + 0.046875, + 0.203125 + ], + "scale": 0.5 + } + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.203125, + -0.34375 + ], + "green": [ + 0.375, + -0.25 + ] + }, + "shadow": { + "red": [ + 0.4375, + -0.140625 + ], + "green": [ + 0.640625, + -0.03125 + ] + } + }, + { + "wire": { + "red": [ + 0.375, + -0.25 + ], + "green": [ + 0.46875, + -0.078125 + ] + }, + "shadow": { + "red": [ + 0.640625, + -0.015625 + ], + "green": [ + 0.75, + 0.15625 + ] + } + }, + { + "wire": { + "red": [ + -0.203125, + -0.359375 + ], + "green": [ + -0.40625, + -0.28125 + ] + }, + "shadow": { + "red": [ + 0.109375, + -0.125 + ], + "green": [ + -0.125, + -0.046875 + ] + } + }, + { + "wire": { + "red": [ + 0.484375, + 0.109375 + ], + "green": [ + 0.359375, + 0.25 + ] + }, + "shadow": { + "red": [ + 0.75, + 0.328125 + ], + "green": [ + 0.65625, + 0.484375 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 52, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 56, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 46, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 60, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 64, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.21875, + 0.234375 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.375, + -0.03125 + ], + "red_green_led_light_offset": [ + -0.328125, + -0.140625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 156, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 168, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 138, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 180, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 186, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.125, + 0.28125 + ], + "red_green_led_light_offset": [ + -0.234375, + 0.25 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 104, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 112, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 92, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 120, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 128, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + 0.203125 + ], + "red_green_led_light_offset": [ + -0.375, + 0.140625 + ] + } + ], + "circuit_wire_max_distance": 9, + "default_stack_control_input_signal": { + "type": "virtual", + "name": "signal-S" + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "burner-inserter": { + "type": "inserter", + "name": "burner-inserter", + "icon": "entity:icons/burner-inserter", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "burner-inserter" + }, + "max_health": 100, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 90 + } + ], + "collision_box": [ + [ + -0.15, + -0.15 + ], + [ + 0.15, + 0.15 + ] + ], + "selection_box": [ + [ + -0.4, + -0.35 + ], + [ + 0.4, + 0.45 + ] + ], + "energy_per_movement": 100000, + "energy_per_rotation": 100000, + "energy_source": { + "type": "burner", + "fuel_category": "chemical", + "effectivity": 1, + "fuel_inventory_size": 1, + "smoke": [ + { + "name": "smoke", + "deviation": [ + 0.1, + 0.1 + ], + "frequency": 9 + } + ] + }, + "extension_speed": 0.0214, + "fast_replaceable_group": "inserter", + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "match_progress_to_activity": true, + "sound": [ + { + "filename": "entity:sound/inserter-basic-1", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-basic-2", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-basic-3", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-basic-4", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-basic-5", + "volume": 0.75 + } + ] + }, + "hand_base_picture": { + "filename": "entity:burner-inserter/burner-inserter-hand-base", + "priority": "extra-high", + "width": 8, + "height": 34, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-base", + "priority": "extra-high", + "width": 32, + "height": 136, + "scale": 0.25 + } + }, + "hand_closed_picture": { + "filename": "entity:burner-inserter/burner-inserter-hand-closed", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-closed", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_picture": { + "filename": "entity:burner-inserter/burner-inserter-hand-open", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-open", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_base_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 8, + "height": 33, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 32, + "height": 132, + "scale": 0.25 + } + }, + "hand_closed_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "pickup_position": [ + 0, + -1 + ], + "insert_position": [ + 0, + 1.2 + ], + "platform_picture": { + "sheet": { + "filename": "entity:burner-inserter/burner-inserter-platform", + "priority": "extra-high", + "width": 46, + "height": 46, + "shift": [ + 0.09375, + 0 + ], + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-platform", + "priority": "extra-high", + "width": 105, + "height": 79, + "shift": [ + 0.046875, + 0.203125 + ], + "scale": 0.5 + } + } + }, + "rotation_speed": 0.01, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.203125, + -0.34375 + ], + "green": [ + 0.375, + -0.25 + ] + }, + "shadow": { + "red": [ + 0.4375, + -0.140625 + ], + "green": [ + 0.640625, + -0.03125 + ] + } + }, + { + "wire": { + "red": [ + 0.375, + -0.25 + ], + "green": [ + 0.46875, + -0.078125 + ] + }, + "shadow": { + "red": [ + 0.640625, + -0.015625 + ], + "green": [ + 0.75, + 0.15625 + ] + } + }, + { + "wire": { + "red": [ + -0.203125, + -0.359375 + ], + "green": [ + -0.40625, + -0.28125 + ] + }, + "shadow": { + "red": [ + 0.109375, + -0.125 + ], + "green": [ + -0.125, + -0.046875 + ] + } + }, + { + "wire": { + "red": [ + 0.484375, + 0.109375 + ], + "green": [ + 0.359375, + 0.25 + ] + }, + "shadow": { + "red": [ + 0.75, + 0.328125 + ], + "green": [ + 0.65625, + 0.484375 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 52, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 56, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 46, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 60, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 64, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.21875, + 0.234375 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.375, + -0.03125 + ], + "red_green_led_light_offset": [ + -0.328125, + -0.140625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 156, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 168, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 138, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 180, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 186, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.125, + 0.28125 + ], + "red_green_led_light_offset": [ + -0.234375, + 0.25 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 104, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 112, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 92, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 120, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 128, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + 0.203125 + ], + "red_green_led_light_offset": [ + -0.375, + 0.140625 + ] + } + ], + "circuit_wire_max_distance": 9, + "default_stack_control_input_signal": { + "type": "virtual", + "name": "signal-S" + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "long-handed-inserter": { + "type": "inserter", + "name": "long-handed-inserter", + "icon": "entity:icons/long-handed-inserter", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "long-handed-inserter" + }, + "max_health": 160, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 90 + } + ], + "collision_box": [ + [ + -0.15, + -0.15 + ], + [ + 0.15, + 0.15 + ] + ], + "selection_box": [ + [ + -0.4, + -0.35 + ], + [ + 0.4, + 0.45 + ] + ], + "pickup_position": [ + 0, + -2 + ], + "insert_position": [ + 0, + 2.2 + ], + "energy_per_movement": 5000, + "energy_per_rotation": 5000, + "rotation_speed": 0.02, + "extension_speed": 0.0457, + "hand_size": 1.5, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "drain": "0.4kW" + }, + "fast_replaceable_group": "long-handed-inserter", + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "match_progress_to_activity": true, + "sound": [ + { + "filename": "entity:sound/inserter-long-handed-1", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-long-handed-2", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-long-handed-3", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-long-handed-4", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-long-handed-5", + "volume": 0.75 + } + ] + }, + "hand_base_picture": { + "filename": "entity:long-handed-inserter/long-handed-inserter-hand-base", + "priority": "extra-high", + "width": 8, + "height": 34, + "hr_version": { + "filename": "entity:long-handed-inserter/hr-long-handed-inserter-hand-base", + "priority": "extra-high", + "width": 32, + "height": 136, + "scale": 0.25 + } + }, + "hand_closed_picture": { + "filename": "entity:long-handed-inserter/long-handed-inserter-hand-closed", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:long-handed-inserter/hr-long-handed-inserter-hand-closed", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_picture": { + "filename": "entity:long-handed-inserter/long-handed-inserter-hand-open", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:long-handed-inserter/hr-long-handed-inserter-hand-open", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_base_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 8, + "height": 33, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 32, + "height": 132, + "scale": 0.25 + } + }, + "hand_closed_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "platform_picture": { + "sheet": { + "filename": "entity:long-handed-inserter/long-handed-inserter-platform", + "priority": "extra-high", + "width": 46, + "height": 46, + "shift": [ + 0.09375, + 0 + ], + "hr_version": { + "filename": "entity:long-handed-inserter/hr-long-handed-inserter-platform", + "priority": "extra-high", + "width": 105, + "height": 79, + "shift": [ + 0.046875, + 0.203125 + ], + "scale": 0.5 + } + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.203125, + -0.34375 + ], + "green": [ + 0.375, + -0.25 + ] + }, + "shadow": { + "red": [ + 0.4375, + -0.140625 + ], + "green": [ + 0.640625, + -0.03125 + ] + } + }, + { + "wire": { + "red": [ + 0.375, + -0.25 + ], + "green": [ + 0.46875, + -0.078125 + ] + }, + "shadow": { + "red": [ + 0.640625, + -0.015625 + ], + "green": [ + 0.75, + 0.15625 + ] + } + }, + { + "wire": { + "red": [ + -0.203125, + -0.359375 + ], + "green": [ + -0.40625, + -0.28125 + ] + }, + "shadow": { + "red": [ + 0.109375, + -0.125 + ], + "green": [ + -0.125, + -0.046875 + ] + } + }, + { + "wire": { + "red": [ + 0.484375, + 0.109375 + ], + "green": [ + 0.359375, + 0.25 + ] + }, + "shadow": { + "red": [ + 0.75, + 0.328125 + ], + "green": [ + 0.65625, + 0.484375 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 52, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 56, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 46, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 60, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 64, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.21875, + 0.234375 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.375, + -0.03125 + ], + "red_green_led_light_offset": [ + -0.328125, + -0.140625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 156, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 168, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 138, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 180, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 186, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.125, + 0.28125 + ], + "red_green_led_light_offset": [ + -0.234375, + 0.25 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 104, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 112, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 92, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 120, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 128, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + 0.203125 + ], + "red_green_led_light_offset": [ + -0.375, + 0.140625 + ] + } + ], + "circuit_wire_max_distance": 9, + "default_stack_control_input_signal": { + "type": "virtual", + "name": "signal-S" + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "fast-inserter": { + "type": "inserter", + "name": "fast-inserter", + "icon": "entity:icons/fast-inserter", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "fast-inserter" + }, + "max_health": 150, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 90 + } + ], + "collision_box": [ + [ + -0.15, + -0.15 + ], + [ + 0.15, + 0.15 + ] + ], + "selection_box": [ + [ + -0.4, + -0.35 + ], + [ + 0.4, + 0.45 + ] + ], + "pickup_position": [ + 0, + -1 + ], + "insert_position": [ + 0, + 1.2 + ], + "energy_per_movement": 7000, + "energy_per_rotation": 7000, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "drain": "0.5kW" + }, + "extension_speed": 0.07, + "rotation_speed": 0.04, + "fast_replaceable_group": "inserter", + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "match_progress_to_activity": true, + "sound": [ + { + "filename": "entity:sound/inserter-fast-1", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-2", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-3", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-4", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-5", + "volume": 0.75 + } + ] + }, + "hand_base_picture": { + "filename": "entity:fast-inserter/fast-inserter-hand-base", + "priority": "extra-high", + "width": 8, + "height": 34, + "hr_version": { + "filename": "entity:fast-inserter/hr-fast-inserter-hand-base", + "priority": "extra-high", + "width": 32, + "height": 136, + "scale": 0.25 + } + }, + "hand_closed_picture": { + "filename": "entity:fast-inserter/fast-inserter-hand-closed", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:fast-inserter/hr-fast-inserter-hand-closed", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_picture": { + "filename": "entity:fast-inserter/fast-inserter-hand-open", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:fast-inserter/hr-fast-inserter-hand-open", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_base_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 8, + "height": 33, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 32, + "height": 132, + "scale": 0.25 + } + }, + "hand_closed_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "platform_picture": { + "sheet": { + "filename": "entity:fast-inserter/fast-inserter-platform", + "priority": "extra-high", + "width": 46, + "height": 46, + "shift": [ + 0.09375, + 0 + ], + "hr_version": { + "filename": "entity:fast-inserter/hr-fast-inserter-platform", + "priority": "extra-high", + "width": 105, + "height": 79, + "shift": [ + 0.046875, + 0.203125 + ], + "scale": 0.5 + } + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.203125, + -0.34375 + ], + "green": [ + 0.375, + -0.25 + ] + }, + "shadow": { + "red": [ + 0.4375, + -0.140625 + ], + "green": [ + 0.640625, + -0.03125 + ] + } + }, + { + "wire": { + "red": [ + 0.375, + -0.25 + ], + "green": [ + 0.46875, + -0.078125 + ] + }, + "shadow": { + "red": [ + 0.640625, + -0.015625 + ], + "green": [ + 0.75, + 0.15625 + ] + } + }, + { + "wire": { + "red": [ + -0.203125, + -0.359375 + ], + "green": [ + -0.40625, + -0.28125 + ] + }, + "shadow": { + "red": [ + 0.109375, + -0.125 + ], + "green": [ + -0.125, + -0.046875 + ] + } + }, + { + "wire": { + "red": [ + 0.484375, + 0.109375 + ], + "green": [ + 0.359375, + 0.25 + ] + }, + "shadow": { + "red": [ + 0.75, + 0.328125 + ], + "green": [ + 0.65625, + 0.484375 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 52, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 56, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 46, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 60, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 64, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.21875, + 0.234375 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.375, + -0.03125 + ], + "red_green_led_light_offset": [ + -0.328125, + -0.140625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 156, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 168, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 138, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 180, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 186, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.125, + 0.28125 + ], + "red_green_led_light_offset": [ + -0.234375, + 0.25 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 104, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 112, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 92, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 120, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 128, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + 0.203125 + ], + "red_green_led_light_offset": [ + -0.375, + 0.140625 + ] + } + ], + "circuit_wire_max_distance": 9, + "default_stack_control_input_signal": { + "type": "virtual", + "name": "signal-S" + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "stack-inserter": { + "type": "inserter", + "name": "stack-inserter", + "icon": "entity:icons/stack-inserter", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "stack": true, + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "stack-inserter" + }, + "max_health": 160, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 90 + } + ], + "collision_box": [ + [ + -0.15, + -0.15 + ], + [ + 0.15, + 0.15 + ] + ], + "selection_box": [ + [ + -0.4, + -0.35 + ], + [ + 0.4, + 0.45 + ] + ], + "pickup_position": [ + 0, + -1 + ], + "insert_position": [ + 0, + 1.2 + ], + "energy_per_movement": 20000, + "energy_per_rotation": 20000, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "drain": "1kW" + }, + "extension_speed": 0.07, + "rotation_speed": 0.04, + "fast_replaceable_group": "inserter", + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "match_progress_to_activity": true, + "sound": [ + { + "filename": "entity:sound/inserter-fast-1", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-2", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-3", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-4", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-5", + "volume": 0.75 + } + ] + }, + "hand_base_picture": { + "filename": "entity:stack-inserter/stack-inserter-hand-base", + "priority": "extra-high", + "width": 8, + "height": 34, + "hr_version": { + "filename": "entity:stack-inserter/hr-stack-inserter-hand-base", + "priority": "extra-high", + "width": 32, + "height": 136, + "scale": 0.25 + } + }, + "hand_closed_picture": { + "filename": "entity:stack-inserter/stack-inserter-hand-closed", + "priority": "extra-high", + "width": 24, + "height": 41, + "hr_version": { + "filename": "entity:stack-inserter/hr-stack-inserter-hand-closed", + "priority": "extra-high", + "width": 100, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_picture": { + "filename": "entity:stack-inserter/stack-inserter-hand-open", + "priority": "extra-high", + "width": 32, + "height": 41, + "hr_version": { + "filename": "entity:stack-inserter/hr-stack-inserter-hand-open", + "priority": "extra-high", + "width": 130, + "height": 164, + "scale": 0.25 + } + }, + "hand_base_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 8, + "height": 33, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 32, + "height": 132, + "scale": 0.25 + } + }, + "hand_closed_shadow": { + "filename": "entity:stack-inserter/stack-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 24, + "height": 41, + "hr_version": { + "filename": "entity:stack-inserter/hr-stack-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 100, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_shadow": { + "filename": "entity:stack-inserter/stack-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 32, + "height": 41, + "hr_version": { + "filename": "entity:stack-inserter/hr-stack-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 130, + "height": 164, + "scale": 0.25 + } + }, + "platform_picture": { + "sheet": { + "filename": "entity:stack-inserter/stack-inserter-platform", + "priority": "extra-high", + "width": 46, + "height": 46, + "shift": [ + 0.09375, + 0 + ], + "hr_version": { + "filename": "entity:stack-inserter/hr-stack-inserter-platform", + "priority": "extra-high", + "width": 105, + "height": 79, + "shift": [ + 0.046875, + 0.203125 + ], + "scale": 0.5 + } + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.203125, + -0.34375 + ], + "green": [ + 0.375, + -0.25 + ] + }, + "shadow": { + "red": [ + 0.4375, + -0.140625 + ], + "green": [ + 0.640625, + -0.03125 + ] + } + }, + { + "wire": { + "red": [ + 0.375, + -0.25 + ], + "green": [ + 0.46875, + -0.078125 + ] + }, + "shadow": { + "red": [ + 0.640625, + -0.015625 + ], + "green": [ + 0.75, + 0.15625 + ] + } + }, + { + "wire": { + "red": [ + -0.203125, + -0.359375 + ], + "green": [ + -0.40625, + -0.28125 + ] + }, + "shadow": { + "red": [ + 0.109375, + -0.125 + ], + "green": [ + -0.125, + -0.046875 + ] + } + }, + { + "wire": { + "red": [ + 0.484375, + 0.109375 + ], + "green": [ + 0.359375, + 0.25 + ] + }, + "shadow": { + "red": [ + 0.75, + 0.328125 + ], + "green": [ + 0.65625, + 0.484375 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 52, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 56, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 46, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 60, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 64, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.21875, + 0.234375 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.375, + -0.03125 + ], + "red_green_led_light_offset": [ + -0.328125, + -0.140625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 156, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 168, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 138, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 180, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 186, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.125, + 0.28125 + ], + "red_green_led_light_offset": [ + -0.234375, + 0.25 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 104, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 112, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 92, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 120, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 128, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + 0.203125 + ], + "red_green_led_light_offset": [ + -0.375, + 0.140625 + ] + } + ], + "circuit_wire_max_distance": 9, + "default_stack_control_input_signal": { + "type": "virtual", + "name": "signal-S" + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "stack-filter-inserter": { + "type": "inserter", + "name": "stack-filter-inserter", + "icon": "entity:icons/stack-filter-inserter", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "stack": true, + "filter_count": 1, + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "stack-filter-inserter" + }, + "max_health": 160, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 90 + } + ], + "collision_box": [ + [ + -0.15, + -0.15 + ], + [ + 0.15, + 0.15 + ] + ], + "selection_box": [ + [ + -0.4, + -0.35 + ], + [ + 0.4, + 0.45 + ] + ], + "pickup_position": [ + 0, + -1 + ], + "insert_position": [ + 0, + 1.2 + ], + "energy_per_movement": 20000, + "energy_per_rotation": 20000, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "drain": "1kW" + }, + "extension_speed": 0.07, + "rotation_speed": 0.04, + "fast_replaceable_group": "inserter", + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "match_progress_to_activity": true, + "sound": [ + { + "filename": "entity:sound/inserter-fast-1", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-2", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-3", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-4", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-5", + "volume": 0.75 + } + ] + }, + "hand_base_picture": { + "filename": "entity:stack-filter-inserter/stack-filter-inserter-hand-base", + "priority": "extra-high", + "width": 8, + "height": 34, + "hr_version": { + "filename": "entity:stack-filter-inserter/hr-stack-filter-inserter-hand-base", + "priority": "extra-high", + "width": 32, + "height": 136, + "scale": 0.25 + } + }, + "hand_closed_picture": { + "filename": "entity:stack-filter-inserter/stack-filter-inserter-hand-closed", + "priority": "extra-high", + "width": 24, + "height": 41, + "hr_version": { + "filename": "entity:stack-filter-inserter/hr-stack-filter-inserter-hand-closed", + "priority": "extra-high", + "width": 100, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_picture": { + "filename": "entity:stack-filter-inserter/stack-filter-inserter-hand-open", + "priority": "extra-high", + "width": 32, + "height": 41, + "hr_version": { + "filename": "entity:stack-filter-inserter/hr-stack-filter-inserter-hand-open", + "priority": "extra-high", + "width": 130, + "height": 164, + "scale": 0.25 + } + }, + "hand_base_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 8, + "height": 33, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 32, + "height": 132, + "scale": 0.25 + } + }, + "hand_closed_shadow": { + "filename": "entity:stack-inserter/stack-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 24, + "height": 41, + "hr_version": { + "filename": "entity:stack-inserter/hr-stack-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 100, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_shadow": { + "filename": "entity:stack-inserter/stack-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 32, + "height": 41, + "hr_version": { + "filename": "entity:stack-inserter/hr-stack-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 130, + "height": 164, + "scale": 0.25 + } + }, + "platform_picture": { + "sheet": { + "filename": "entity:stack-filter-inserter/stack-filter-inserter-platform", + "priority": "extra-high", + "width": 46, + "height": 46, + "shift": [ + 0.09375, + 0 + ], + "hr_version": { + "filename": "entity:stack-filter-inserter/hr-stack-filter-inserter-platform", + "priority": "extra-high", + "width": 105, + "height": 79, + "shift": [ + 0.046875, + 0.203125 + ], + "scale": 0.5 + } + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.203125, + -0.34375 + ], + "green": [ + 0.375, + -0.25 + ] + }, + "shadow": { + "red": [ + 0.4375, + -0.140625 + ], + "green": [ + 0.640625, + -0.03125 + ] + } + }, + { + "wire": { + "red": [ + 0.375, + -0.25 + ], + "green": [ + 0.46875, + -0.078125 + ] + }, + "shadow": { + "red": [ + 0.640625, + -0.015625 + ], + "green": [ + 0.75, + 0.15625 + ] + } + }, + { + "wire": { + "red": [ + -0.203125, + -0.359375 + ], + "green": [ + -0.40625, + -0.28125 + ] + }, + "shadow": { + "red": [ + 0.109375, + -0.125 + ], + "green": [ + -0.125, + -0.046875 + ] + } + }, + { + "wire": { + "red": [ + 0.484375, + 0.109375 + ], + "green": [ + 0.359375, + 0.25 + ] + }, + "shadow": { + "red": [ + 0.75, + 0.328125 + ], + "green": [ + 0.65625, + 0.484375 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 52, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 56, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 46, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 60, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 64, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.21875, + 0.234375 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.375, + -0.03125 + ], + "red_green_led_light_offset": [ + -0.328125, + -0.140625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 156, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 168, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 138, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 180, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 186, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.125, + 0.28125 + ], + "red_green_led_light_offset": [ + -0.234375, + 0.25 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 104, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 112, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 92, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 120, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 128, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + 0.203125 + ], + "red_green_led_light_offset": [ + -0.375, + 0.140625 + ] + } + ], + "circuit_wire_max_distance": 9, + "default_stack_control_input_signal": { + "type": "virtual", + "name": "signal-S" + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "filter-inserter": { + "type": "inserter", + "name": "filter-inserter", + "icon": "entity:icons/filter-inserter", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "filter-inserter" + }, + "max_health": 150, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 90 + } + ], + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "match_progress_to_activity": true, + "sound": [ + { + "filename": "entity:sound/inserter-fast-1", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-2", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-3", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-4", + "volume": 0.75 + }, + { + "filename": "entity:sound/inserter-fast-5", + "volume": 0.75 + } + ] + }, + "collision_box": [ + [ + -0.15, + -0.15 + ], + [ + 0.15, + 0.15 + ] + ], + "selection_box": [ + [ + -0.4, + -0.35 + ], + [ + 0.4, + 0.45 + ] + ], + "pickup_position": [ + 0, + -1 + ], + "insert_position": [ + 0, + 1.2 + ], + "energy_per_movement": 8000, + "energy_per_rotation": 8000, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "drain": "0.5kW" + }, + "extension_speed": 0.07, + "rotation_speed": 0.04, + "fast_replaceable_group": "inserter", + "filter_count": 5, + "hand_base_picture": { + "filename": "entity:filter-inserter/filter-inserter-hand-base", + "priority": "extra-high", + "width": 8, + "height": 34, + "hr_version": { + "filename": "entity:filter-inserter/hr-filter-inserter-hand-base", + "priority": "extra-high", + "width": 32, + "height": 136, + "scale": 0.25 + } + }, + "hand_closed_picture": { + "filename": "entity:filter-inserter/filter-inserter-hand-closed", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:filter-inserter/hr-filter-inserter-hand-closed", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_picture": { + "filename": "entity:filter-inserter/filter-inserter-hand-open", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:filter-inserter/hr-filter-inserter-hand-open", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_base_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 8, + "height": 33, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-base-shadow", + "priority": "extra-high", + "width": 32, + "height": 132, + "scale": 0.25 + } + }, + "hand_closed_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-closed-shadow", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "hand_open_shadow": { + "filename": "entity:burner-inserter/burner-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 18, + "height": 41, + "hr_version": { + "filename": "entity:burner-inserter/hr-burner-inserter-hand-open-shadow", + "priority": "extra-high", + "width": 72, + "height": 164, + "scale": 0.25 + } + }, + "platform_picture": { + "sheet": { + "filename": "entity:filter-inserter/filter-inserter-platform", + "priority": "extra-high", + "width": 46, + "height": 46, + "shift": [ + 0.09375, + 0 + ], + "hr_version": { + "filename": "entity:filter-inserter/hr-filter-inserter-platform", + "priority": "extra-high", + "width": 105, + "height": 79, + "shift": [ + 0.046875, + 0.203125 + ], + "scale": 0.5 + } + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.203125, + -0.34375 + ], + "green": [ + 0.375, + -0.25 + ] + }, + "shadow": { + "red": [ + 0.4375, + -0.140625 + ], + "green": [ + 0.640625, + -0.03125 + ] + } + }, + { + "wire": { + "red": [ + 0.375, + -0.25 + ], + "green": [ + 0.46875, + -0.078125 + ] + }, + "shadow": { + "red": [ + 0.640625, + -0.015625 + ], + "green": [ + 0.75, + 0.15625 + ] + } + }, + { + "wire": { + "red": [ + -0.203125, + -0.359375 + ], + "green": [ + -0.40625, + -0.28125 + ] + }, + "shadow": { + "red": [ + 0.109375, + -0.125 + ], + "green": [ + -0.125, + -0.046875 + ] + } + }, + { + "wire": { + "red": [ + 0.484375, + 0.109375 + ], + "green": [ + 0.359375, + 0.25 + ] + }, + "shadow": { + "red": [ + 0.75, + 0.328125 + ], + "green": [ + 0.65625, + 0.484375 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 52, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 56, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 46, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 60, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 54, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 64, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.21875, + 0.234375 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.375, + -0.03125 + ], + "red_green_led_light_offset": [ + -0.328125, + -0.140625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 156, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 168, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 138, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 180, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 162, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 186, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.125, + 0.28125 + ], + "red_green_led_light_offset": [ + -0.234375, + 0.25 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-sequence", + "priority": "low", + "width": 52, + "height": 40, + "scale": 0.5, + "x": 104, + "y": 0, + "shift": [ + 0, + 0.015625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-base-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 56, + "height": 36, + "scale": 0.5, + "x": 112, + "y": 0, + "shift": [ + 0.171875, + 0.15625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence", + "priority": "low", + "width": 46, + "height": 26, + "scale": 0.5, + "x": 92, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence", + "priority": "low", + "width": 60, + "height": 42, + "scale": 0.5, + "x": 120, + "y": 0, + "shift": [ + -0.046875, + 0.0625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence", + "priority": "low", + "width": 54, + "height": 50, + "scale": 0.5, + "x": 108, + "y": 0, + "shift": [ + -0.09375, + 0.015625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence", + "priority": "low", + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 0.0625, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-inserter-01-wire-shadow", + "priority": "low", + "draw_as_shadow": true, + "width": 64, + "height": 46, + "scale": 0.5, + "x": 128, + "y": 0, + "shift": [ + 0.34375, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.296875, + 0.203125 + ], + "red_green_led_light_offset": [ + -0.375, + 0.140625 + ] + } + ], + "circuit_wire_max_distance": 9, + "default_stack_control_input_signal": { + "type": "virtual", + "name": "signal-S" + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "pipe": { + "type": "pipe", + "name": "pipe", + "icon": "entity:icons/pipe", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "pipe" + }, + "max_health": 100, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 80 + }, + { + "type": "impact", + "percent": 30 + } + ], + "fast_replaceable_group": "pipe", + "collision_box": [ + [ + -0.29, + -0.29 + ], + [ + 0.29, + 0.29 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "fluid_box": { + "base_area": 1, + "pipe_connections": [ + { + "position": [ + 0, + -1 + ] + }, + { + "position": [ + 1, + 0 + ] + }, + { + "position": [ + 0, + 1 + ] + }, + { + "position": [ + -1, + 0 + ] + } + ] + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "pictures": { + "straight_vertical_single": { + "filename": "entity:pipe/pipe-straight-vertical-single", + "priority": "extra-high", + "width": 80, + "height": 80, + "hr_version": { + "filename": "entity:pipe/hr-pipe-straight-vertical-single", + "priority": "extra-high", + "width": 160, + "height": 160, + "scale": 0.5 + } + }, + "straight_vertical": { + "filename": "entity:pipe/pipe-straight-vertical", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-straight-vertical", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "straight_vertical_window": { + "filename": "entity:pipe/pipe-straight-vertical-window", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-straight-vertical-window", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "straight_horizontal_window": { + "filename": "entity:pipe/pipe-straight-horizontal-window", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-straight-horizontal-window", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "straight_horizontal": { + "filename": "entity:pipe/pipe-straight-horizontal", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-straight-horizontal", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "corner_up_right": { + "filename": "entity:pipe/pipe-corner-up-right", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-corner-up-right", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "corner_up_left": { + "filename": "entity:pipe/pipe-corner-up-left", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-corner-up-left", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "corner_down_right": { + "filename": "entity:pipe/pipe-corner-down-right", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-corner-down-right", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "corner_down_left": { + "filename": "entity:pipe/pipe-corner-down-left", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-corner-down-left", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "t_up": { + "filename": "entity:pipe/pipe-t-up", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-t-up", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "t_down": { + "filename": "entity:pipe/pipe-t-down", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-t-down", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "t_right": { + "filename": "entity:pipe/pipe-t-right", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-t-right", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "t_left": { + "filename": "entity:pipe/pipe-t-left", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-t-left", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "cross": { + "filename": "entity:pipe/pipe-cross", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-cross", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "ending_up": { + "filename": "entity:pipe/pipe-ending-up", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-ending-up", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "ending_down": { + "filename": "entity:pipe/pipe-ending-down", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-ending-down", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "ending_right": { + "filename": "entity:pipe/pipe-ending-right", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-ending-right", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "ending_left": { + "filename": "entity:pipe/pipe-ending-left", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-ending-left", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "horizontal_window_background": { + "filename": "entity:pipe/pipe-horizontal-window-background", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-horizontal-window-background", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "vertical_window_background": { + "filename": "entity:pipe/pipe-vertical-window-background", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-vertical-window-background", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "fluid_background": { + "filename": "entity:pipe/fluid-background", + "priority": "extra-high", + "width": 32, + "height": 20, + "hr_version": { + "filename": "entity:pipe/hr-fluid-background", + "priority": "extra-high", + "width": 64, + "height": 40, + "scale": 0.5 + } + }, + "low_temperature_flow": { + "filename": "entity:pipe/fluid-flow-low-temperature", + "priority": "extra-high", + "width": 160, + "height": 18 + }, + "middle_temperature_flow": { + "filename": "entity:pipe/fluid-flow-medium-temperature", + "priority": "extra-high", + "width": 160, + "height": 18 + }, + "high_temperature_flow": { + "filename": "entity:pipe/fluid-flow-high-temperature", + "priority": "extra-high", + "width": 160, + "height": 18 + }, + "gas_flow": { + "filename": "entity:pipe/steam", + "priority": "extra-high", + "line_length": 10, + "width": 24, + "height": 15, + "frame_count": 60, + "axially_symmetrical": false, + "direction_count": 1, + "hr_version": { + "filename": "entity:pipe/hr-steam", + "priority": "extra-high", + "line_length": 10, + "width": 48, + "height": 30, + "frame_count": 60, + "axially_symmetrical": false, + "direction_count": 1 + } + } + }, + "working_sound": { + "sound": [ + { + "filename": "entity:sound/pipe", + "volume": 0.85 + } + ], + "match_volume_to_activity": true, + "max_sounds_per_type": 3 + }, + "horizontal_window_bounding_box": [ + [ + -0.25, + -0.28125 + ], + [ + 0.25, + 0.15625 + ] + ], + "vertical_window_bounding_box": [ + [ + -0.28125, + -0.5 + ], + [ + 0.03125, + 0.125 + ] + ], + "size": { + "width": 1, + "height": 1 + } + }, + "radar": { + "type": "radar", + "name": "radar", + "icon": "entity:icons/radar", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "radar" + }, + "max_health": 250, + "corpse": "big-remnants", + "resistances": [ + { + "type": "fire", + "percent": 70 + }, + { + "type": "impact", + "percent": 30 + } + ], + "collision_box": [ + [ + -1.2, + -1.2 + ], + [ + 1.2, + 1.2 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "energy_per_sector": "10MJ", + "max_distance_of_sector_revealed": 14, + "max_distance_of_nearby_sector_revealed": 3, + "energy_per_nearby_scan": "250kJ", + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input" + }, + "energy_usage": "300kW", + "integration_patch": { + "filename": "entity:radar/radar-integration", + "priority": "low", + "width": 119, + "height": 108, + "apply_projection": false, + "direction_count": 1, + "repeat_count": 64, + "line_length": 1, + "shift": [ + 0.046875, + 0.125 + ], + "hr_version": { + "filename": "entity:radar/hr-radar-integration", + "priority": "low", + "width": 238, + "height": 216, + "apply_projection": false, + "direction_count": 1, + "repeat_count": 64, + "line_length": 1, + "shift": [ + 0.046875, + 0.125 + ], + "scale": 0.5 + } + }, + "pictures": { + "layers": [ + { + "filename": "entity:radar/radar", + "priority": "low", + "width": 98, + "height": 128, + "apply_projection": false, + "direction_count": 64, + "line_length": 8, + "shift": [ + 0.03125, + -0.5 + ], + "hr_version": { + "filename": "entity:radar/hr-radar", + "priority": "low", + "width": 196, + "height": 254, + "apply_projection": false, + "direction_count": 64, + "line_length": 8, + "shift": [ + 0.03125, + -0.5 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:radar/radar-shadow", + "priority": "low", + "width": 172, + "height": 94, + "apply_projection": false, + "direction_count": 64, + "line_length": 8, + "shift": [ + 1.21875, + 0.09375 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:radar/hr-radar-shadow", + "priority": "low", + "width": 343, + "height": 186, + "apply_projection": false, + "direction_count": 64, + "line_length": 8, + "shift": [ + 1.2265625, + 0.09375 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": [ + { + "filename": "entity:sound/radar" + } + ], + "apparent_volume": 2 + }, + "radius_minimap_visualisation_color": { + "r": 0.059, + "g": 0.092, + "b": 0.235, + "a": 0.275 + }, + "size": { + "width": 3, + "height": 3 + } + }, + "small-lamp": { + "type": "lamp", + "name": "small-lamp", + "icon": "entity:icons/small-lamp", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "small-lamp" + }, + "max_health": 100, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.15, + -0.15 + ], + [ + 0.15, + 0.15 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "energy_source": { + "type": "electric", + "usage_priority": "lamp" + }, + "energy_usage_per_tick": "5KW", + "darkness_for_all_lamps_on": 0.5, + "darkness_for_all_lamps_off": 0.3, + "light": { + "intensity": 0.9, + "size": 40, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "light_when_colored": { + "intensity": 1, + "size": 6, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "glow_size": 6, + "glow_color_intensity": 0.135, + "picture_off": { + "layers": [ + { + "filename": "entity:small-lamp/lamp", + "priority": "high", + "width": 42, + "height": 36, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0, + 0.09375 + ], + "hr_version": { + "filename": "entity:small-lamp/hr-lamp", + "priority": "high", + "width": 83, + "height": 70, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.0078125, + 0.09375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:small-lamp/lamp-shadow", + "priority": "high", + "width": 38, + "height": 24, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.125, + 0.15625 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:small-lamp/hr-lamp-shadow", + "priority": "high", + "width": 76, + "height": 47, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.125, + 0.1484375 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "picture_on": { + "filename": "entity:small-lamp/lamp-light", + "priority": "high", + "width": 46, + "height": 40, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0, + -0.21875 + ], + "hr_version": { + "filename": "entity:small-lamp/hr-lamp-light", + "priority": "high", + "width": 90, + "height": 78, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0, + -0.21875 + ], + "scale": 0.5 + } + }, + "signal_to_color_mapping": [ + { + "type": "virtual", + "name": "signal-red", + "color": { + "r": 1, + "g": 0, + "b": 0 + } + }, + { + "type": "virtual", + "name": "signal-green", + "color": { + "r": 0, + "g": 1, + "b": 0 + } + }, + { + "type": "virtual", + "name": "signal-blue", + "color": { + "r": 0, + "g": 0, + "b": 1 + } + }, + { + "type": "virtual", + "name": "signal-yellow", + "color": { + "r": 1, + "g": 1, + "b": 0 + } + }, + { + "type": "virtual", + "name": "signal-pink", + "color": { + "r": 1, + "g": 0, + "b": 1 + } + }, + { + "type": "virtual", + "name": "signal-cyan", + "color": { + "r": 0, + "g": 1, + "b": 1 + } + } + ], + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.4375, + 0.28125 + ], + "green": [ + 0.5, + 0.515625 + ] + }, + "shadow": { + "red": [ + 0.765625, + 0.5625 + ], + "green": [ + 0.546875, + 0.609375 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.140625, + 0.265625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.1875, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.140625, + 0.234375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.296875, + 0.359375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.140625, + 0.234375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.140625, + 0.234375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.140625, + 0.234375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.140625, + 0.234375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.171875, + 0.53125 + ], + "red_green_led_light_offset": [ + 0.15625, + 0.421875 + ] + }, + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + } + }, + "pipe-to-ground": { + "type": "pipe-to-ground", + "name": "pipe-to-ground", + "icon": "entity:icons/pipe-to-ground", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "pipe-to-ground" + }, + "max_health": 150, + "corpse": "small-remnants", + "resistances": [ + { + "type": "fire", + "percent": 80 + }, + { + "type": "impact", + "percent": 40 + } + ], + "collision_box": [ + [ + -0.29, + -0.29 + ], + [ + 0.29, + 0.2 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "fluid_box": { + "base_area": 1, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "pipe_connections": [ + { + "position": [ + 0, + -1 + ] + }, + { + "position": [ + 0, + 1 + ], + "max_underground_distance": 10 + } + ] + }, + "underground_sprite": { + "filename": "entity:arrows/underground-lines", + "priority": "extra-high-no-scale", + "width": 64, + "height": 64, + "scale": 0.5 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "pictures": { + "0": { + "filename": "entity:pipe-to-ground/pipe-to-ground-up", + "priority": "high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-to-ground/hr-pipe-to-ground-up", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "2": { + "filename": "entity:pipe-to-ground/pipe-to-ground-right", + "priority": "high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-to-ground/hr-pipe-to-ground-right", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "4": { + "filename": "entity:pipe-to-ground/pipe-to-ground-down", + "priority": "high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-to-ground/hr-pipe-to-ground-down", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + "6": { + "filename": "entity:pipe-to-ground/pipe-to-ground-left", + "priority": "high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-to-ground/hr-pipe-to-ground-left", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + } + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "assembling-machine-1": { + "type": "assembling-machine", + "name": "assembling-machine-1", + "icon": "entity:icons/assembling-machine-1", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "assembling-machine-1" + }, + "max_health": 300, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "resistances": [ + { + "type": "fire", + "percent": 70 + } + ], + "collision_box": [ + [ + -1.2, + -1.2 + ], + [ + 1.2, + 1.2 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "fast_replaceable_group": "assembling-machine", + "alert_icon_shift": [ + -0.09375, + -0.375 + ], + "animation": { + "layers": [ + { + "filename": "entity:assembling-machine-1/assembling-machine-1", + "priority": "high", + "width": 108, + "height": 114, + "frame_count": 32, + "line_length": 8, + "shift": [ + 0, + 0.0625 + ], + "hr_version": { + "filename": "entity:assembling-machine-1/hr-assembling-machine-1", + "priority": "high", + "width": 214, + "height": 226, + "frame_count": 32, + "line_length": 8, + "shift": [ + 0, + 0.0625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:assembling-machine-1/assembling-machine-1-shadow", + "priority": "high", + "width": 95, + "height": 83, + "frame_count": 1, + "line_length": 1, + "repeat_count": 32, + "draw_as_shadow": true, + "shift": [ + 0.265625, + 0.171875 + ], + "hr_version": { + "filename": "entity:assembling-machine-1/hr-assembling-machine-1-shadow", + "priority": "high", + "width": 190, + "height": 165, + "frame_count": 1, + "line_length": 1, + "repeat_count": 32, + "draw_as_shadow": true, + "shift": [ + 0.265625, + 0.15625 + ], + "scale": 0.5 + } + } + ] + }, + "crafting_categories": [ + "crafting" + ], + "crafting_speed": 0.5, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "emissions": 0.03333333333333333 + }, + "energy_usage": "90kW", + "ingredient_count": 2, + "open_sound": { + "filename": "entity:sound/machine-open", + "volume": 0.85 + }, + "close_sound": { + "filename": "entity:sound/machine-close", + "volume": 0.75 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": [ + { + "filename": "entity:sound/assembling-machine-t1-1", + "volume": 0.8 + }, + { + "filename": "entity:sound/assembling-machine-t1-2", + "volume": 0.8 + } + ], + "idle_sound": { + "filename": "entity:sound/idle1", + "volume": 0.6 + }, + "apparent_volume": 1.5 + }, + "size": { + "width": 3, + "height": 3 + } + }, + "assembling-machine-2": { + "type": "assembling-machine", + "name": "assembling-machine-2", + "icon": "entity:icons/assembling-machine-2", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "assembling-machine-2" + }, + "max_health": 350, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "alert_icon_shift": [ + -0.09375, + -0.375 + ], + "resistances": [ + { + "type": "fire", + "percent": 70 + } + ], + "fluid_boxes": [ + { + "production_type": "input", + "pipe_picture": { + "0": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-N", + "priority": "extra-high", + "width": 35, + "height": 18, + "shift": [ + 0.078125, + 0.4375 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-N", + "priority": "extra-high", + "width": 71, + "height": 38, + "shift": [ + 0.0703125, + 0.421875 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-E", + "priority": "extra-high", + "width": 20, + "height": 38, + "shift": [ + -0.78125, + 0.03125 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-E", + "priority": "extra-high", + "width": 42, + "height": 76, + "shift": [ + -0.765625, + 0.03125 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-S", + "priority": "extra-high", + "width": 44, + "height": 31, + "shift": [ + 0, + -0.984375 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-S", + "priority": "extra-high", + "width": 88, + "height": 61, + "shift": [ + 0, + -0.9765625 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-W", + "priority": "extra-high", + "width": 19, + "height": 37, + "shift": [ + 0.796875, + 0.046875 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-W", + "priority": "extra-high", + "width": 39, + "height": 73, + "shift": [ + 0.8046875, + 0.0390625 + ], + "scale": 0.5 + } + } + }, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_area": 10, + "base_level": -1, + "pipe_connections": [ + { + "type": "input", + "position": [ + 0, + -2 + ] + } + ], + "secondary_draw_orders": { + "0": -1 + } + }, + { + "production_type": "output", + "pipe_picture": { + "0": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-N", + "priority": "extra-high", + "width": 35, + "height": 18, + "shift": [ + 0.078125, + 0.4375 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-N", + "priority": "extra-high", + "width": 71, + "height": 38, + "shift": [ + 0.0703125, + 0.421875 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-E", + "priority": "extra-high", + "width": 20, + "height": 38, + "shift": [ + -0.78125, + 0.03125 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-E", + "priority": "extra-high", + "width": 42, + "height": 76, + "shift": [ + -0.765625, + 0.03125 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-S", + "priority": "extra-high", + "width": 44, + "height": 31, + "shift": [ + 0, + -0.984375 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-S", + "priority": "extra-high", + "width": 88, + "height": 61, + "shift": [ + 0, + -0.9765625 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-W", + "priority": "extra-high", + "width": 19, + "height": 37, + "shift": [ + 0.796875, + 0.046875 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-W", + "priority": "extra-high", + "width": 39, + "height": 73, + "shift": [ + 0.8046875, + 0.0390625 + ], + "scale": 0.5 + } + } + }, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_area": 10, + "base_level": 1, + "pipe_connections": [ + { + "type": "output", + "position": [ + 0, + 2 + ] + } + ], + "secondary_draw_orders": { + "0": -1 + } + }, + true + ], + "collision_box": [ + [ + -1.2, + -1.2 + ], + [ + 1.2, + 1.2 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "fast_replaceable_group": "assembling-machine", + "animation": { + "layers": [ + { + "filename": "entity:assembling-machine-2/assembling-machine-2", + "priority": "high", + "width": 108, + "height": 110, + "frame_count": 32, + "line_length": 8, + "shift": [ + 0, + 0.125 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2", + "priority": "high", + "width": 214, + "height": 218, + "frame_count": 32, + "line_length": 8, + "shift": [ + 0, + 0.125 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:assembling-machine-2/assembling-machine-2-shadow", + "priority": "high", + "width": 98, + "height": 82, + "frame_count": 32, + "line_length": 8, + "draw_as_shadow": true, + "shift": [ + 0.375, + 0.15625 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-shadow", + "priority": "high", + "width": 196, + "height": 163, + "frame_count": 32, + "line_length": 8, + "draw_as_shadow": true, + "shift": [ + 0.375, + 0.1484375 + ], + "scale": 0.5 + } + } + ] + }, + "open_sound": { + "filename": "entity:sound/machine-open", + "volume": 0.85 + }, + "close_sound": { + "filename": "entity:sound/machine-close", + "volume": 0.75 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": [ + { + "filename": "entity:sound/assembling-machine-t2-1", + "volume": 0.8 + }, + { + "filename": "entity:sound/assembling-machine-t2-2", + "volume": 0.8 + } + ], + "idle_sound": { + "filename": "entity:sound/idle1", + "volume": 0.6 + }, + "apparent_volume": 1.5 + }, + "crafting_categories": [ + "crafting", + "advanced-crafting", + "crafting-with-fluid" + ], + "crafting_speed": 0.75, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "emissions": 0.016 + }, + "energy_usage": "150kW", + "ingredient_count": 4, + "module_specification": { + "module_slots": 2 + }, + "allowed_effects": [ + "consumption", + "speed", + "productivity", + "pollution" + ], + "size": { + "width": 3, + "height": 3 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "assembling-machine-3": { + "type": "assembling-machine", + "name": "assembling-machine-3", + "icon": "entity:icons/assembling-machine-3", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "assembling-machine-3" + }, + "max_health": 400, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "alert_icon_shift": [ + -0.09375, + -0.375 + ], + "resistances": [ + { + "type": "fire", + "percent": 70 + } + ], + "fluid_boxes": [ + { + "production_type": "input", + "pipe_picture": { + "0": { + "filename": "entity:assembling-machine-3/assembling-machine-3-pipe-N", + "priority": "extra-high", + "width": 35, + "height": 18, + "shift": [ + 0.078125, + 0.4375 + ], + "hr_version": { + "filename": "entity:assembling-machine-3/hr-assembling-machine-3-pipe-N", + "priority": "extra-high", + "width": 71, + "height": 38, + "shift": [ + 0.0703125, + 0.421875 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:assembling-machine-3/assembling-machine-3-pipe-E", + "priority": "extra-high", + "width": 20, + "height": 38, + "shift": [ + -0.78125, + 0.03125 + ], + "hr_version": { + "filename": "entity:assembling-machine-3/hr-assembling-machine-3-pipe-E", + "priority": "extra-high", + "width": 42, + "height": 76, + "shift": [ + -0.765625, + 0.03125 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:assembling-machine-3/assembling-machine-3-pipe-S", + "priority": "extra-high", + "width": 44, + "height": 31, + "shift": [ + 0, + -0.984375 + ], + "hr_version": { + "filename": "entity:assembling-machine-3/hr-assembling-machine-3-pipe-S", + "priority": "extra-high", + "width": 88, + "height": 61, + "shift": [ + 0, + -0.9765625 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:assembling-machine-3/assembling-machine-3-pipe-W", + "priority": "extra-high", + "width": 19, + "height": 37, + "shift": [ + 0.796875, + 0.046875 + ], + "hr_version": { + "filename": "entity:assembling-machine-3/hr-assembling-machine-3-pipe-W", + "priority": "extra-high", + "width": 39, + "height": 73, + "shift": [ + 0.8046875, + 0.0390625 + ], + "scale": 0.5 + } + } + }, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_area": 10, + "base_level": -1, + "pipe_connections": [ + { + "type": "input", + "position": [ + 0, + -2 + ] + } + ], + "secondary_draw_orders": { + "0": -1 + } + }, + { + "production_type": "output", + "pipe_picture": { + "0": { + "filename": "entity:assembling-machine-3/assembling-machine-3-pipe-N", + "priority": "extra-high", + "width": 35, + "height": 18, + "shift": [ + 0.078125, + 0.4375 + ], + "hr_version": { + "filename": "entity:assembling-machine-3/hr-assembling-machine-3-pipe-N", + "priority": "extra-high", + "width": 71, + "height": 38, + "shift": [ + 0.0703125, + 0.421875 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:assembling-machine-3/assembling-machine-3-pipe-E", + "priority": "extra-high", + "width": 20, + "height": 38, + "shift": [ + -0.78125, + 0.03125 + ], + "hr_version": { + "filename": "entity:assembling-machine-3/hr-assembling-machine-3-pipe-E", + "priority": "extra-high", + "width": 42, + "height": 76, + "shift": [ + -0.765625, + 0.03125 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:assembling-machine-3/assembling-machine-3-pipe-S", + "priority": "extra-high", + "width": 44, + "height": 31, + "shift": [ + 0, + -0.984375 + ], + "hr_version": { + "filename": "entity:assembling-machine-3/hr-assembling-machine-3-pipe-S", + "priority": "extra-high", + "width": 88, + "height": 61, + "shift": [ + 0, + -0.9765625 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:assembling-machine-3/assembling-machine-3-pipe-W", + "priority": "extra-high", + "width": 19, + "height": 37, + "shift": [ + 0.796875, + 0.046875 + ], + "hr_version": { + "filename": "entity:assembling-machine-3/hr-assembling-machine-3-pipe-W", + "priority": "extra-high", + "width": 39, + "height": 73, + "shift": [ + 0.8046875, + 0.0390625 + ], + "scale": 0.5 + } + } + }, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_area": 10, + "base_level": 1, + "pipe_connections": [ + { + "type": "output", + "position": [ + 0, + 2 + ] + } + ], + "secondary_draw_orders": { + "0": -1 + } + }, + true + ], + "open_sound": { + "filename": "entity:sound/machine-open", + "volume": 0.85 + }, + "close_sound": { + "filename": "entity:sound/machine-close", + "volume": 0.75 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": [ + { + "filename": "entity:sound/assembling-machine-t3-1", + "volume": 0.8 + }, + { + "filename": "entity:sound/assembling-machine-t3-2", + "volume": 0.8 + } + ], + "idle_sound": { + "filename": "entity:sound/idle1", + "volume": 0.6 + }, + "apparent_volume": 1.5 + }, + "collision_box": [ + [ + -1.2, + -1.2 + ], + [ + 1.2, + 1.2 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "drawing_box": [ + [ + -1.5, + -1.7 + ], + [ + 1.5, + 1.5 + ] + ], + "fast_replaceable_group": "assembling-machine", + "animation": { + "layers": [ + { + "filename": "entity:assembling-machine-3/assembling-machine-3", + "priority": "high", + "width": 108, + "height": 119, + "frame_count": 32, + "line_length": 8, + "shift": [ + 0, + -0.015625 + ], + "hr_version": { + "filename": "entity:assembling-machine-3/hr-assembling-machine-3", + "priority": "high", + "width": 214, + "height": 237, + "frame_count": 32, + "line_length": 8, + "shift": [ + 0, + -0.0234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:assembling-machine-3/assembling-machine-3-shadow", + "priority": "high", + "width": 130, + "height": 82, + "frame_count": 32, + "line_length": 8, + "draw_as_shadow": true, + "shift": [ + 0.875, + 0.125 + ], + "hr_version": { + "filename": "entity:assembling-machine-3/hr-assembling-machine-3-shadow", + "priority": "high", + "width": 260, + "height": 162, + "frame_count": 32, + "line_length": 8, + "draw_as_shadow": true, + "shift": [ + 0.875, + 0.125 + ], + "scale": 0.5 + } + } + ] + }, + "crafting_categories": [ + "crafting", + "advanced-crafting", + "crafting-with-fluid" + ], + "crafting_speed": 1.25, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "emissions": 0.008571428571428572 + }, + "energy_usage": "210kW", + "ingredient_count": 6, + "module_specification": { + "module_slots": 4 + }, + "allowed_effects": [ + "consumption", + "speed", + "productivity", + "pollution" + ], + "size": { + "width": 3, + "height": 3 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "oil-refinery": { + "type": "assembling-machine", + "name": "oil-refinery", + "icon": "entity:icons/oil-refinery", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "oil-refinery" + }, + "max_health": 350, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "collision_box": [ + [ + -2.4, + -2.4 + ], + [ + 2.4, + 2.4 + ] + ], + "selection_box": [ + [ + -2.5, + -2.5 + ], + [ + 2.5, + 2.5 + ] + ], + "drawing_box": [ + [ + -2.5, + -2.8 + ], + [ + 2.5, + 2.5 + ] + ], + "module_specification": { + "module_slots": 3 + }, + "scale_entity_info_icon": true, + "allowed_effects": [ + "consumption", + "speed", + "productivity", + "pollution" + ], + "crafting_categories": [ + "oil-processing" + ], + "crafting_speed": 1, + "has_backer_name": true, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "emissions": 0.008571428571428572 + }, + "energy_usage": "420kW", + "ingredient_count": 4, + "animation": { + "0": { + "layers": [ + { + "filename": "entity:oil-refinery/oil-refinery", + "priority": "high", + "x": 0, + "width": 337, + "height": 255, + "frame_count": 1, + "shift": [ + 2.515625, + 0.484375 + ], + "scale": 1, + "hr_version": { + "filename": "entity:oil-refinery/hr-oil-refinery", + "priority": "high", + "x": 0, + "width": 386, + "height": 430, + "frame_count": 1, + "shift": [ + 0, + -0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:oil-refinery/oil-refinery-shadow", + "priority": "high", + "x": 0, + "width": 337, + "height": 213, + "frame_count": 1, + "shift": [ + 2.578125, + 0.828125 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:oil-refinery/hr-oil-refinery-shadow", + "priority": "high", + "x": 0, + "width": 674, + "height": 426, + "frame_count": 1, + "shift": [ + 2.578125, + 0.828125 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:oil-refinery/oil-refinery", + "priority": "high", + "x": 337, + "width": 337, + "height": 255, + "frame_count": 1, + "shift": [ + 2.515625, + 0.484375 + ], + "scale": 1, + "hr_version": { + "filename": "entity:oil-refinery/hr-oil-refinery", + "priority": "high", + "x": 386, + "width": 386, + "height": 430, + "frame_count": 1, + "shift": [ + 0, + -0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:oil-refinery/oil-refinery-shadow", + "priority": "high", + "x": 337, + "width": 337, + "height": 213, + "frame_count": 1, + "shift": [ + 2.578125, + 0.828125 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:oil-refinery/hr-oil-refinery-shadow", + "priority": "high", + "x": 674, + "width": 674, + "height": 426, + "frame_count": 1, + "shift": [ + 2.578125, + 0.828125 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:oil-refinery/oil-refinery", + "priority": "high", + "x": 674, + "width": 337, + "height": 255, + "frame_count": 1, + "shift": [ + 2.515625, + 0.484375 + ], + "scale": 1, + "hr_version": { + "filename": "entity:oil-refinery/hr-oil-refinery", + "priority": "high", + "x": 772, + "width": 386, + "height": 430, + "frame_count": 1, + "shift": [ + 0, + -0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:oil-refinery/oil-refinery-shadow", + "priority": "high", + "x": 674, + "width": 337, + "height": 213, + "frame_count": 1, + "shift": [ + 2.578125, + 0.828125 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:oil-refinery/hr-oil-refinery-shadow", + "priority": "high", + "x": 1348, + "width": 674, + "height": 426, + "frame_count": 1, + "shift": [ + 2.578125, + 0.828125 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:oil-refinery/oil-refinery", + "priority": "high", + "x": 1011, + "width": 337, + "height": 255, + "frame_count": 1, + "shift": [ + 2.515625, + 0.484375 + ], + "scale": 1, + "hr_version": { + "filename": "entity:oil-refinery/hr-oil-refinery", + "priority": "high", + "x": 1158, + "width": 386, + "height": 430, + "frame_count": 1, + "shift": [ + 0, + -0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:oil-refinery/oil-refinery-shadow", + "priority": "high", + "x": 1011, + "width": 337, + "height": 213, + "frame_count": 1, + "shift": [ + 2.578125, + 0.828125 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:oil-refinery/hr-oil-refinery-shadow", + "priority": "high", + "x": 2022, + "width": 674, + "height": 426, + "frame_count": 1, + "shift": [ + 2.578125, + 0.828125 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + } + }, + "working_visualisations": [ + { + "north_position": [ + 1.0625, + -2.03125 + ], + "east_position": [ + -1.625, + -1.90625 + ], + "south_position": [ + -1.84375, + -2.5625 + ], + "west_position": [ + 1.78125, + -1.8125 + ], + "animation": { + "filename": "entity:oil-refinery/oil-refinery-fire", + "line_length": 10, + "width": 20, + "height": 40, + "frame_count": 60, + "animation_speed": 0.75, + "shift": [ + 0, + -0.4375 + ], + "hr_version": { + "filename": "entity:oil-refinery/hr-oil-refinery-fire", + "line_length": 10, + "width": 40, + "height": 81, + "frame_count": 60, + "animation_speed": 0.75, + "scale": 0.5, + "shift": [ + 0, + -0.4453125 + ] + } + }, + "light": { + "intensity": 0.4, + "size": 6, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + } + } + ], + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/oil-refinery" + }, + "idle_sound": { + "filename": "entity:sound/idle1", + "volume": 0.6 + }, + "apparent_volume": 2.5 + }, + "fluid_boxes": [ + { + "production_type": "input", + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_area": 10, + "base_level": -1, + "pipe_connections": [ + { + "type": "input", + "position": [ + -1, + 3 + ] + } + ] + }, + { + "production_type": "input", + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_area": 10, + "base_level": -1, + "pipe_connections": [ + { + "type": "input", + "position": [ + 1, + 3 + ] + } + ] + }, + { + "production_type": "output", + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_level": 1, + "pipe_connections": [ + { + "position": [ + -2, + -3 + ] + } + ] + }, + { + "production_type": "output", + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_level": 1, + "pipe_connections": [ + { + "position": [ + 0, + -3 + ] + } + ] + }, + { + "production_type": "output", + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_level": 1, + "pipe_connections": [ + { + "position": [ + 2, + -3 + ] + } + ] + } + ], + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "size": { + "width": 5, + "height": 5 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "chemical-plant": { + "type": "assembling-machine", + "name": "chemical-plant", + "icon": "entity:icons/chemical-plant", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "chemical-plant" + }, + "max_health": 300, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "collision_box": [ + [ + -1.2, + -1.2 + ], + [ + 1.2, + 1.2 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "drawing_box": [ + [ + -1.5, + -1.9 + ], + [ + 1.5, + 1.5 + ] + ], + "module_specification": { + "module_slots": 3 + }, + "allowed_effects": [ + "consumption", + "speed", + "productivity", + "pollution" + ], + "animation": { + "0": { + "layers": [ + { + "filename": "entity:chemical-plant/chemical-plant", + "priority": "high", + "x": 0, + "width": 122, + "height": 134, + "frame_count": 1, + "shift": [ + -0.15625, + -0.140625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:chemical-plant/hr-chemical-plant", + "priority": "high", + "x": 0, + "width": 244, + "height": 268, + "frame_count": 1, + "shift": [ + -0.15625, + -0.140625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:chemical-plant/chemical-plant-shadow", + "priority": "high", + "x": 0, + "width": 175, + "height": 110, + "frame_count": 1, + "shift": [ + 0.984375, + 0.34375 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:chemical-plant/hr-chemical-plant-shadow", + "priority": "high", + "x": 0, + "width": 350, + "height": 219, + "frame_count": 1, + "shift": [ + 0.984375, + 0.3359375 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:chemical-plant/chemical-plant", + "priority": "high", + "x": 122, + "width": 122, + "height": 134, + "frame_count": 1, + "shift": [ + -0.15625, + -0.140625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:chemical-plant/hr-chemical-plant", + "priority": "high", + "x": 244, + "width": 244, + "height": 268, + "frame_count": 1, + "shift": [ + -0.15625, + -0.140625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:chemical-plant/chemical-plant-shadow", + "priority": "high", + "x": 175, + "width": 175, + "height": 110, + "frame_count": 1, + "shift": [ + 0.984375, + 0.34375 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:chemical-plant/hr-chemical-plant-shadow", + "priority": "high", + "x": 350, + "width": 350, + "height": 219, + "frame_count": 1, + "shift": [ + 0.984375, + 0.3359375 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:chemical-plant/chemical-plant", + "priority": "high", + "x": 244, + "width": 122, + "height": 134, + "frame_count": 1, + "shift": [ + -0.15625, + -0.140625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:chemical-plant/hr-chemical-plant", + "priority": "high", + "x": 488, + "width": 244, + "height": 268, + "frame_count": 1, + "shift": [ + -0.15625, + -0.140625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:chemical-plant/chemical-plant-shadow", + "priority": "high", + "x": 350, + "width": 175, + "height": 110, + "frame_count": 1, + "shift": [ + 0.984375, + 0.34375 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:chemical-plant/hr-chemical-plant-shadow", + "priority": "high", + "x": 700, + "width": 350, + "height": 219, + "frame_count": 1, + "shift": [ + 0.984375, + 0.3359375 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:chemical-plant/chemical-plant", + "priority": "high", + "x": 366, + "width": 122, + "height": 134, + "frame_count": 1, + "shift": [ + -0.15625, + -0.140625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:chemical-plant/hr-chemical-plant", + "priority": "high", + "x": 732, + "width": 244, + "height": 268, + "frame_count": 1, + "shift": [ + -0.15625, + -0.140625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:chemical-plant/chemical-plant-shadow", + "priority": "high", + "x": 525, + "width": 175, + "height": 110, + "frame_count": 1, + "shift": [ + 0.984375, + 0.34375 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:chemical-plant/hr-chemical-plant-shadow", + "priority": "high", + "x": 1050, + "width": 350, + "height": 219, + "frame_count": 1, + "shift": [ + 0.984375, + 0.3359375 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + } + }, + "working_visualisations": [ + { + "north_position": [ + 0.9375, + -0.75 + ], + "west_position": [ + 0.03125, + -1.546875 + ], + "south_position": [ + -0.9375, + -1.5 + ], + "east_position": [ + -0.34375, + -0.03125 + ], + "apply_recipe_tint": "primary", + "animation": { + "filename": "entity:chemical-plant/boiling-green-patch", + "frame_count": 32, + "width": 15, + "height": 10, + "animation_speed": 0.5, + "hr_version": { + "filename": "entity:chemical-plant/hr-boiling-green-patch", + "frame_count": 32, + "width": 30, + "height": 20, + "animation_speed": 0.5, + "scale": 0.5 + } + } + }, + { + "north_position": [ + 0.9375, + -0.75 + ], + "west_position": [ + 0.03125, + -1.546875 + ], + "south_position": [ + -0.9375, + -1.5 + ], + "east_position": [ + -0.34375, + -0.03125 + ], + "apply_recipe_tint": "secondary", + "animation": { + "filename": "entity:chemical-plant/boiling-green-patch-mask", + "frame_count": 32, + "width": 15, + "height": 10, + "animation_speed": 0.5, + "hr_version": { + "filename": "entity:chemical-plant/hr-boiling-green-patch-mask", + "frame_count": 32, + "width": 30, + "height": 20, + "animation_speed": 0.5, + "scale": 0.5 + } + } + }, + { + "apply_recipe_tint": "tertiary", + "north_position": [ + 0, + 0 + ], + "west_position": [ + 0, + 0 + ], + "south_position": [ + 0, + 0 + ], + "east_position": [ + 0, + 0 + ], + "north_animation": { + "filename": "entity:chemical-plant/boiling-window-green-patch", + "frame_count": 1, + "width": 87, + "height": 60, + "shift": [ + 0, + -0.15625 + ], + "hr_version": { + "filename": "entity:chemical-plant/hr-boiling-window-green-patch", + "x": 0, + "frame_count": 1, + "width": 174, + "height": 119, + "shift": [ + 0, + -0.1640625 + ], + "scale": 0.5 + } + }, + "east_animation": { + "filename": "entity:chemical-plant/boiling-window-green-patch", + "x": 87, + "frame_count": 1, + "width": 87, + "height": 60, + "shift": [ + 0, + -0.15625 + ], + "hr_version": { + "filename": "entity:chemical-plant/hr-boiling-window-green-patch", + "x": 174, + "frame_count": 1, + "width": 174, + "height": 119, + "shift": [ + 0, + -0.1640625 + ], + "scale": 0.5 + } + }, + "south_animation": { + "filename": "entity:chemical-plant/boiling-window-green-patch", + "x": 174, + "frame_count": 1, + "width": 87, + "height": 60, + "shift": [ + 0, + -0.15625 + ], + "hr_version": { + "filename": "entity:chemical-plant/hr-boiling-window-green-patch", + "x": 348, + "frame_count": 1, + "width": 174, + "height": 119, + "shift": [ + 0, + -0.1640625 + ], + "scale": 0.5 + } + } + } + ], + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": [ + { + "filename": "entity:sound/chemical-plant", + "volume": 0.8 + } + ], + "idle_sound": { + "filename": "entity:sound/idle1", + "volume": 0.6 + }, + "apparent_volume": 1.5 + }, + "crafting_speed": 1.25, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "emissions": 0.008571428571428572 + }, + "energy_usage": "210kW", + "ingredient_count": 4, + "crafting_categories": [ + "chemistry" + ], + "fluid_boxes": [ + { + "production_type": "input", + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_area": 10, + "base_level": -1, + "pipe_connections": [ + { + "type": "input", + "position": [ + -1, + -2 + ] + } + ] + }, + { + "production_type": "input", + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_area": 10, + "base_level": -1, + "pipe_connections": [ + { + "type": "input", + "position": [ + 1, + -2 + ] + } + ] + }, + { + "production_type": "output", + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_level": 1, + "pipe_connections": [ + { + "position": [ + -1, + 2 + ] + } + ] + }, + { + "production_type": "output", + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_level": 1, + "pipe_connections": [ + { + "position": [ + 1, + 2 + ] + } + ] + } + ], + "size": { + "width": 3, + "height": 3 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "centrifuge": { + "type": "assembling-machine", + "name": "centrifuge", + "icon": "entity:icons/centrifuge", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "centrifuge" + }, + "max_health": 350, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "resistances": [ + { + "type": "fire", + "percent": 70 + } + ], + "collision_box": [ + [ + -1.2, + -1.2 + ], + [ + 1.2, + 1.2 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "drawing_box": [ + [ + -1.5, + -2.2 + ], + [ + 1.5, + 1.5 + ] + ], + "always_draw_idle_animation": true, + "idle_animation": { + "layers": [ + { + "filename": "entity:centrifuge/centrifuge-C", + "priority": "high", + "line_length": 8, + "width": 119, + "height": 107, + "frame_count": 64, + "shift": [ + -0.015625, + -0.828125 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-C", + "priority": "high", + "scale": 0.5, + "line_length": 8, + "width": 237, + "height": 214, + "frame_count": 64, + "shift": [ + -0.0078125, + -0.828125 + ] + } + }, + { + "filename": "entity:centrifuge/centrifuge-C-shadow", + "draw_as_shadow": true, + "priority": "high", + "line_length": 8, + "width": 132, + "height": 74, + "frame_count": 64, + "shift": [ + 0.625, + -0.3125 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-C-shadow", + "draw_as_shadow": true, + "priority": "high", + "scale": 0.5, + "line_length": 8, + "width": 279, + "height": 152, + "frame_count": 64, + "shift": [ + 0.5234375, + -0.3125 + ] + } + }, + { + "filename": "entity:centrifuge/centrifuge-B", + "priority": "high", + "line_length": 8, + "width": 78, + "height": 117, + "frame_count": 64, + "shift": [ + 0.71875, + 0.203125 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-B", + "priority": "high", + "scale": 0.5, + "line_length": 8, + "width": 156, + "height": 234, + "frame_count": 64, + "shift": [ + 0.71875, + 0.203125 + ] + } + }, + { + "filename": "entity:centrifuge/centrifuge-B-shadow", + "draw_as_shadow": true, + "priority": "high", + "line_length": 8, + "width": 124, + "height": 74, + "frame_count": 64, + "shift": [ + 1.96875, + 0.5 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-B-shadow", + "draw_as_shadow": true, + "priority": "high", + "scale": 0.5, + "line_length": 8, + "width": 251, + "height": 149, + "frame_count": 64, + "shift": [ + 1.9765625, + 0.4765625 + ] + } + }, + { + "filename": "entity:centrifuge/centrifuge-A", + "priority": "high", + "line_length": 8, + "width": 70, + "height": 123, + "frame_count": 64, + "shift": [ + -0.8125, + 0.109375 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-A", + "priority": "high", + "scale": 0.5, + "line_length": 8, + "width": 139, + "height": 246, + "frame_count": 64, + "shift": [ + -0.8203125, + 0.109375 + ] + } + }, + { + "filename": "entity:centrifuge/centrifuge-A-shadow", + "priority": "high", + "draw_as_shadow": true, + "line_length": 8, + "width": 108, + "height": 54, + "frame_count": 64, + "shift": [ + 0.1875, + 0.84375 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-A-shadow", + "priority": "high", + "draw_as_shadow": true, + "scale": 0.5, + "line_length": 8, + "width": 230, + "height": 124, + "frame_count": 64, + "shift": [ + 0.265625, + 0.734375 + ] + } + } + ] + }, + "animation": { + "layers": [ + { + "filename": "entity:centrifuge/centrifuge-C-light", + "priority": "high", + "blend_mode": "additive", + "line_length": 8, + "width": 96, + "height": 104, + "frame_count": 64, + "shift": [ + 0, + -0.84375 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-C-light", + "priority": "high", + "scale": 0.5, + "blend_mode": "additive", + "line_length": 8, + "width": 190, + "height": 207, + "frame_count": 64, + "shift": [ + 0, + -0.8515625 + ] + } + }, + { + "filename": "entity:centrifuge/centrifuge-B-light", + "priority": "high", + "blend_mode": "additive", + "line_length": 8, + "width": 65, + "height": 103, + "frame_count": 64, + "shift": [ + 0.515625, + 0.015625 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-B-light", + "priority": "high", + "scale": 0.5, + "blend_mode": "additive", + "line_length": 8, + "width": 131, + "height": 206, + "frame_count": 64, + "shift": [ + 0.5234375, + 0.015625 + ] + } + }, + { + "filename": "entity:centrifuge/centrifuge-A-light", + "priority": "high", + "blend_mode": "additive", + "line_length": 8, + "width": 55, + "height": 98, + "frame_count": 64, + "shift": [ + -0.734375, + -0.0625 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-A-light", + "priority": "high", + "scale": 0.5, + "blend_mode": "additive", + "line_length": 8, + "width": 108, + "height": 197, + "frame_count": 64, + "shift": [ + -0.734375, + -0.0546875 + ] + } + } + ] + }, + "working_visualisations": [ + { + "effect": "uranium-glow", + "light": { + "intensity": 0.6, + "size": 9.9, + "shift": [ + 0, + 0 + ], + "color": { + "r": 0, + "g": 1, + "b": 0 + } + } + } + ], + "working_visualisations_disabled": [ + { + "north_position": [ + 0, + 0 + ], + "east_position": [ + 0, + 0 + ], + "south_position": [ + 0, + 0 + ], + "west_position": [ + 0, + 0 + ], + "animation": { + "filename": "entity:centrifuge/centrifuge-C-light", + "priority": "high", + "blend_mode": "additive", + "line_length": 8, + "width": 96, + "height": 104, + "frame_count": 64, + "shift": [ + 0, + -0.84375 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-C-light", + "priority": "high", + "scale": 0.5, + "blend_mode": "additive", + "line_length": 8, + "width": 190, + "height": 207, + "frame_count": 64, + "shift": [ + 0, + -0.8515625 + ] + } + } + }, + { + "north_position": [ + 0, + 0 + ], + "east_position": [ + 0, + 0 + ], + "south_position": [ + 0, + 0 + ], + "west_position": [ + 0, + 0 + ], + "animation": { + "filename": "entity:centrifuge/centrifuge-B-light", + "priority": "high", + "blend_mode": "additive", + "line_length": 8, + "width": 65, + "height": 103, + "frame_count": 64, + "shift": [ + 0.515625, + 0.015625 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-B-light", + "priority": "high", + "scale": 0.5, + "blend_mode": "additive", + "line_length": 8, + "width": 131, + "height": 206, + "frame_count": 64, + "shift": [ + 0.5234375, + 0.015625 + ] + } + } + }, + { + "north_position": [ + 0, + 0 + ], + "east_position": [ + 0, + 0 + ], + "south_position": [ + 0, + 0 + ], + "west_position": [ + 0, + 0 + ], + "animation": { + "filename": "entity:centrifuge/centrifuge-A-light", + "priority": "high", + "blend_mode": "additive", + "line_length": 8, + "width": 55, + "height": 98, + "frame_count": 64, + "shift": [ + -0.734375, + -0.0625 + ], + "hr_version": { + "filename": "entity:centrifuge/hr-centrifuge-A-light", + "priority": "high", + "scale": 0.5, + "blend_mode": "additive", + "line_length": 8, + "width": 108, + "height": 197, + "frame_count": 64, + "shift": [ + -0.734375, + -0.0546875 + ] + } + } + } + ], + "open_sound": { + "filename": "entity:sound/machine-open", + "volume": 0.85 + }, + "close_sound": { + "filename": "entity:sound/machine-close", + "volume": 0.75 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": [ + { + "filename": "entity:sound/assembling-machine-t2-1", + "volume": 0.8 + }, + { + "filename": "entity:sound/assembling-machine-t2-2", + "volume": 0.8 + } + ], + "idle_sound": { + "filename": "entity:sound/idle1", + "volume": 0.6 + }, + "apparent_volume": 1.5 + }, + "crafting_speed": 0.75, + "crafting_categories": [ + "centrifuging" + ], + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "emissions": 0.016 + }, + "energy_usage": "350kW", + "ingredient_count": 2, + "module_specification": { + "module_slots": 2 + }, + "allowed_effects": [ + "consumption", + "speed", + "productivity", + "pollution" + ], + "size": { + "width": 3, + "height": 3 + } + }, + "stone-wall": { + "type": "wall", + "name": "stone-wall", + "icon": "entity:icons/stone-wall", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "collision_box": [ + [ + -0.29, + -0.29 + ], + [ + 0.29, + 0.29 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "minable": { + "mining_time": 0.5, + "result": "stone-wall" + }, + "fast_replaceable_group": "wall", + "max_health": 350, + "repair_speed_modifier": 2, + "corpse": "wall-remnants", + "repair_sound": { + "filename": "entity:sound/manual-repair-simple" + }, + "mined_sound": { + "filename": "entity:sound/deconstruct-bricks" + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-stone-impact", + "volume": 1 + }, + "connected_gate_visualization": { + "filename": "entity:arrows/underground-lines", + "priority": "high", + "width": 64, + "height": 64, + "scale": 0.5 + }, + "resistances": [ + { + "type": "physical", + "decrease": 3, + "percent": 20 + }, + { + "type": "impact", + "decrease": 45, + "percent": 60 + }, + { + "type": "explosion", + "decrease": 10, + "percent": 30 + }, + { + "type": "fire", + "percent": 100 + }, + { + "type": "laser", + "percent": 70 + } + ], + "pictures": { + "single": { + "layers": [ + { + "filename": "entity:stone-wall/wall-single", + "priority": "extra-high", + "width": 22, + "height": 42, + "shift": [ + 0, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-single-shadow", + "priority": "extra-high", + "width": 47, + "height": 32, + "shift": [ + 0.359375, + 0.5 + ], + "draw_as_shadow": true + } + ] + }, + "straight_vertical": [ + { + "layers": [ + { + "filename": "entity:stone-wall/wall-straight-vertical-1", + "priority": "extra-high", + "width": 22, + "height": 42, + "shift": [ + 0, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-straight-vertical-shadow", + "priority": "extra-high", + "width": 47, + "height": 60, + "shift": [ + 0.390625, + 0.625 + ], + "draw_as_shadow": true + } + ] + }, + { + "layers": [ + { + "filename": "entity:stone-wall/wall-straight-vertical-2", + "priority": "extra-high", + "width": 22, + "height": 42, + "shift": [ + 0, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-straight-vertical-shadow", + "priority": "extra-high", + "width": 47, + "height": 60, + "shift": [ + 0.390625, + 0.625 + ], + "draw_as_shadow": true + } + ] + }, + { + "layers": [ + { + "filename": "entity:stone-wall/wall-straight-vertical-3", + "priority": "extra-high", + "width": 22, + "height": 42, + "shift": [ + 0, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-straight-vertical-shadow", + "priority": "extra-high", + "width": 47, + "height": 60, + "shift": [ + 0.390625, + 0.625 + ], + "draw_as_shadow": true + } + ] + } + ], + "straight_horizontal": [ + { + "layers": [ + { + "filename": "entity:stone-wall/wall-straight-horizontal-1", + "priority": "extra-high", + "width": 32, + "height": 42, + "shift": [ + 0, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-straight-horizontal-shadow", + "priority": "extra-high", + "width": 59, + "height": 32, + "shift": [ + 0.421875, + 0.5 + ], + "draw_as_shadow": true + } + ] + }, + { + "layers": [ + { + "filename": "entity:stone-wall/wall-straight-horizontal-2", + "priority": "extra-high", + "width": 32, + "height": 42, + "shift": [ + 0, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-straight-horizontal-shadow", + "priority": "extra-high", + "width": 59, + "height": 32, + "shift": [ + 0.421875, + 0.5 + ], + "draw_as_shadow": true + } + ] + }, + { + "layers": [ + { + "filename": "entity:stone-wall/wall-straight-horizontal-3", + "priority": "extra-high", + "width": 32, + "height": 42, + "shift": [ + 0, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-straight-horizontal-shadow", + "priority": "extra-high", + "width": 59, + "height": 32, + "shift": [ + 0.421875, + 0.5 + ], + "draw_as_shadow": true + } + ] + } + ], + "corner_right_down": { + "layers": [ + { + "filename": "entity:stone-wall/wall-corner-right-down", + "priority": "extra-high", + "width": 27, + "height": 42, + "shift": [ + 0.078125, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-corner-right-down-shadow", + "priority": "extra-high", + "width": 53, + "height": 61, + "shift": [ + 0.484375, + 0.640625 + ], + "draw_as_shadow": true + } + ] + }, + "corner_left_down": { + "layers": [ + { + "filename": "entity:stone-wall/wall-corner-left-down", + "priority": "extra-high", + "width": 27, + "height": 42, + "shift": [ + -0.078125, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-corner-left-down-shadow", + "priority": "extra-high", + "width": 53, + "height": 60, + "shift": [ + 0.328125, + 0.640625 + ], + "draw_as_shadow": true + } + ] + }, + "t_up": { + "layers": [ + { + "filename": "entity:stone-wall/wall-t-down", + "priority": "extra-high", + "width": 32, + "height": 42, + "shift": [ + 0, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-t-down-shadow", + "priority": "extra-high", + "width": 71, + "height": 61, + "shift": [ + 0.546875, + 0.640625 + ], + "draw_as_shadow": true + } + ] + }, + "ending_right": { + "layers": [ + { + "filename": "entity:stone-wall/wall-ending-right", + "priority": "extra-high", + "width": 27, + "height": 42, + "shift": [ + 0.078125, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-ending-right-shadow", + "priority": "extra-high", + "width": 53, + "height": 32, + "shift": [ + 0.484375, + 0.5 + ], + "draw_as_shadow": true + } + ] + }, + "ending_left": { + "layers": [ + { + "filename": "entity:stone-wall/wall-ending-left", + "priority": "extra-high", + "width": 27, + "height": 42, + "shift": [ + -0.078125, + -0.15625 + ] + }, + { + "filename": "entity:stone-wall/wall-ending-left-shadow", + "priority": "extra-high", + "width": 53, + "height": 32, + "shift": [ + 0.328125, + 0.5 + ], + "draw_as_shadow": true + } + ] + }, + "water_connection_patch": { + "sheets": [ + { + "filename": "entity:stone-wall/wall-patch", + "priority": "extra-high", + "width": 52, + "height": 68, + "shift": [ + 0, + -0.0625 + ] + }, + { + "filename": "entity:stone-wall/wall-patch-shadow", + "priority": "extra-high", + "draw_as_shadow": true, + "width": 74, + "height": 96, + "shift": [ + 0.1875, + 0.40625 + ] + } + ] + } + }, + "wall_diode_green": { + "filename": "entity:gate/wall-diode-green", + "width": 21, + "height": 22, + "shift": [ + 0, + -0.78125 + ] + }, + "wall_diode_green_light": { + "minimum_darkness": 0.3, + "color": { + "g": 1 + }, + "shift": [ + 0, + -0.78125 + ], + "size": 1, + "intensity": 0.3 + }, + "wall_diode_red": { + "filename": "entity:gate/wall-diode-red", + "width": 21, + "height": 22, + "shift": [ + 0, + -0.78125 + ] + }, + "wall_diode_red_light": { + "minimum_darkness": 0.3, + "color": { + "r": 1 + }, + "shift": [ + 0, + -0.78125 + ], + "size": 1, + "intensity": 0.3 + }, + "circuit_wire_connection_point": { + "wire": { + "red": [ + -0.34375, + -0.640625 + ], + "green": [ + -0.265625, + -0.84375 + ] + }, + "shadow": { + "red": [ + 0.625, + 0.875 + ], + "green": [ + 0.71875, + 0.6875 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 312, + "y": 0, + "shift": [ + 0, + -0.484375 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 372, + "y": 0, + "shift": [ + 0, + -0.515625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 420, + "y": 0, + "shift": [ + 0.15625, + -0.390625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 360, + "y": 0, + "shift": [ + 0, + -0.515625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 276, + "y": 0, + "shift": [ + 0, + -0.515625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 288, + "y": 0, + "shift": [ + 0, + -0.515625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 288, + "y": 0, + "shift": [ + 0, + -0.515625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.015625, + -0.8125 + ], + "red_green_led_light_offset": [ + -0.015625, + -0.6875 + ] + }, + "circuit_wire_max_distance": 9, + "default_output_signal": { + "type": "virtual", + "name": "signal-G" + }, + "size": { + "width": 1, + "height": 1 + } + }, + "electric-mining-drill": { + "type": "mining-drill", + "name": "electric-mining-drill", + "icon": "entity:icons/electric-mining-drill", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "electric-mining-drill" + }, + "max_health": 300, + "resource_categories": [ + "basic-solid" + ], + "corpse": "big-remnants", + "collision_box": [ + [ + -1.4, + -1.4 + ], + [ + 1.4, + 1.4 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "input_fluid_box": { + "production_type": "input-output", + "pipe_picture": { + "0": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-N", + "priority": "extra-high", + "width": 35, + "height": 18, + "shift": [ + 0.078125, + 0.4375 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-N", + "priority": "extra-high", + "width": 71, + "height": 38, + "shift": [ + 0.0703125, + 0.421875 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-E", + "priority": "extra-high", + "width": 20, + "height": 38, + "shift": [ + -0.78125, + 0.03125 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-E", + "priority": "extra-high", + "width": 42, + "height": 76, + "shift": [ + -0.765625, + 0.03125 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-S", + "priority": "extra-high", + "width": 44, + "height": 31, + "shift": [ + 0, + -0.984375 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-S", + "priority": "extra-high", + "width": 88, + "height": 61, + "shift": [ + 0, + -0.9765625 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:assembling-machine-2/assembling-machine-2-pipe-W", + "priority": "extra-high", + "width": 19, + "height": 37, + "shift": [ + 0.796875, + 0.046875 + ], + "hr_version": { + "filename": "entity:assembling-machine-2/hr-assembling-machine-2-pipe-W", + "priority": "extra-high", + "width": 39, + "height": 73, + "shift": [ + 0.8046875, + 0.0390625 + ], + "scale": 0.5 + } + } + }, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_area": 1, + "height": 2, + "base_level": -1, + "pipe_connections": [ + { + "position": [ + -2, + 0 + ] + }, + { + "position": [ + 2, + 0 + ] + }, + { + "position": [ + 0, + 2 + ] + } + ] + }, + "working_sound": { + "sound": { + "filename": "entity:sound/electric-mining-drill", + "volume": 0.75 + }, + "apparent_volume": 1.5 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "animations": { + "0": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-N", + "line_length": 8, + "width": 98, + "height": 113, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0, + -0.265625 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-N", + "line_length": 8, + "width": 196, + "height": 226, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0, + -0.25 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + "2": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-E", + "line_length": 8, + "width": 105, + "height": 98, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0.109375, + -0.03125 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-E", + "line_length": 8, + "width": 211, + "height": 197, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0.1171875, + -0.0390625 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + "4": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-S", + "line_length": 8, + "width": 98, + "height": 109, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0, + -0.046875 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-S", + "line_length": 8, + "width": 196, + "height": 219, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0, + -0.0390625 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + "6": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-W", + "line_length": 8, + "width": 105, + "height": 98, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + -0.109375, + -0.03125 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-W", + "line_length": 8, + "width": 211, + "height": 197, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + -0.1171875, + -0.0234375 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + } + }, + "shadow_animations": { + "0": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-N-drill-shadow", + "flags": [ + "shadow" + ], + "line_length": 8, + "width": 101, + "height": 111, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0.046875, + -0.234375 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-N-drill-shadow", + "flags": [ + "shadow" + ], + "line_length": 8, + "width": 201, + "height": 223, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0.0390625, + -0.2265625 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + "2": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-E-drill-shadow", + "flags": [ + "shadow" + ], + "line_length": 8, + "width": 110, + "height": 97, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0.1875, + -0.015625 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-E-drill-shadow", + "flags": [ + "shadow" + ], + "line_length": 8, + "width": 221, + "height": 195, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0.1953125, + -0.0078125 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + "4": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-S-drill-shadow", + "flags": [ + "shadow" + ], + "line_length": 8, + "width": 100, + "height": 103, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0.03125, + 0.078125 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-S-drill-shadow", + "flags": [ + "shadow" + ], + "line_length": 8, + "width": 200, + "height": 206, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0.03125, + 0.078125 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + "6": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-W-drill-shadow", + "flags": [ + "shadow" + ], + "line_length": 8, + "width": 114, + "height": 97, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0.03125, + -0.015625 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-W-drill-shadow", + "flags": [ + "shadow" + ], + "line_length": 8, + "width": 229, + "height": 195, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0.0390625, + -0.0078125 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + } + }, + "input_fluid_patch_sprites": { + "0": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-N-patch", + "line_length": 1, + "width": 100, + "height": 111, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0, + -0.203125 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-N-patch", + "line_length": 1, + "width": 200, + "height": 222, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.015625, + -0.203125 + ], + "scale": 0.5 + } + }, + "2": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-E-patch", + "line_length": 1, + "width": 100, + "height": 110, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0, + -0.1875 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-E-patch", + "line_length": 1, + "width": 200, + "height": 219, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0, + -0.1796875 + ], + "scale": 0.5 + } + }, + "4": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-S-patch", + "line_length": 1, + "width": 100, + "height": 113, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0, + -0.234375 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-S-patch", + "line_length": 1, + "width": 200, + "height": 226, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.015625, + -0.234375 + ], + "scale": 0.5 + } + }, + "6": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-W-patch", + "line_length": 1, + "width": 100, + "height": 108, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0, + -0.15625 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-W-patch", + "line_length": 1, + "width": 200, + "height": 220, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.015625, + -0.1875 + ], + "scale": 0.5 + } + } + }, + "input_fluid_patch_shadow_sprites": { + "0": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-N-patch-shadow", + "flags": [ + "shadow" + ], + "line_length": 1, + "width": 110, + "height": 98, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.15625, + 0 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-N-patch-shadow", + "flags": [ + "shadow" + ], + "line_length": 1, + "width": 220, + "height": 197, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.15625, + -0.0078125 + ], + "scale": 0.5 + } + }, + "2": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-E-patch-shadow", + "flags": [ + "shadow" + ], + "line_length": 1, + "width": 112, + "height": 98, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.1875, + 0 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-E-patch-shadow", + "flags": [ + "shadow" + ], + "line_length": 1, + "width": 224, + "height": 198, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.1875, + 0 + ], + "scale": 0.5 + } + }, + "4": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-S-patch-shadow", + "flags": [ + "shadow" + ], + "line_length": 1, + "width": 110, + "height": 98, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.15625, + 0 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-S-patch-shadow", + "flags": [ + "shadow" + ], + "line_length": 1, + "width": 220, + "height": 197, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.15625, + -0.0078125 + ], + "scale": 0.5 + } + }, + "6": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-W-patch-shadow", + "flags": [ + "shadow" + ], + "line_length": 1, + "width": 110, + "height": 98, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.15625, + 0 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-W-patch-shadow", + "flags": [ + "shadow" + ], + "line_length": 1, + "width": 220, + "height": 197, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.15625, + -0.0078125 + ], + "scale": 0.5 + } + } + }, + "input_fluid_patch_shadow_animations": { + "0": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-N-drill-received-shadow", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "line_length": 8, + "width": 100, + "height": 102, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + -0.03125, + -0.09375 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-N-drill-received-shadow", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "line_length": 8, + "width": 204, + "height": 206, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + -0.015625, + -0.0625 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + "2": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-E-drill-received-shadow", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "line_length": 8, + "width": 102, + "height": 98, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0, + -0.0625 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-E-drill-received-shadow", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "line_length": 8, + "width": 204, + "height": 209, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + -0.015625, + -0.0390625 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + "4": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-S-drill-received-shadow", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "line_length": 8, + "width": 100, + "height": 98, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + -0.03125, + -0.03125 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-S-drill-received-shadow", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "line_length": 8, + "width": 204, + "height": 204, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + -0.015625, + -0.078125 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + "6": { + "priority": "high", + "filename": "entity:electric-mining-drill/electric-mining-drill-W-drill-received-shadow", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "line_length": 8, + "width": 96, + "height": 99, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0, + -0.046875 + ], + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-W-drill-received-shadow", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "line_length": 8, + "width": 198, + "height": 206, + "frame_count": 64, + "animation_speed": 0.5, + "direction_count": 1, + "shift": [ + 0.03125, + -0.0625 + ], + "run_mode": "forward-then-backward", + "scale": 0.5 + } + } + }, + "input_fluid_patch_window_sprites": { + "0": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-N-window-background", + "line_length": 1, + "width": 72, + "height": 54, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.03125, + 0.03125 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-N-window-background", + "line_length": 1, + "width": 142, + "height": 107, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.03125, + 0.0234375 + ], + "scale": 0.5 + } + }, + "2": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-E-window-background", + "line_length": 1, + "width": 51, + "height": 74, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.359375, + -0.34375 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-E-window-background", + "line_length": 1, + "width": 104, + "height": 147, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.34375, + -0.3515625 + ], + "scale": 0.5 + } + }, + "4": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-S-window-background", + "line_length": 1, + "width": 71, + "height": 44, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.046875, + -0.90625 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-S-window-background", + "line_length": 1, + "width": 141, + "height": 86, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.0546875, + -0.90625 + ], + "scale": 0.5 + } + }, + "6": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-W-window-background", + "line_length": 1, + "width": 41, + "height": 69, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.359375, + -0.359375 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-W-window-background", + "line_length": 1, + "width": 80, + "height": 137, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.359375, + -0.3515625 + ], + "scale": 0.5 + } + } + }, + "input_fluid_patch_window_flow_sprites": [ + { + "0": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-N-fluid-flow", + "line_length": 1, + "width": 68, + "height": 50, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.0625, + -0.03125 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-N-fluid-flow", + "line_length": 1, + "width": 136, + "height": 99, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.078125, + -0.0234375 + ], + "scale": 0.5 + } + }, + "2": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-E-fluid-flow", + "line_length": 1, + "width": 41, + "height": 70, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.359375, + -0.34375 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-E-fluid-flow", + "line_length": 1, + "width": 82, + "height": 139, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.359375, + -0.3515625 + ], + "scale": 0.5 + } + }, + "4": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-S-fluid-flow", + "line_length": 1, + "width": 68, + "height": 40, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.0625, + -0.90625 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-S-fluid-flow", + "line_length": 1, + "width": 136, + "height": 80, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.078125, + -0.921875 + ], + "scale": 0.5 + } + }, + "6": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-W-fluid-flow", + "line_length": 1, + "width": 42, + "height": 70, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.34375, + -0.34375 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-W-fluid-flow", + "line_length": 1, + "width": 83, + "height": 140, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.3359375, + -0.34375 + ], + "scale": 0.5 + } + } + } + ], + "input_fluid_patch_window_base_sprites": [ + { + "0": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-N-fluid-background", + "line_length": 1, + "width": 70, + "height": 48, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.0625, + 0 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-N-fluid-background", + "line_length": 1, + "width": 138, + "height": 94, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.0625, + 0 + ], + "scale": 0.5 + } + }, + "2": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-E-fluid-background", + "line_length": 1, + "width": 42, + "height": 70, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.375, + -0.34375 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-E-fluid-background", + "line_length": 1, + "width": 84, + "height": 138, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.375, + -0.34375 + ], + "scale": 0.5 + } + }, + "4": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-S-fluid-background", + "line_length": 1, + "width": 70, + "height": 40, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.0625, + -0.90625 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-S-fluid-background", + "line_length": 1, + "width": 138, + "height": 80, + "frame_count": 1, + "direction_count": 1, + "shift": [ + -0.0625, + -0.90625 + ], + "scale": 0.5 + } + }, + "6": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/electric-mining-drill-W-fluid-background", + "line_length": 1, + "width": 42, + "height": 69, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.375, + -0.328125 + ], + "hr_version": { + "priority": "extra-high", + "filename": "entity:electric-mining-drill/hr-electric-mining-drill-W-fluid-background", + "line_length": 1, + "width": 83, + "height": 137, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.3671875, + -0.3359375 + ], + "scale": 0.5 + } + } + } + ], + "mining_speed": 0.5, + "energy_source": { + "type": "electric", + "emissions": 0.09999999999999999, + "usage_priority": "secondary-input" + }, + "energy_usage": "90kW", + "mining_power": 3, + "resource_searching_radius": 2.49, + "vector_to_place_result": [ + 0, + -1.85 + ], + "module_specification": { + "module_slots": 3 + }, + "radius_visualisation_picture": { + "filename": "entity:electric-mining-drill/electric-mining-drill-radius-visualization", + "width": 12, + "height": 12 + }, + "monitor_visualization_tint": { + "r": 78, + "g": 173, + "b": 255 + }, + "fast_replaceable_group": "mining-drill", + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + -1.640625, + -0.328125 + ], + "green": [ + -1.5625, + -0.53125 + ] + }, + "shadow": { + "red": [ + -1.265625, + 0.125 + ], + "green": [ + -1.171875, + -0.0625 + ] + } + }, + { + "wire": { + "red": [ + 0.125, + 1.234375 + ], + "green": [ + -0.109375, + 1.234375 + ] + }, + "shadow": { + "red": [ + 0.328125, + 1.640625 + ], + "green": [ + 0.109375, + 1.65625 + ] + } + }, + { + "wire": { + "red": [ + 1.59375, + -0.5 + ], + "green": [ + 1.65625, + -0.3125 + ] + }, + "shadow": { + "red": [ + 1.78125, + -0.015625 + ], + "green": [ + 1.859375, + 0.1875 + ] + } + }, + { + "wire": { + "red": [ + -0.078125, + -2.078125 + ], + "green": [ + 0.1875, + -2.078125 + ] + }, + "shadow": { + "red": [ + 0.15625, + -1.609375 + ], + "green": [ + 0.40625, + -1.59375 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 312, + "y": 0, + "shift": [ + -1.296875, + -0.171875 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 372, + "y": 0, + "shift": [ + -0.96875, + 0.234375 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 372, + "y": 0, + "shift": [ + -1.296875, + -0.203125 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 420, + "y": 0, + "shift": [ + -1.140625, + -0.078125 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 360, + "y": 0, + "shift": [ + -1.296875, + -0.203125 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 276, + "y": 0, + "shift": [ + -1.296875, + -0.203125 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 288, + "y": 0, + "shift": [ + -1.296875, + -0.203125 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 288, + "y": 0, + "shift": [ + -1.296875, + -0.203125 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -1.3125, + -0.5 + ], + "red_green_led_light_offset": [ + -1.3125, + -0.375 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.140625, + 1.0625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.34375, + 1.46875 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.140625, + 1.03125 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.296875, + 1.15625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.140625, + 1.03125 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.140625, + 1.03125 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.140625, + 1.03125 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + 0.140625, + 1.03125 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.078125, + 0.921875 + ], + "red_green_led_light_offset": [ + 0.078125, + 0.921875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 0, + "shift": [ + 1.3125, + -0.359375 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 1.4375, + 0.0625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 1.3125, + -0.390625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 0, + "shift": [ + 1.46875, + -0.265625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 0, + "shift": [ + 1.3125, + -0.390625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 0, + "shift": [ + 1.3125, + -0.390625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 0, + "shift": [ + 1.3125, + -0.390625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 0, + "shift": [ + 1.3125, + -0.390625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 1.34375, + -0.359375 + ], + "red_green_led_light_offset": [ + 1.34375, + -0.46875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 208, + "y": 0, + "shift": [ + -0.109375, + -1.703125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 248, + "y": 0, + "shift": [ + 0.015625, + -1.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 248, + "y": 0, + "shift": [ + -0.109375, + -1.734375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 280, + "y": 0, + "shift": [ + 0.046875, + -1.609375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 240, + "y": 0, + "shift": [ + -0.109375, + -1.734375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 184, + "y": 0, + "shift": [ + -0.109375, + -1.734375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + -0.109375, + -1.734375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + -0.109375, + -1.734375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + -1.875 + ], + "red_green_led_light_offset": [ + -0.03125, + -1.875 + ] + } + ], + "circuit_wire_max_distance": 9, + "size": { + "width": 3, + "height": 3 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "burner-mining-drill": { + "type": "mining-drill", + "name": "burner-mining-drill", + "icon": "entity:icons/burner-mining-drill", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "resource_categories": [ + "basic-solid" + ], + "minable": { + "mining_time": 1, + "result": "burner-mining-drill" + }, + "max_health": 150, + "corpse": "medium-remnants", + "collision_box": [ + [ + -0.7, + -0.7 + ], + [ + 0.7, + 0.7 + ] + ], + "selection_box": [ + [ + -1, + -1 + ], + [ + 1, + 1 + ] + ], + "mining_speed": 0.35, + "working_sound": { + "sound": { + "filename": "entity:sound/burner-mining-drill", + "volume": 0.8 + } + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "energy_source": { + "type": "burner", + "fuel_category": "chemical", + "effectivity": 1, + "fuel_inventory_size": 1, + "emissions": 0.03333333333333333, + "smoke": [ + { + "name": "smoke", + "deviation": [ + 0.1, + 0.1 + ], + "frequency": 3 + } + ] + }, + "energy_usage": "300kW", + "mining_power": 2.5, + "animations": { + "0": { + "layers": [ + { + "priority": "high", + "width": 87, + "height": 95, + "line_length": 4, + "shift": [ + 0.078125, + 0.015625 + ], + "filename": "entity:burner-mining-drill/burner-mining-drill-N", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "width": 173, + "height": 188, + "line_length": 4, + "shift": [ + 0.0859375, + 0.015625 + ], + "filename": "entity:burner-mining-drill/hr-burner-mining-drill-N", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + { + "priority": "high", + "width": 109, + "height": 76, + "line_length": 4, + "shift": [ + 0.734375, + -0.03125 + ], + "filename": "entity:burner-mining-drill/burner-mining-drill-N-shadow", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "draw_as_shadow": true, + "hr_version": { + "priority": "high", + "width": 217, + "height": 150, + "line_length": 4, + "shift": [ + 0.7421875, + -0.03125 + ], + "filename": "entity:burner-mining-drill/hr-burner-mining-drill-N-shadow", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "2": { + "layers": [ + { + "priority": "high", + "width": 93, + "height": 84, + "line_length": 4, + "shift": [ + 0.078125, + 0.03125 + ], + "filename": "entity:burner-mining-drill/burner-mining-drill-E", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "width": 185, + "height": 168, + "line_length": 4, + "shift": [ + 0.0859375, + 0.03125 + ], + "filename": "entity:burner-mining-drill/hr-burner-mining-drill-E", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + { + "priority": "high", + "width": 93, + "height": 65, + "line_length": 4, + "shift": [ + 0.421875, + 0.015625 + ], + "filename": "entity:burner-mining-drill/burner-mining-drill-E-shadow", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "draw_as_shadow": true, + "hr_version": { + "priority": "high", + "width": 185, + "height": 128, + "line_length": 4, + "shift": [ + 0.4296875, + 0.015625 + ], + "filename": "entity:burner-mining-drill/hr-burner-mining-drill-E-shadow", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "4": { + "layers": [ + { + "priority": "high", + "width": 87, + "height": 87, + "line_length": 4, + "shift": [ + 0.015625, + -0.015625 + ], + "filename": "entity:burner-mining-drill/burner-mining-drill-S", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "width": 174, + "height": 174, + "line_length": 4, + "shift": [ + 0.015625, + -0.015625 + ], + "filename": "entity:burner-mining-drill/hr-burner-mining-drill-S", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + { + "priority": "high", + "width": 88, + "height": 69, + "line_length": 4, + "shift": [ + 0.34375, + 0.078125 + ], + "filename": "entity:burner-mining-drill/burner-mining-drill-S-shadow", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "draw_as_shadow": true, + "hr_version": { + "priority": "high", + "width": 174, + "height": 137, + "line_length": 4, + "shift": [ + 0.34375, + 0.0859375 + ], + "filename": "entity:burner-mining-drill/hr-burner-mining-drill-S-shadow", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "6": { + "layers": [ + { + "priority": "high", + "width": 91, + "height": 88, + "line_length": 4, + "shift": [ + -0.046875, + 0 + ], + "filename": "entity:burner-mining-drill/burner-mining-drill-W", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "hr_version": { + "priority": "high", + "width": 180, + "height": 176, + "line_length": 4, + "shift": [ + -0.046875, + 0 + ], + "filename": "entity:burner-mining-drill/hr-burner-mining-drill-W", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "scale": 0.5 + } + }, + { + "priority": "high", + "width": 89, + "height": 66, + "line_length": 4, + "shift": [ + 0.234375, + 0.03125 + ], + "filename": "entity:burner-mining-drill/burner-mining-drill-W-shadow", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "draw_as_shadow": true, + "hr_version": { + "priority": "high", + "width": 176, + "height": 130, + "line_length": 4, + "shift": [ + 0.234375, + 0.03125 + ], + "filename": "entity:burner-mining-drill/hr-burner-mining-drill-W-shadow", + "frame_count": 32, + "animation_speed": 0.5, + "run_mode": "forward-then-backward", + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + } + }, + "monitor_visualization_tint": { + "r": 78, + "g": 173, + "b": 255 + }, + "resource_searching_radius": 0.99, + "vector_to_place_result": [ + -0.5, + -1.3 + ], + "fast_replaceable_group": "mining-drill", + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + -0.25, + 0.09375 + ], + "green": [ + -0.375, + 0.296875 + ] + }, + "shadow": { + "red": [ + 0.625, + 0.65625 + ], + "green": [ + 0.328125, + 0.71875 + ] + } + }, + { + "wire": { + "red": [ + -0.15625, + 0.015625 + ], + "green": [ + -0.28125, + 0.21875 + ] + }, + "shadow": { + "red": [ + 0.796875, + 0.59375 + ], + "green": [ + 0.5, + 0.65625 + ] + } + }, + { + "wire": { + "red": [ + -0.171875, + -0.046875 + ], + "green": [ + -0.296875, + 0.15625 + ] + }, + "shadow": { + "red": [ + 0.703125, + 0.46875 + ], + "green": [ + 0.40625, + 0.53125 + ] + } + }, + { + "wire": { + "red": [ + -0.109375, + 0.078125 + ], + "green": [ + -0.234375, + 0.28125 + ] + }, + "shadow": { + "red": [ + 0.875, + 0.5625 + ], + "green": [ + 0.578125, + 0.625 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 52, + "y": 100, + "shift": [ + -0.421875, + -0.0625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 92, + "shift": [ + 0.21875, + 0.296875 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 62, + "y": 116, + "shift": [ + -0.421875, + -0.09375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 70, + "y": 112, + "shift": [ + -0.265625, + 0.03125 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 60, + "y": 120, + "shift": [ + -0.421875, + -0.09375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 46, + "y": 88, + "shift": [ + -0.421875, + -0.09375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 92, + "shift": [ + -0.421875, + -0.09375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 92, + "shift": [ + -0.421875, + -0.09375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.59375, + 0.125 + ], + "red_green_led_light_offset": [ + -0.546875, + 0 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 52, + "y": 100, + "shift": [ + -0.328125, + -0.140625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 92, + "shift": [ + 0.390625, + 0.234375 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 62, + "y": 116, + "shift": [ + -0.328125, + -0.171875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 70, + "y": 112, + "shift": [ + -0.171875, + -0.046875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 60, + "y": 120, + "shift": [ + -0.328125, + -0.171875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 46, + "y": 88, + "shift": [ + -0.328125, + -0.171875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 92, + "shift": [ + -0.328125, + -0.171875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 92, + "shift": [ + -0.328125, + -0.171875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.5, + 0.046875 + ], + "red_green_led_light_offset": [ + -0.453125, + -0.078125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 52, + "y": 100, + "shift": [ + -0.34375, + -0.203125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 92, + "shift": [ + 0.296875, + 0.109375 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 62, + "y": 116, + "shift": [ + -0.34375, + -0.234375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 70, + "y": 112, + "shift": [ + -0.1875, + -0.109375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 60, + "y": 120, + "shift": [ + -0.34375, + -0.234375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 46, + "y": 88, + "shift": [ + -0.34375, + -0.234375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 92, + "shift": [ + -0.34375, + -0.234375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 92, + "shift": [ + -0.34375, + -0.234375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.515625, + -0.015625 + ], + "red_green_led_light_offset": [ + -0.46875, + -0.140625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 52, + "y": 100, + "shift": [ + -0.28125, + -0.078125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 92, + "shift": [ + 0.46875, + 0.203125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 62, + "y": 116, + "shift": [ + -0.28125, + -0.109375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 70, + "y": 112, + "shift": [ + -0.125, + 0.015625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 60, + "y": 120, + "shift": [ + -0.28125, + -0.109375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 46, + "y": 88, + "shift": [ + -0.28125, + -0.109375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 92, + "shift": [ + -0.28125, + -0.109375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 92, + "shift": [ + -0.28125, + -0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.453125, + 0.109375 + ], + "red_green_led_light_offset": [ + -0.40625, + -0.015625 + ] + } + ], + "circuit_wire_max_distance": 9, + "size": { + "width": 2, + "height": 2 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "pumpjack": { + "type": "mining-drill", + "name": "pumpjack", + "icon": "entity:icons/pumpjack", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "pumpjack" + }, + "resource_categories": [ + "basic-fluid" + ], + "max_health": 200, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "collision_box": [ + [ + -1.2, + -1.2 + ], + [ + 1.2, + 1.2 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "drawing_box": [ + [ + -1.6, + -2.5 + ], + [ + 1.5, + 1.6 + ] + ], + "energy_source": { + "type": "electric", + "emissions": 0.09999999999999999, + "usage_priority": "secondary-input" + }, + "output_fluid_box": { + "base_area": 1, + "base_level": 1, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "pipe_connections": [ + { + "positions": [ + [ + 1, + -2 + ], + [ + 2, + -1 + ], + [ + -1, + 2 + ], + [ + -2, + 1 + ] + ] + } + ] + }, + "energy_usage": "90kW", + "mining_speed": 1, + "mining_power": 2, + "resource_searching_radius": 0.49, + "vector_to_place_result": [ + 0, + 0 + ], + "module_specification": { + "module_slots": 2 + }, + "radius_visualisation_picture": { + "filename": "entity:pumpjack/pumpjack-radius-visualization", + "width": 12, + "height": 12 + }, + "monitor_visualization_tint": { + "r": 78, + "g": 173, + "b": 255 + }, + "base_render_layer": "lower-object-above-shadow", + "base_picture": { + "sheets": [ + { + "filename": "entity:pumpjack/pumpjack-base", + "priority": "extra-high", + "width": 131, + "height": 137, + "shift": [ + -0.078125, + -0.140625 + ], + "hr_version": { + "filename": "entity:pumpjack/hr-pumpjack-base", + "priority": "extra-high", + "width": 261, + "height": 273, + "shift": [ + -0.0703125, + -0.1484375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:pumpjack/pumpjack-base-shadow", + "priority": "extra-high", + "width": 110, + "height": 111, + "draw_as_shadow": true, + "shift": [ + 0.1875, + 0.015625 + ], + "hr_version": { + "filename": "entity:pumpjack/hr-pumpjack-base-shadow", + "width": 220, + "height": 220, + "scale": 0.5, + "draw_as_shadow": true, + "shift": [ + 0.1875, + 0.015625 + ] + } + } + ] + }, + "animations": { + "0": { + "layers": [ + { + "priority": "high", + "filename": "entity:pumpjack/pumpjack-horsehead", + "line_length": 8, + "width": 104, + "height": 102, + "frame_count": 40, + "shift": [ + -0.125, + -0.75 + ], + "animation_speed": 0.5, + "hr_version": { + "priority": "high", + "filename": "entity:pumpjack/hr-pumpjack-horsehead", + "animation_speed": 0.5, + "scale": 0.5, + "line_length": 8, + "width": 206, + "height": 202, + "frame_count": 40, + "shift": [ + -0.125, + -0.75 + ] + } + }, + { + "priority": "high", + "filename": "entity:pumpjack/pumpjack-horsehead-shadow", + "animation_speed": 0.5, + "draw_as_shadow": true, + "line_length": 8, + "width": 155, + "height": 41, + "frame_count": 40, + "shift": [ + 0.546875, + 0.453125 + ], + "hr_version": { + "priority": "high", + "filename": "entity:pumpjack/hr-pumpjack-horsehead-shadow", + "animation_speed": 0.5, + "draw_as_shadow": true, + "line_length": 8, + "width": 309, + "height": 82, + "frame_count": 40, + "scale": 0.5, + "shift": [ + 0.5546875, + 0.453125 + ] + } + } + ] + } + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/pumpjack" + }, + "apparent_volume": 1.5 + }, + "fast_replaceable_group": "pumpjack", + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.453125, + -0.609375 + ] + }, + "shadow": { + "red": [ + 0.75, + -0.5625 + ], + "green": [ + 0.53125, + -0.515625 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.453125, + -0.609375 + ] + }, + "shadow": { + "red": [ + 0.75, + -0.5625 + ], + "green": [ + 0.53125, + -0.515625 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.453125, + -0.609375 + ] + }, + "shadow": { + "red": [ + 0.75, + -0.5625 + ], + "green": [ + 0.53125, + -0.515625 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + -0.84375 + ], + "green": [ + 0.453125, + -0.609375 + ] + }, + "shadow": { + "red": [ + 0.75, + -0.5625 + ], + "green": [ + 0.53125, + -0.515625 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + -0.859375 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.171875, + -0.8125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + -0.765625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + -0.59375 + ], + "red_green_led_light_offset": [ + 0.109375, + -0.703125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + -0.859375 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.171875, + -0.8125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + -0.765625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + -0.59375 + ], + "red_green_led_light_offset": [ + 0.109375, + -0.703125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + -0.859375 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.171875, + -0.8125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + -0.765625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + -0.59375 + ], + "red_green_led_light_offset": [ + 0.109375, + -0.703125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + -0.859375 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.171875, + -0.8125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + -0.765625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + -0.890625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + -0.59375 + ], + "red_green_led_light_offset": [ + 0.109375, + -0.703125 + ] + } + ], + "circuit_wire_max_distance": 9, + "size": { + "width": 3, + "height": 3 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "gun-turret": { + "type": "ammo-turret", + "name": "gun-turret", + "icon": "entity:icons/gun-turret", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "mining_time": 0.5, + "result": "gun-turret" + }, + "max_health": 400, + "corpse": "medium-remnants", + "collision_box": [ + [ + -0.7, + -0.7 + ], + [ + 0.7, + 0.7 + ] + ], + "selection_box": [ + [ + -1, + -1 + ], + [ + 1, + 1 + ] + ], + "rotation_speed": 0.015, + "preparing_speed": 0.08, + "folding_speed": 0.08, + "dying_explosion": "medium-explosion", + "inventory_size": 1, + "automated_ammo_count": 10, + "attacking_speed": 0.5, + "alert_when_attacking": true, + "open_sound": { + "filename": "entity:sound/machine-open", + "volume": 0.85 + }, + "close_sound": { + "filename": "entity:sound/machine-close", + "volume": 0.75 + }, + "folded_animation": { + "layers": [ + { + "filename": "entity:gun-turret/gun-turret-gun-extension", + "priority": "medium", + "width": 65, + "height": 63, + "direction_count": 4, + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "shift": [ + 0.015625, + -0.859375 + ], + "axially_symmetrical": false + }, + { + "filename": "entity:gun-turret/gun-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "width": 24, + "height": 31, + "direction_count": 4, + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "shift": [ + 0, + -0.890625 + ], + "axially_symmetrical": false, + "apply_runtime_tint": true + }, + { + "filename": "entity:gun-turret/gun-turret-gun-extension-shadow", + "width": 89, + "height": 49, + "direction_count": 4, + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "shift": [ + 1.20313, + 0.015625 + ], + "axially_symmetrical": false, + "draw_as_shadow": true + } + ] + }, + "preparing_animation": { + "layers": [ + { + "filename": "entity:gun-turret/gun-turret-gun-extension", + "priority": "medium", + "width": 65, + "height": 63, + "direction_count": 4, + "frame_count": 5, + "line_length": 0, + "run_mode": "forward", + "shift": [ + 0.015625, + -0.859375 + ], + "axially_symmetrical": false + }, + { + "filename": "entity:gun-turret/gun-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "width": 24, + "height": 31, + "direction_count": 4, + "frame_count": 5, + "line_length": 0, + "run_mode": "forward", + "shift": [ + 0, + -0.890625 + ], + "axially_symmetrical": false, + "apply_runtime_tint": true + }, + { + "filename": "entity:gun-turret/gun-turret-gun-extension-shadow", + "width": 89, + "height": 49, + "direction_count": 4, + "frame_count": 5, + "line_length": 0, + "run_mode": "forward", + "shift": [ + 1.20313, + 0.015625 + ], + "axially_symmetrical": false, + "draw_as_shadow": true + } + ] + }, + "prepared_animation": { + "layers": [ + { + "width": 66, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -0.875 + ], + "stripes": [ + { + "filename": "entity:gun-turret/gun-turret-gun-1", + "width_in_frames": 1, + "height_in_frames": 32 + }, + { + "filename": "entity:gun-turret/gun-turret-gun-2", + "width_in_frames": 1, + "height_in_frames": 32 + } + ] + }, + { + "filename": "entity:gun-turret/gun-turret-gun-mask", + "flags": [ + "mask" + ], + "line_length": 1, + "width": 29, + "height": 27, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.015625, + -1.01563 + ], + "apply_runtime_tint": true + }, + { + "width": 91, + "height": 50, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 1.23438, + 0 + ], + "draw_as_shadow": true, + "stripes": [ + { + "filename": "entity:gun-turret/gun-turret-gun-shadow-1", + "width_in_frames": 1, + "height_in_frames": 32 + }, + { + "filename": "entity:gun-turret/gun-turret-gun-shadow-2", + "width_in_frames": 1, + "height_in_frames": 32 + } + ] + } + ] + }, + "attacking_animation": { + "layers": [ + { + "width": 66, + "height": 64, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -0.875 + ], + "stripes": [ + { + "filename": "entity:gun-turret/gun-turret-gun-1", + "width_in_frames": 2, + "height_in_frames": 32 + }, + { + "filename": "entity:gun-turret/gun-turret-gun-2", + "width_in_frames": 2, + "height_in_frames": 32 + } + ] + }, + { + "filename": "entity:gun-turret/gun-turret-gun-mask", + "flags": [ + "mask" + ], + "line_length": 2, + "width": 29, + "height": 27, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.015625, + -1.01563 + ], + "apply_runtime_tint": true + }, + { + "width": 91, + "height": 50, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 1.23438, + 0 + ], + "draw_as_shadow": true, + "stripes": [ + { + "filename": "entity:gun-turret/gun-turret-gun-shadow-1", + "width_in_frames": 2, + "height_in_frames": 32 + }, + { + "filename": "entity:gun-turret/gun-turret-gun-shadow-2", + "width_in_frames": 2, + "height_in_frames": 32 + } + ] + } + ] + }, + "folding_animation": { + "layers": [ + { + "filename": "entity:gun-turret/gun-turret-gun-extension", + "priority": "medium", + "width": 65, + "height": 63, + "direction_count": 4, + "frame_count": 5, + "line_length": 0, + "run_mode": "backward", + "shift": [ + 0.015625, + -0.859375 + ], + "axially_symmetrical": false + }, + { + "filename": "entity:gun-turret/gun-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "width": 24, + "height": 31, + "direction_count": 4, + "frame_count": 5, + "line_length": 0, + "run_mode": "backward", + "shift": [ + 0, + -0.890625 + ], + "axially_symmetrical": false, + "apply_runtime_tint": true + }, + { + "filename": "entity:gun-turret/gun-turret-gun-extension-shadow", + "width": 89, + "height": 49, + "direction_count": 4, + "frame_count": 5, + "line_length": 0, + "run_mode": "backward", + "shift": [ + 1.20313, + 0.015625 + ], + "axially_symmetrical": false, + "draw_as_shadow": true + } + ] + }, + "base_picture": { + "layers": [ + { + "filename": "entity:gun-turret/gun-turret-base", + "priority": "high", + "width": 90, + "height": 75, + "axially_symmetrical": false, + "direction_count": 1, + "frame_count": 1, + "shift": [ + 0, + -0.046875 + ] + }, + { + "filename": "entity:gun-turret/gun-turret-base-mask", + "flags": [ + "mask" + ], + "line_length": 1, + "width": 52, + "height": 47, + "axially_symmetrical": false, + "direction_count": 1, + "frame_count": 1, + "shift": [ + 0, + -0.234375 + ], + "apply_runtime_tint": true + } + ] + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "attack_parameters": { + "type": "projectile", + "ammo_category": "bullet", + "cooldown": 6, + "projectile_creation_distance": 1.39375, + "projectile_center": [ + 0, + -0.0875 + ], + "shell_particle": { + "name": "shell-particle", + "direction_deviation": 0.1, + "speed": 0.1, + "speed_deviation": 0.03, + "center": [ + -0.0625, + 0 + ], + "creation_distance": -1.925, + "starting_frame_speed": 0.2, + "starting_frame_speed_deviation": 0.1 + }, + "range": 18, + "sound": [ + { + "filename": "entity:fight/heavy-gunshot-1", + "volume": 0.45 + }, + { + "filename": "entity:fight/heavy-gunshot-2", + "volume": 0.45 + }, + { + "filename": "entity:fight/heavy-gunshot-3", + "volume": 0.45 + }, + { + "filename": "entity:fight/heavy-gunshot-4", + "volume": 0.45 + } + ] + }, + "call_for_help_radius": 40, + "size": { + "width": 2, + "height": 2 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "underground-belt": { + "type": "underground-belt", + "name": "underground-belt", + "icon": "entity:icons/underground-belt", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "underground-belt" + }, + "max_health": 150, + "corpse": "small-remnants", + "max_distance": 5, + "underground_sprite": { + "filename": "entity:arrows/underground-lines", + "priority": "high", + "width": 64, + "height": 64, + "x": 64, + "scale": 0.5 + }, + "underground_remove_belts_sprite": { + "filename": "entity:arrows/underground-lines-remove", + "priority": "high", + "width": 64, + "height": 64, + "x": 64, + "scale": 0.5 + }, + "resistances": [ + { + "type": "fire", + "percent": 60 + }, + { + "type": "impact", + "percent": 30 + } + ], + "collision_box": [ + [ + -0.4, + -0.4 + ], + [ + 0.4, + 0.4 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "animation_speed_coefficient": 32, + "belt_horizontal": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "scale": 0.5, + "frame_count": 16 + } + }, + "belt_vertical": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 40, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "scale": 0.5, + "y": 80 + } + }, + "ending_top": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 80, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 160, + "scale": 0.5 + } + }, + "ending_bottom": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 120, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 240, + "scale": 0.5 + } + }, + "ending_side": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 160, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 320, + "scale": 0.5 + } + }, + "starting_top": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 200, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 400, + "scale": 0.5 + } + }, + "starting_bottom": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 240, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 480, + "scale": 0.5 + } + }, + "starting_side": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 280, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 560, + "scale": 0.5 + } + }, + "fast_replaceable_group": "underground-belt", + "speed": 0.03125, + "structure": { + "direction_in": { + "sheet": { + "filename": "entity:underground-belt/underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.25, + 0 + ], + "width": 57, + "height": 43, + "y": 43, + "hr_version": { + "filename": "entity:underground-belt/hr-underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.15625, + 0.0703125 + ], + "width": 106, + "height": 85, + "y": 85, + "scale": 0.5 + } + } + }, + "direction_out": { + "sheet": { + "filename": "entity:underground-belt/underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.25, + 0 + ], + "width": 57, + "height": 43, + "hr_version": { + "filename": "entity:underground-belt/hr-underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.15625, + 0.0703125 + ], + "width": 106, + "height": 85, + "scale": 0.5 + } + } + } + }, + "ending_patch": { + "sheet": { + "filename": "entity:transport-belt/start-end-integration-patches", + "width": 40, + "height": 40, + "priority": "extra-high", + "hr_version": { + "filename": "entity:transport-belt/hr-start-end-integration-patches", + "width": 80, + "height": 80, + "priority": "extra-high", + "scale": 0.5 + } + } + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "fast-underground-belt": { + "type": "underground-belt", + "name": "fast-underground-belt", + "icon": "entity:icons/fast-underground-belt", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "fast-underground-belt" + }, + "max_health": 160, + "corpse": "small-remnants", + "max_distance": 7, + "underground_sprite": { + "filename": "entity:arrows/underground-lines", + "priority": "high", + "width": 64, + "height": 64, + "x": 64, + "scale": 0.5 + }, + "underground_remove_belts_sprite": { + "filename": "entity:arrows/underground-lines-remove", + "priority": "high", + "width": 64, + "height": 64, + "x": 64, + "scale": 0.5 + }, + "resistances": [ + { + "type": "fire", + "percent": 60 + }, + { + "type": "impact", + "percent": 30 + } + ], + "collision_box": [ + [ + -0.4, + -0.4 + ], + [ + 0.4, + 0.4 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "animation_speed_coefficient": 32, + "belt_horizontal": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "scale": 0.5 + } + }, + "belt_vertical": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 40, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 160, + "scale": 0.5 + } + }, + "ending_top": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 80, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 320, + "scale": 0.5 + } + }, + "ending_bottom": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 120, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 480, + "scale": 0.5 + } + }, + "ending_side": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 160, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 640, + "scale": 0.5 + } + }, + "starting_top": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 200, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 800, + "scale": 0.5 + } + }, + "starting_bottom": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 240, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 960, + "scale": 0.5 + } + }, + "starting_side": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 280, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 1120, + "scale": 0.5 + } + }, + "fast_replaceable_group": "underground-belt", + "speed": 0.0625, + "structure": { + "direction_in": { + "sheet": { + "filename": "entity:fast-underground-belt/fast-underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.26, + 0 + ], + "width": 57, + "height": 43, + "y": 43, + "hr_version": { + "filename": "entity:fast-underground-belt/hr-fast-underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.15625, + 0.0703125 + ], + "width": 106, + "height": 85, + "y": 85, + "scale": 0.5 + } + } + }, + "direction_out": { + "sheet": { + "filename": "entity:fast-underground-belt/fast-underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.26, + 0 + ], + "width": 57, + "height": 43, + "hr_version": { + "filename": "entity:fast-underground-belt/hr-fast-underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.15625, + 0.0703125 + ], + "width": 106, + "height": 85, + "scale": 0.5 + } + } + } + }, + "ending_patch": { + "sheet": { + "filename": "entity:transport-belt/start-end-integration-patches", + "width": 40, + "height": 40, + "priority": "extra-high", + "hr_version": { + "filename": "entity:transport-belt/hr-start-end-integration-patches", + "width": 80, + "height": 80, + "priority": "extra-high", + "scale": 0.5 + } + } + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "express-underground-belt": { + "type": "underground-belt", + "name": "express-underground-belt", + "icon": "entity:icons/express-underground-belt", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "express-underground-belt" + }, + "max_health": 170, + "corpse": "small-remnants", + "max_distance": 9, + "underground_sprite": { + "filename": "entity:arrows/underground-lines", + "priority": "high", + "width": 64, + "height": 64, + "x": 64, + "scale": 0.5 + }, + "underground_remove_belts_sprite": { + "filename": "entity:arrows/underground-lines-remove", + "priority": "high", + "width": 64, + "height": 64, + "x": 64, + "scale": 0.5 + }, + "resistances": [ + { + "type": "fire", + "percent": 60 + }, + { + "type": "impact", + "percent": 30 + } + ], + "collision_box": [ + [ + -0.4, + -0.4 + ], + [ + 0.4, + 0.4 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "animation_speed_coefficient": 32, + "belt_horizontal": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "scale": 0.5 + } + }, + "belt_vertical": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 40, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 160, + "scale": 0.5 + } + }, + "ending_top": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 80, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 320, + "scale": 0.5 + } + }, + "ending_bottom": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 120, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 480, + "scale": 0.5 + } + }, + "ending_side": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 160, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 640, + "scale": 0.5 + } + }, + "starting_top": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 200, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 800, + "scale": 0.5 + } + }, + "starting_bottom": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 240, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 960, + "scale": 0.5 + } + }, + "starting_side": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 280, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 1120, + "scale": 0.5 + } + }, + "fast_replaceable_group": "underground-belt", + "speed": 0.09375, + "structure": { + "direction_in": { + "sheet": { + "filename": "entity:express-underground-belt/express-underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.26, + 0 + ], + "width": 57, + "height": 43, + "y": 43, + "hr_version": { + "filename": "entity:express-underground-belt/hr-express-underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.15625, + 0.0703125 + ], + "width": 106, + "height": 85, + "y": 85, + "scale": 0.5 + } + } + }, + "direction_out": { + "sheet": { + "filename": "entity:express-underground-belt/express-underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.26, + 0 + ], + "width": 57, + "height": 43, + "hr_version": { + "filename": "entity:express-underground-belt/hr-express-underground-belt-structure", + "priority": "extra-high", + "shift": [ + 0.15625, + 0.0703125 + ], + "width": 106, + "height": 85, + "scale": 0.5 + } + } + } + }, + "ending_patch": { + "sheet": { + "filename": "entity:transport-belt/start-end-integration-patches", + "width": 40, + "height": 40, + "priority": "extra-high", + "hr_version": { + "filename": "entity:transport-belt/hr-start-end-integration-patches", + "width": 80, + "height": 80, + "priority": "extra-high", + "scale": 0.5 + } + } + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "splitter": { + "type": "splitter", + "name": "splitter", + "icon": "entity:icons/splitter", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "splitter" + }, + "max_health": 170, + "corpse": "medium-remnants", + "resistances": [ + { + "type": "fire", + "percent": 60 + } + ], + "collision_box": [ + [ + -0.9, + -0.4 + ], + [ + 0.9, + 0.4 + ] + ], + "selection_box": [ + [ + -0.9, + -0.5 + ], + [ + 0.9, + 0.5 + ] + ], + "animation_speed_coefficient": 32, + "structure_animation_speed_coefficient": 0.7, + "structure_animation_movement_cooldown": 10, + "belt_horizontal": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "scale": 0.5, + "frame_count": 16 + } + }, + "belt_vertical": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 40, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "scale": 0.5, + "y": 80 + } + }, + "ending_top": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 80, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 160, + "scale": 0.5 + } + }, + "ending_bottom": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 120, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 240, + "scale": 0.5 + } + }, + "ending_side": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 160, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 320, + "scale": 0.5 + } + }, + "starting_top": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 200, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 400, + "scale": 0.5 + } + }, + "starting_bottom": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 240, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 480, + "scale": 0.5 + } + }, + "starting_side": { + "filename": "entity:transport-belt/transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 16, + "y": 280, + "hr_version": { + "filename": "entity:transport-belt/hr-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 16, + "y": 560, + "scale": 0.5 + } + }, + "ending_patch": { + "sheet": { + "filename": "entity:transport-belt/start-end-integration-patches", + "width": 40, + "height": 40, + "priority": "extra-high", + "hr_version": { + "filename": "entity:transport-belt/hr-start-end-integration-patches", + "width": 80, + "height": 80, + "priority": "extra-high", + "scale": 0.5 + } + } + }, + "fast_replaceable_group": "splitter", + "speed": 0.03125, + "structure": { + "0": { + "filename": "entity:splitter/splitter-north", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 83, + "height": 36, + "shift": [ + 0.265625, + 0 + ], + "hr_version": { + "filename": "entity:splitter/hr-splitter-north", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 164, + "height": 70, + "shift": [ + 0.25, + 0.046875 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:splitter/splitter-east", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 51, + "height": 80, + "shift": [ + 0.109375, + -0.03125 + ], + "hr_version": { + "filename": "entity:splitter/hr-splitter-east", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 93, + "height": 157, + "shift": [ + 0.148438, + -0.179688 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:splitter/splitter-south", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 85, + "height": 35, + "shift": [ + 0.140625, + -0.015625 + ], + "hr_version": { + "filename": "entity:splitter/hr-splitter-south", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 168, + "height": 67, + "shift": [ + 0.140625, + 0.0234375 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:splitter/splitter-west", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 51, + "height": 78, + "shift": [ + 0.296875, + -0.03125 + ], + "hr_version": { + "filename": "entity:splitter/hr-splitter-west", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 94, + "height": 154, + "shift": [ + 0.203125, + -0.109375 + ], + "scale": 0.5 + } + } + }, + "size": { + "width": 2, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "fast-splitter": { + "type": "splitter", + "name": "fast-splitter", + "icon": "entity:icons/fast-splitter", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "fast-splitter" + }, + "max_health": 180, + "corpse": "medium-remnants", + "resistances": [ + { + "type": "fire", + "percent": 60 + } + ], + "collision_box": [ + [ + -0.9, + -0.4 + ], + [ + 0.9, + 0.4 + ] + ], + "selection_box": [ + [ + -0.9, + -0.5 + ], + [ + 0.9, + 0.5 + ] + ], + "animation_speed_coefficient": 32, + "structure_animation_speed_coefficient": 1.2, + "structure_animation_movement_cooldown": 10, + "belt_horizontal": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "scale": 0.5 + } + }, + "belt_vertical": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 40, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 160, + "scale": 0.5 + } + }, + "ending_top": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 80, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 320, + "scale": 0.5 + } + }, + "ending_bottom": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 120, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 480, + "scale": 0.5 + } + }, + "ending_side": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 160, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 640, + "scale": 0.5 + } + }, + "starting_top": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 200, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 800, + "scale": 0.5 + } + }, + "starting_bottom": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 240, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 960, + "scale": 0.5 + } + }, + "starting_side": { + "filename": "entity:fast-transport-belt/fast-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 280, + "hr_version": { + "filename": "entity:fast-transport-belt/hr-fast-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 1120, + "scale": 0.5 + } + }, + "fast_replaceable_group": "splitter", + "speed": 0.0625, + "structure": { + "0": { + "filename": "entity:fast-splitter/fast-splitter-north", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 83, + "height": 36, + "shift": [ + 0.265625, + 0 + ], + "hr_version": { + "filename": "entity:fast-splitter/hr-fast-splitter-north", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 164, + "height": 70, + "shift": [ + 0.25, + 0.046875 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:fast-splitter/fast-splitter-east", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 51, + "height": 80, + "shift": [ + 0.109375, + -0.03125 + ], + "hr_version": { + "filename": "entity:fast-splitter/hr-fast-splitter-east", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 93, + "height": 157, + "shift": [ + 0.148438, + -0.179688 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:fast-splitter/fast-splitter-south", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 85, + "height": 35, + "shift": [ + 0.140625, + -0.015625 + ], + "hr_version": { + "filename": "entity:fast-splitter/hr-fast-splitter-south", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 168, + "height": 67, + "shift": [ + 0.140625, + 0.0234375 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:fast-splitter/fast-splitter-west", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 51, + "height": 78, + "shift": [ + 0.296875, + -0.03125 + ], + "hr_version": { + "filename": "entity:fast-splitter/hr-fast-splitter-west", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 94, + "height": 154, + "shift": [ + 0.203125, + -0.109375 + ], + "scale": 0.5 + } + } + }, + "ending_patch": { + "sheet": { + "filename": "entity:transport-belt/start-end-integration-patches", + "width": 40, + "height": 40, + "priority": "extra-high", + "hr_version": { + "filename": "entity:transport-belt/hr-start-end-integration-patches", + "width": 80, + "height": 80, + "priority": "extra-high", + "scale": 0.5 + } + } + }, + "size": { + "width": 2, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "express-splitter": { + "type": "splitter", + "name": "express-splitter", + "icon": "entity:icons/express-splitter", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "express-splitter" + }, + "max_health": 190, + "corpse": "medium-remnants", + "resistances": [ + { + "type": "fire", + "percent": 60 + } + ], + "collision_box": [ + [ + -0.9, + -0.4 + ], + [ + 0.9, + 0.4 + ] + ], + "selection_box": [ + [ + -0.9, + -0.5 + ], + [ + 0.9, + 0.5 + ] + ], + "animation_speed_coefficient": 32, + "structure_animation_speed_coefficient": 1.2, + "structure_animation_movement_cooldown": 10, + "belt_horizontal": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "scale": 0.5 + } + }, + "belt_vertical": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 40, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 160, + "scale": 0.5 + } + }, + "ending_top": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 80, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 320, + "scale": 0.5 + } + }, + "ending_bottom": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 120, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 480, + "scale": 0.5 + } + }, + "ending_side": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 160, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 640, + "scale": 0.5 + } + }, + "starting_top": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 200, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 800, + "scale": 0.5 + } + }, + "starting_bottom": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 240, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 960, + "scale": 0.5 + } + }, + "starting_side": { + "filename": "entity:express-transport-belt/express-transport-belt", + "priority": "extra-high", + "width": 40, + "height": 40, + "frame_count": 32, + "y": 280, + "hr_version": { + "filename": "entity:express-transport-belt/hr-express-transport-belt", + "priority": "extra-high", + "width": 80, + "height": 80, + "frame_count": 32, + "line_length": 16, + "y": 1120, + "scale": 0.5 + } + }, + "ending_patch": { + "sheet": { + "filename": "entity:transport-belt/start-end-integration-patches", + "width": 40, + "height": 40, + "priority": "extra-high", + "hr_version": { + "filename": "entity:transport-belt/hr-start-end-integration-patches", + "width": 80, + "height": 80, + "priority": "extra-high", + "scale": 0.5 + } + } + }, + "fast_replaceable_group": "splitter", + "speed": 0.09375, + "structure": { + "0": { + "filename": "entity:express-splitter/express-splitter-north", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 83, + "height": 36, + "shift": [ + 0.21875, + 0 + ], + "hr_version": { + "filename": "entity:express-splitter/hr-express-splitter-north", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 164, + "height": 70, + "shift": [ + 0.265625, + 0 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:express-splitter/express-splitter-east", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 51, + "height": 80, + "shift": [ + 0.109375, + -0.03125 + ], + "hr_version": { + "filename": "entity:express-splitter/hr-express-splitter-east", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 93, + "height": 157, + "shift": [ + 0.148438, + -0.179688 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:express-splitter/express-splitter-south", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 85, + "height": 35, + "shift": [ + 0.140625, + -0.015625 + ], + "hr_version": { + "filename": "entity:express-splitter/hr-express-splitter-south", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 168, + "height": 67, + "shift": [ + 0.140625, + 0.0234375 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:express-splitter/express-splitter-west", + "frame_count": 32, + "line_length": 16, + "priority": "extra-high", + "width": 51, + "height": 78, + "shift": [ + 0.296875, + -0.03125 + ], + "hr_version": { + "filename": "entity:express-splitter/hr-express-splitter-west", + "frame_count": 32, + "line_length": 8, + "priority": "extra-high", + "width": 94, + "height": 154, + "shift": [ + 0.203125, + -0.109375 + ], + "scale": 0.5 + } + } + }, + "size": { + "width": 2, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "solar-panel": { + "type": "solar-panel", + "name": "solar-panel", + "icon": "entity:icons/solar-panel", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "solar-panel" + }, + "max_health": 200, + "corpse": "big-remnants", + "collision_box": [ + [ + -1.4, + -1.4 + ], + [ + 1.4, + 1.4 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "energy_source": { + "type": "electric", + "usage_priority": "solar" + }, + "picture": { + "layers": [ + { + "filename": "entity:solar-panel/solar-panel", + "priority": "high", + "width": 116, + "height": 112, + "shift": [ + -0.09375, + 0.09375 + ], + "hr_version": { + "filename": "entity:solar-panel/hr-solar-panel", + "priority": "high", + "width": 230, + "height": 224, + "shift": [ + -0.09375, + 0.109375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:solar-panel/solar-panel-shadow", + "priority": "high", + "width": 112, + "height": 90, + "shift": [ + 0.3125, + 0.1875 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:solar-panel/hr-solar-panel-shadow", + "priority": "high", + "width": 220, + "height": 180, + "shift": [ + 0.296875, + 0.1875 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "overlay": { + "layers": [ + { + "filename": "entity:solar-panel/solar-panel-shadow-overlay", + "priority": "high", + "width": 108, + "height": 90, + "shift": [ + 0.34375, + 0.1875 + ], + "hr_version": { + "filename": "entity:solar-panel/hr-solar-panel-shadow-overlay", + "priority": "high", + "width": 214, + "height": 180, + "shift": [ + 0.328125, + 0.1875 + ], + "scale": 0.5 + } + } + ] + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "production": "60kW", + "size": { + "width": 3, + "height": 3 + } + }, + "gate": { + "type": "gate", + "name": "gate", + "icon": "entity:icons/gate", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "fast_replaceable_group": "wall", + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "gate" + }, + "max_health": 350, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.29, + -0.29 + ], + [ + 0.29, + 0.29 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "opening_speed": 0.0666666, + "activation_distance": 3, + "timeout_to_close": 5, + "resistances": [ + { + "type": "physical", + "decrease": 3, + "percent": 20 + }, + { + "type": "impact", + "decrease": 45, + "percent": 60 + }, + { + "type": "explosion", + "decrease": 10, + "percent": 30 + }, + { + "type": "fire", + "percent": 100 + }, + { + "type": "laser", + "percent": 70 + } + ], + "vertical_animation": { + "layers": [ + { + "filename": "entity:gate/gate-vertical", + "line_length": 8, + "width": 21, + "height": 60, + "frame_count": 16, + "shift": [ + 0.015625, + -0.40625 + ] + }, + { + "filename": "entity:gate/gate-vertical-shadow", + "line_length": 8, + "width": 41, + "height": 50, + "frame_count": 16, + "shift": [ + 0.328125, + 0.3 + ], + "draw_as_shadow": true + } + ] + }, + "horizontal_animation": { + "layers": [ + { + "filename": "entity:gate/gate-horizontal", + "line_length": 8, + "width": 32, + "height": 36, + "frame_count": 16, + "shift": [ + 0, + -0.21875 + ] + }, + { + "filename": "entity:gate/gate-horizontal-shadow", + "line_length": 8, + "width": 62, + "height": 28, + "frame_count": 16, + "shift": [ + 0.4375, + 0.46875 + ], + "draw_as_shadow": true + } + ] + }, + "vertical_base": { + "layers": [ + { + "filename": "entity:gate/gate-base-vertical", + "width": 32, + "height": 32 + }, + { + "filename": "entity:gate/gate-base-vertical-mask", + "width": 32, + "height": 32, + "apply_runtime_tint": true + } + ] + }, + "horizontal_rail_animation_left": { + "layers": [ + { + "filename": "entity:gate/gate-rail-horizontal-left", + "line_length": 8, + "width": 32, + "height": 47, + "frame_count": 16, + "shift": [ + 0, + -0.015625 + ] + }, + { + "filename": "entity:gate/gate-rail-horizontal-shadow-left", + "line_length": 8, + "width": 73, + "height": 27, + "frame_count": 16, + "shift": [ + 0.078125, + 0.296875 + ], + "draw_as_shadow": true + } + ] + }, + "horizontal_rail_animation_right": { + "layers": [ + { + "filename": "entity:gate/gate-rail-horizontal-right", + "line_length": 8, + "width": 32, + "height": 43, + "frame_count": 16, + "shift": [ + 0, + -0.078125 + ] + }, + { + "filename": "entity:gate/gate-rail-horizontal-shadow-right", + "line_length": 8, + "width": 73, + "height": 28, + "frame_count": 16, + "shift": [ + 0.60938, + 0.4125 + ], + "draw_as_shadow": true + } + ] + }, + "vertical_rail_animation_left": { + "layers": [ + { + "filename": "entity:gate/gate-rail-vertical-left", + "line_length": 8, + "width": 22, + "height": 54, + "frame_count": 16, + "shift": [ + 0, + -0.46875 + ] + }, + { + "filename": "entity:gate/gate-rail-vertical-shadow-left", + "line_length": 8, + "width": 47, + "height": 48, + "frame_count": 16, + "shift": [ + 0.27, + 0.33875 + ], + "draw_as_shadow": true + } + ] + }, + "vertical_rail_animation_right": { + "layers": [ + { + "filename": "entity:gate/gate-rail-vertical-right", + "line_length": 8, + "width": 22, + "height": 55, + "frame_count": 16, + "shift": [ + 0, + -0.453125 + ] + }, + { + "filename": "entity:gate/gate-rail-vertical-shadow-right", + "line_length": 8, + "width": 47, + "height": 47, + "frame_count": 16, + "shift": [ + 0.27, + 0.303125 + ], + "draw_as_shadow": true + } + ] + }, + "vertical_rail_base": { + "filename": "entity:gate/gate-rail-base-vertical", + "line_length": 8, + "width": 64, + "height": 64, + "frame_count": 16, + "shift": [ + 0, + 0 + ] + }, + "horizontal_rail_base": { + "filename": "entity:gate/gate-rail-base-horizontal", + "line_length": 8, + "width": 64, + "height": 45, + "frame_count": 16, + "shift": [ + 0, + 0.109375 + ] + }, + "vertical_rail_base_mask": { + "filename": "entity:gate/gate-rail-base-mask-vertical", + "width": 63, + "height": 39, + "shift": [ + 0.015625, + -0.015625 + ], + "apply_runtime_tint": true + }, + "horizontal_rail_base_mask": { + "filename": "entity:gate/gate-rail-base-mask-horizontal", + "width": 53, + "height": 45, + "shift": [ + 0.015625, + 0.109375 + ], + "apply_runtime_tint": true + }, + "horizontal_base": { + "layers": [ + { + "filename": "entity:gate/gate-base-horizontal", + "width": 32, + "height": 23, + "shift": [ + 0, + 0.125 + ] + }, + { + "filename": "entity:gate/gate-base-horizontal-mask", + "width": 32, + "height": 23, + "apply_runtime_tint": true, + "shift": [ + 0, + 0.125 + ] + } + ] + }, + "wall_patch": { + "0": { + "layers": [ + { + "filename": "entity:gate/wall-patch-north", + "width": 22, + "height": 35, + "shift": [ + 0, + 0.38 + ] + }, + { + "filename": "entity:gate/wall-patch-north-shadow", + "width": 46, + "height": 31, + "shift": [ + 0.3, + 1.2 + ], + "draw_as_shadow": true + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:gate/wall-patch-east", + "width": 11, + "height": 40, + "shift": [ + -0.671875, + -0.109375 + ] + }, + { + "filename": "entity:gate/wall-patch-east-shadow", + "width": 38, + "height": 32, + "shift": [ + -0.1875, + 0.46875 + ], + "draw_as_shadow": true + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:gate/wall-patch-south", + "width": 22, + "height": 40, + "shift": [ + 0, + -1.125 + ] + }, + { + "filename": "entity:gate/wall-patch-south-shadow", + "width": 48, + "height": 25, + "shift": [ + 0.3, + 0.95 + ], + "draw_as_shadow": true + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:gate/wall-patch-west", + "width": 11, + "height": 40, + "shift": [ + 0.671875, + -0.109375 + ] + }, + { + "filename": "entity:gate/wall-patch-west-shadow", + "width": 46, + "height": 32, + "shift": [ + 1.1875, + 0.46875 + ], + "draw_as_shadow": true + } + ] + } + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "open_sound": { + "variations": { + "filename": "entity:sound/gate1", + "volume": 0.5 + }, + "aggregation": { + "max_count": 1, + "remove": true + } + }, + "close_sound": { + "variations": { + "filename": "entity:sound/gate1", + "volume": 0.5 + }, + "aggregation": { + "max_count": 1, + "remove": true + } + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2 + ] + }, + "straight-rail": { + "type": "straight-rail", + "name": "straight-rail", + "icon": "entity:icons/rail", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation", + "building-direction-8-way" + ], + "minable": { + "mining_time": 0.5, + "result": "rail" + }, + "max_health": 100, + "corpse": "straight-rail-remnants", + "resistances": [ + { + "type": "fire", + "percent": 100 + } + ], + "collision_box": [ + [ + -0.7, + -0.8 + ], + [ + 0.7, + 0.8 + ] + ], + "selection_box": [ + [ + -0.7, + -0.8 + ], + [ + 0.7, + 0.8 + ] + ], + "rail_category": "regular", + "pictures": { + "straight_rail_horizontal": { + "metals": { + "filename": "entity:straight-rail/straight-rail-horizontal-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-horizontal-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-horizontal-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-horizontal-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-horizontal-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-horizontal-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-horizontal-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-horizontal-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-horizontal-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-horizontal-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "straight_rail_vertical": { + "metals": { + "filename": "entity:straight-rail/straight-rail-vertical-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-vertical-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-vertical-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-vertical-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-vertical-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-vertical-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-vertical-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-vertical-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-vertical-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-vertical-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "straight_rail_diagonal_left_top": { + "metals": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "straight_rail_diagonal_right_top": { + "metals": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "straight_rail_diagonal_right_bottom": { + "metals": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "straight_rail_diagonal_left_bottom": { + "metals": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_vertical_left_top": { + "metals": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_vertical_right_top": { + "metals": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_vertical_right_bottom": { + "metals": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_vertical_left_bottom": { + "metals": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_horizontal_left_top": { + "metals": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_horizontal_right_top": { + "metals": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_horizontal_right_bottom": { + "metals": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_horizontal_left_bottom": { + "metals": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "rail_endings": { + "sheets": [ + { + "filename": "entity:rail-endings/rail-endings-background", + "priority": "high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 128, + "hr_version": { + "filename": "entity:rail-endings/hr-rail-endings-background", + "priority": "high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 256, + "scale": 0.5 + } + }, + { + "filename": "entity:rail-endings/rail-endings-metals", + "priority": "high", + "flags": [ + "icon" + ], + "width": 128, + "height": 128, + "hr_version": { + "filename": "entity:rail-endings/hr-rail-endings-metals", + "priority": "high", + "flags": [ + "icon" + ], + "width": 256, + "height": 256, + "scale": 0.5 + } + } + ] + } + }, + "size": { + "width": 2, + "height": 2 + }, + "possible_rotations": [ + 0, + 2 + ] + }, + "curved-rail": { + "type": "curved-rail", + "name": "curved-rail", + "icon": "entity:icons/curved-rail", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation", + "building-direction-8-way" + ], + "minable": { + "mining_time": 0.5, + "result": "rail", + "count": 4 + }, + "max_health": 200, + "corpse": "curved-rail-remnants", + "resistances": [ + { + "type": "fire", + "percent": 100 + } + ], + "collision_box": [ + [ + -0.75, + -0.55 + ], + [ + 0.75, + 1.6 + ] + ], + "secondary_collision_box": [ + [ + -0.65, + -2.43 + ], + [ + 0.65, + 2.43 + ] + ], + "selection_box": [ + [ + -1.7, + -0.8 + ], + [ + 1.7, + 0.8 + ] + ], + "rail_category": "regular", + "pictures": { + "straight_rail_horizontal": { + "metals": { + "filename": "entity:straight-rail/straight-rail-horizontal-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-horizontal-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-horizontal-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-horizontal-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-horizontal-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-horizontal-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-horizontal-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-horizontal-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-horizontal-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-horizontal-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 64, + "height": 128, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-horizontal-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 256, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "straight_rail_vertical": { + "metals": { + "filename": "entity:straight-rail/straight-rail-vertical-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-vertical-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-vertical-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-vertical-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-vertical-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-vertical-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-vertical-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-vertical-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-vertical-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-vertical-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 64, + "shift": [ + 0, + 0 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-vertical-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 128, + "shift": [ + 0, + 0 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "straight_rail_diagonal_left_top": { + "metals": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "straight_rail_diagonal_right_top": { + "metals": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "straight_rail_diagonal_right_bottom": { + "metals": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "straight_rail_diagonal_left_bottom": { + "metals": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "stone_path_background": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 3, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 3 + } + }, + "segment_visualisation_middle": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:straight-rail/straight-rail-diagonal-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 96, + "height": 96, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_vertical_left_top": { + "metals": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-vertical-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_vertical_right_top": { + "metals": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-vertical-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_vertical_right_bottom": { + "metals": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-vertical-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_vertical_left_bottom": { + "metals": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-vertical-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 192, + "height": 288, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-vertical-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 384, + "height": 576, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_horizontal_left_top": { + "metals": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_horizontal_right_top": { + "metals": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + 0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-top-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + 0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_horizontal_right_bottom": { + "metals": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + -0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + -0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "curved_rail_horizontal_left_bottom": { + "metals": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-metals", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "backplates": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-backplates", + "priority": "extra-high", + "flags": [ + "icon" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "ties": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-ties", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-stone-path", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "stone_path_background": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-stone-path-background", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_middle": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-segment-visualisation-middle", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-segment-visualisation-ending-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_ending_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-segment-visualisation-ending-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_front": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-segment-visualisation-continuing-1", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + }, + "segment_visualisation_continuing_back": { + "filename": "entity:curved-rail/curved-rail-horizontal-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 288, + "height": 192, + "shift": [ + 0.5, + -0.5 + ], + "variation_count": 1, + "hr_version": { + "filename": "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-segment-visualisation-continuing-2", + "priority": "extra-high", + "flags": [ + "low-object" + ], + "width": 576, + "height": 384, + "shift": [ + 0.5, + -0.5 + ], + "scale": 0.5, + "variation_count": 1 + } + } + }, + "rail_endings": { + "sheets": [ + { + "filename": "entity:rail-endings/rail-endings-background", + "priority": "high", + "flags": [ + "low-object" + ], + "width": 128, + "height": 128, + "hr_version": { + "filename": "entity:rail-endings/hr-rail-endings-background", + "priority": "high", + "flags": [ + "low-object" + ], + "width": 256, + "height": 256, + "scale": 0.5 + } + }, + { + "filename": "entity:rail-endings/rail-endings-metals", + "priority": "high", + "flags": [ + "icon" + ], + "width": 128, + "height": 128, + "hr_version": { + "filename": "entity:rail-endings/hr-rail-endings-metals", + "priority": "high", + "flags": [ + "icon" + ], + "width": 256, + "height": 256, + "scale": 0.5 + } + } + ] + } + }, + "placeable_by": { + "item": "rail", + "count": 4 + }, + "size": { + "width": 4, + "height": 2 + } + }, + "land-mine": { + "type": "land-mine", + "name": "land-mine", + "icon": "entity:icons/land-mine", + "icon_size": 32, + "flags": [ + "placeable-player", + "placeable-enemy", + "player-creation", + "placeable-off-grid", + "not-on-map" + ], + "minable": { + "mining_time": 1, + "result": "land-mine" + }, + "mined_sound": { + "filename": "entity:sound/deconstruct-small" + }, + "max_health": 15, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.4, + -0.4 + ], + [ + 0.4, + 0.4 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "dying_explosion": "explosion-hit", + "picture_safe": { + "filename": "entity:land-mine/land-mine", + "priority": "medium", + "width": 32, + "height": 32 + }, + "picture_set": { + "filename": "entity:land-mine/land-mine-set", + "priority": "medium", + "width": 32, + "height": 32 + }, + "picture_set_enemy": { + "filename": "entity:land-mine/land-mine-set-enemy", + "priority": "medium", + "width": 32, + "height": 32 + }, + "trigger_radius": 2.5, + "ammo_category": "landmine", + "action": { + "type": "direct", + "action_delivery": { + "type": "instant", + "source_effects": [ + { + "type": "nested-result", + "affects_target": true, + "action": { + "type": "area", + "radius": 6, + "force": "enemy", + "action_delivery": { + "type": "instant", + "target_effects": [ + { + "type": "damage", + "damage": { + "amount": 300, + "type": "explosion" + } + }, + { + "type": "create-sticker", + "sticker": "stun-sticker" + } + ] + } + } + }, + { + "type": "create-entity", + "entity_name": "explosion" + }, + { + "type": "damage", + "damage": { + "amount": 1000, + "type": "explosion" + } + } + ] + } + }, + "size": { + "width": 1, + "height": 1 + } + }, + "train-stop": { + "type": "train-stop", + "name": "train-stop", + "icon": "entity:icons/train-stop", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation", + "filter-directions" + ], + "minable": { + "mining_time": 1, + "result": "train-stop" + }, + "max_health": 250, + "corpse": "medium-remnants", + "collision_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "selection_box": [ + [ + -0.9, + -0.9 + ], + [ + 0.9, + 0.9 + ] + ], + "drawing_boxes": { + "0": [ + [ + -3, + -2.5 + ], + [ + 0.8, + 1.25 + ] + ], + "2": [ + [ + -1.75, + -4.25 + ], + [ + 1.625, + 0.5 + ] + ], + "4": [ + [ + -0.8125, + -3.625 + ], + [ + 2.75, + 0.4375 + ] + ], + "6": [ + [ + -1.75, + -1.6875 + ], + [ + 2.0625, + 2.75 + ] + ] + }, + "tile_width": 2, + "tile_height": 2, + "animation_ticks_per_frame": 20, + "rail_overlay_animations": { + "0": { + "filename": "entity:train-stop/train-stop-ground", + "priority": "high", + "x": 0, + "width": 194, + "height": 189, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -0.015625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-ground", + "priority": "high", + "x": 0, + "width": 386, + "height": 377, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -0.0234375 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:train-stop/train-stop-ground", + "priority": "high", + "x": 194, + "width": 194, + "height": 189, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -0.015625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-ground", + "priority": "high", + "x": 386, + "width": 386, + "height": 377, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -0.0234375 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:train-stop/train-stop-ground", + "priority": "high", + "x": 388, + "width": 194, + "height": 189, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -0.015625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-ground", + "priority": "high", + "x": 772, + "width": 386, + "height": 377, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -0.0234375 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:train-stop/train-stop-ground", + "priority": "high", + "x": 582, + "width": 194, + "height": 189, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -0.015625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-ground", + "priority": "high", + "x": 1158, + "width": 386, + "height": 377, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -0.0234375 + ], + "scale": 0.5 + } + } + }, + "animations": { + "0": { + "layers": [ + { + "filename": "entity:train-stop/train-stop-bottom", + "priority": "high", + "x": 0, + "width": 71, + "height": 146, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.015625, + -0.84375 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-bottom", + "priority": "high", + "x": 0, + "width": 140, + "height": 291, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.015625, + -0.8359375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:train-stop/train-stop-shadow", + "priority": "high", + "x": 0, + "width": 361, + "height": 304, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.234375, + 0.5625 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-shadow", + "priority": "high", + "x": 0, + "width": 720, + "height": 607, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.234375, + 0.5546875 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:train-stop/train-stop-bottom", + "priority": "high", + "x": 71, + "width": 71, + "height": 146, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.015625, + -0.84375 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-bottom", + "priority": "high", + "x": 140, + "width": 140, + "height": 291, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.015625, + -0.8359375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:train-stop/train-stop-shadow", + "priority": "high", + "x": 361, + "width": 361, + "height": 304, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.234375, + 0.5625 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-shadow", + "priority": "high", + "x": 720, + "width": 720, + "height": 607, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.234375, + 0.5546875 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:train-stop/train-stop-bottom", + "priority": "high", + "x": 142, + "width": 71, + "height": 146, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.015625, + -0.84375 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-bottom", + "priority": "high", + "x": 280, + "width": 140, + "height": 291, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.015625, + -0.8359375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:train-stop/train-stop-shadow", + "priority": "high", + "x": 722, + "width": 361, + "height": 304, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.234375, + 0.5625 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-shadow", + "priority": "high", + "x": 1440, + "width": 720, + "height": 607, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.234375, + 0.5546875 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:train-stop/train-stop-bottom", + "priority": "high", + "x": 213, + "width": 71, + "height": 146, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.015625, + -0.84375 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-bottom", + "priority": "high", + "x": 420, + "width": 140, + "height": 291, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.015625, + -0.8359375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:train-stop/train-stop-shadow", + "priority": "high", + "x": 1083, + "width": 361, + "height": 304, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.234375, + 0.5625 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-shadow", + "priority": "high", + "x": 2160, + "width": 720, + "height": 607, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.234375, + 0.5546875 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + } + }, + "top_animations": { + "0": { + "layers": [ + { + "filename": "entity:train-stop/train-stop-top", + "priority": "high", + "x": 0, + "width": 156, + "height": 153, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.578125 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-top", + "priority": "high", + "x": 0, + "width": 311, + "height": 305, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.5859375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:train-stop/train-stop-top-mask", + "priority": "high", + "x": 0, + "width": 154, + "height": 148, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.53125 + ], + "apply_runtime_tint": true, + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-top-mask", + "priority": "high", + "x": 0, + "width": 306, + "height": 295, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.0078125, + -1.5234375 + ], + "apply_runtime_tint": true, + "scale": 0.5 + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:train-stop/train-stop-top", + "priority": "high", + "x": 156, + "width": 156, + "height": 153, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.578125 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-top", + "priority": "high", + "x": 311, + "width": 311, + "height": 305, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.5859375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:train-stop/train-stop-top-mask", + "priority": "high", + "x": 154, + "width": 154, + "height": 148, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.53125 + ], + "apply_runtime_tint": true, + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-top-mask", + "priority": "high", + "x": 306, + "width": 306, + "height": 295, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.0078125, + -1.5234375 + ], + "apply_runtime_tint": true, + "scale": 0.5 + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:train-stop/train-stop-top", + "priority": "high", + "x": 312, + "width": 156, + "height": 153, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.578125 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-top", + "priority": "high", + "x": 622, + "width": 311, + "height": 305, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.5859375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:train-stop/train-stop-top-mask", + "priority": "high", + "x": 308, + "width": 154, + "height": 148, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.53125 + ], + "apply_runtime_tint": true, + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-top-mask", + "priority": "high", + "x": 612, + "width": 306, + "height": 295, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.0078125, + -1.5234375 + ], + "apply_runtime_tint": true, + "scale": 0.5 + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:train-stop/train-stop-top", + "priority": "high", + "x": 468, + "width": 156, + "height": 153, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.578125 + ], + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-top", + "priority": "high", + "x": 933, + "width": 311, + "height": 305, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.5859375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:train-stop/train-stop-top-mask", + "priority": "high", + "x": 462, + "width": 154, + "height": 148, + "frame_count": 1, + "line_length": 4, + "shift": [ + 0, + -1.53125 + ], + "apply_runtime_tint": true, + "scale": 1, + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-top-mask", + "priority": "high", + "x": 918, + "width": 306, + "height": 295, + "frame_count": 1, + "line_length": 4, + "shift": [ + -0.0078125, + -1.5234375 + ], + "apply_runtime_tint": true, + "scale": 0.5 + } + } + ] + } + }, + "light1": { + "light": { + "intensity": 0.5, + "size": 3, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "picture": { + "0": { + "filename": "entity:train-stop/train-stop-north-light-1", + "width": 9, + "height": 5, + "frame_count": 1, + "shift": [ + -2.203125, + -1.390625 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-north-light-1", + "width": 17, + "height": 9, + "frame_count": 1, + "shift": [ + -2.2109375, + -1.3828125 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:train-stop/train-stop-west-light-1", + "width": 3, + "height": 8, + "frame_count": 1, + "shift": [ + -0.953125, + -3.5 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-west-light-1", + "width": 6, + "height": 16, + "frame_count": 1, + "shift": [ + -0.953125, + -3.5 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:train-stop/train-stop-south-light-1", + "width": 8, + "height": 2, + "frame_count": 1, + "shift": [ + 2.1875, + -2.96875 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-south-light-1", + "width": 16, + "height": 4, + "frame_count": 1, + "shift": [ + 2.1875, + -2.96875 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:train-stop/train-stop-east-light-1", + "width": 3, + "height": 9, + "frame_count": 1, + "shift": [ + 1.078125, + 0.609375 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-east-light-1", + "width": 6, + "height": 16, + "frame_count": 1, + "shift": [ + 1.078125, + 0.609375 + ], + "scale": 0.5 + } + } + }, + "red_picture": { + "0": { + "filename": "entity:train-stop/train-stop-north-red-light-1", + "width": 9, + "height": 5, + "frame_count": 1, + "shift": [ + -2.203125, + -1.390625 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-north-red-light-1", + "width": 17, + "height": 9, + "frame_count": 1, + "shift": [ + -2.2109375, + -1.3828125 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:train-stop/train-stop-west-red-light-1", + "width": 3, + "height": 8, + "frame_count": 1, + "shift": [ + -0.953125, + -3.5 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-west-red-light-1", + "width": 6, + "height": 16, + "frame_count": 1, + "shift": [ + -0.953125, + -3.5 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:train-stop/train-stop-south-red-light-1", + "width": 8, + "height": 2, + "frame_count": 1, + "shift": [ + 2.1875, + -2.96875 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-south-red-light-1", + "width": 16, + "height": 4, + "frame_count": 1, + "shift": [ + 2.1875, + -2.96875 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:train-stop/train-stop-east-red-light-1", + "width": 3, + "height": 9, + "frame_count": 1, + "shift": [ + 1.078125, + 0.609375 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-east-red-light-1", + "width": 6, + "height": 16, + "frame_count": 1, + "shift": [ + 1.078125, + 0.609375 + ], + "scale": 0.5 + } + } + } + }, + "light2": { + "light": { + "intensity": 0.5, + "size": 3, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "picture": { + "0": { + "filename": "entity:train-stop/train-stop-north-light-2", + "width": 9, + "height": 5, + "frame_count": 1, + "shift": [ + -1.796875, + -1.359375 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-north-light-2", + "width": 16, + "height": 9, + "frame_count": 1, + "shift": [ + -1.796875, + -1.3671875 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:train-stop/train-stop-west-light-2", + "width": 4, + "height": 8, + "frame_count": 1, + "shift": [ + -0.96875, + -3.21875 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-west-light-2", + "width": 7, + "height": 15, + "frame_count": 1, + "shift": [ + -0.9609375, + -3.2109375 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:train-stop/train-stop-south-light-2", + "width": 8, + "height": 3, + "frame_count": 1, + "shift": [ + 1.78125, + -2.953125 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-south-light-2", + "width": 16, + "height": 5, + "frame_count": 1, + "shift": [ + 1.78125, + -2.9609375 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:train-stop/train-stop-east-light-2", + "width": 3, + "height": 8, + "frame_count": 1, + "shift": [ + 1.078125, + 0.3125 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-east-light-2", + "width": 6, + "height": 16, + "frame_count": 1, + "shift": [ + 1.078125, + 0.3125 + ], + "scale": 0.5 + } + } + }, + "red_picture": { + "0": { + "filename": "entity:train-stop/train-stop-north-red-light-2", + "width": 9, + "height": 5, + "frame_count": 1, + "shift": [ + -1.796875, + -1.359375 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-north-red-light-2", + "width": 16, + "height": 9, + "frame_count": 1, + "shift": [ + -1.796875, + -1.3671875 + ], + "scale": 0.5 + } + }, + "2": { + "filename": "entity:train-stop/train-stop-west-red-light-2", + "width": 4, + "height": 8, + "frame_count": 1, + "shift": [ + -0.96875, + -3.21875 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-west-red-light-2", + "width": 7, + "height": 15, + "frame_count": 1, + "shift": [ + -0.9609375, + -3.2109375 + ], + "scale": 0.5 + } + }, + "4": { + "filename": "entity:train-stop/train-stop-south-red-light-2", + "width": 8, + "height": 3, + "frame_count": 1, + "shift": [ + 1.78125, + -2.953125 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-south-red-light-2", + "width": 16, + "height": 5, + "frame_count": 1, + "shift": [ + 1.78125, + -2.9609375 + ], + "scale": 0.5 + } + }, + "6": { + "filename": "entity:train-stop/train-stop-east-red-light-2", + "width": 3, + "height": 8, + "frame_count": 1, + "shift": [ + 1.078125, + 0.3125 + ], + "hr_version": { + "filename": "entity:train-stop/hr-train-stop-east-red-light-2", + "width": 6, + "height": 16, + "frame_count": 1, + "shift": [ + 1.078125, + 0.3125 + ], + "scale": 0.5 + } + } + } + }, + "color": { + "r": 0.95, + "g": 0, + "b": 0, + "a": 0.5 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/train-stop", + "volume": 0.8 + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.234375, + -1.5 + ], + "green": [ + 0.015625, + -1.40625 + ] + }, + "shadow": { + "red": [ + 2.09375, + 0.78125 + ], + "green": [ + 1.78125, + 0.796875 + ] + } + }, + { + "wire": { + "red": [ + -0.25, + -2.578125 + ], + "green": [ + -0.328125, + -2.40625 + ] + }, + "shadow": { + "red": [ + 3.75, + -0.109375 + ], + "green": [ + 3.4375, + -0.125 + ] + } + }, + { + "wire": { + "red": [ + -0.375, + -1.71875 + ], + "green": [ + -0.3125, + -1.484375 + ] + }, + "shadow": { + "red": [ + 2.609375, + 0.390625 + ], + "green": [ + 2.390625, + 0.4375 + ] + } + }, + { + "wire": { + "red": [ + 0.25, + -1.96875 + ], + "green": [ + 0.359375, + -1.78125 + ] + }, + "shadow": { + "red": [ + 3.59375, + 0.328125 + ], + "green": [ + 3.453125, + 0.359375 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 260, + "y": 50, + "shift": [ + 0.328125, + -1.15625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 310, + "y": 46, + "shift": [ + 2.03125, + 0.96875 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 310, + "y": 58, + "shift": [ + 0.328125, + -1.1875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 350, + "y": 56, + "shift": [ + 0.484375, + -1.0625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 300, + "y": 60, + "shift": [ + 0.328125, + -1.1875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 230, + "y": 44, + "shift": [ + 0.328125, + -1.1875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 240, + "y": 46, + "shift": [ + 0.328125, + -1.1875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 240, + "y": 46, + "shift": [ + 0.328125, + -1.1875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.046875, + -1.234375 + ], + "red_green_led_light_offset": [ + 0.171875, + -1.28125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 150, + "shift": [ + -0.15625, + -2.75 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 138, + "shift": [ + 3.578125, + -0.5 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 0, + "y": 174, + "shift": [ + -0.15625, + -2.78125 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 0, + "y": 168, + "shift": [ + 0, + -2.65625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 0, + "y": 180, + "shift": [ + -0.15625, + -2.78125 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 132, + "shift": [ + -0.15625, + -2.78125 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 138, + "shift": [ + -0.15625, + -2.78125 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 138, + "shift": [ + -0.15625, + -2.78125 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.359375, + -2.609375 + ], + "red_green_led_light_offset": [ + -0.34375, + -2.71875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + -0.671875, + -1.734375 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 2.03125, + 0.140625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + -0.671875, + -1.765625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + -0.515625, + -1.640625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + -0.671875, + -1.765625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + -0.671875, + -1.765625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + -0.671875, + -1.765625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + -0.671875, + -1.765625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.640625, + -1.46875 + ], + "red_green_led_light_offset": [ + -0.65625, + -1.578125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 208, + "y": 150, + "shift": [ + 0.140625, + -1.671875 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 248, + "y": 138, + "shift": [ + 3.203125, + 0.40625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 248, + "y": 174, + "shift": [ + 0.140625, + -1.703125 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 280, + "y": 168, + "shift": [ + 0.296875, + -1.578125 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 240, + "y": 180, + "shift": [ + 0.140625, + -1.703125 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 184, + "y": 132, + "shift": [ + 0.140625, + -1.703125 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 138, + "shift": [ + 0.140625, + -1.703125 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 138, + "shift": [ + 0.140625, + -1.703125 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.34375, + -1.546875 + ], + "red_green_led_light_offset": [ + 0.34375, + -1.65625 + ] + } + ], + "circuit_wire_max_distance": 9, + "default_train_stopped_signal": { + "type": "virtual", + "name": "signal-T" + }, + "size": { + "width": 2, + "height": 2 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "rail-signal": { + "type": "rail-signal", + "name": "rail-signal", + "icon": "entity:icons/rail-signal", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation", + "building-direction-8-way", + "filter-directions", + "fast-replaceable-no-build-while-moving" + ], + "fast_replaceable_group": "rail-signal", + "minable": { + "mining_time": 0.5, + "result": "rail-signal" + }, + "max_health": 100, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.2, + -0.2 + ], + [ + 0.2, + 0.2 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "animation": { + "filename": "entity:rail-signal/rail-signal", + "priority": "high", + "width": 96, + "height": 96, + "frame_count": 3, + "direction_count": 8, + "hr_version": { + "filename": "entity:rail-signal/hr-rail-signal", + "priority": "high", + "width": 192, + "height": 192, + "frame_count": 3, + "direction_count": 8, + "scale": 0.5 + } + }, + "rail_piece": { + "filename": "entity:rail-signal/rail-signal-metal", + "line_length": 10, + "width": 96, + "height": 96, + "frame_count": 10, + "axially_symmetrical": false, + "hr_version": { + "filename": "entity:rail-signal/hr-rail-signal-metal", + "line_length": 10, + "width": 192, + "height": 192, + "frame_count": 10, + "axially_symmetrical": false, + "scale": 0.5 + } + }, + "green_light": { + "intensity": 0.2, + "size": 4, + "color": { + "g": 1 + } + }, + "orange_light": { + "intensity": 0.2, + "size": 4, + "color": { + "r": 1, + "g": 0.5 + } + }, + "red_light": { + "intensity": 0.2, + "size": 4, + "color": { + "r": 1 + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.03125, + -0.65625 + ], + "green": [ + 0.203125, + -0.78125 + ] + }, + "shadow": { + "red": [ + 0.140625, + -0.53125 + ], + "green": [ + 0.375, + -0.65625 + ] + } + }, + { + "wire": { + "red": [ + -0.5625, + -0.578125 + ], + "green": [ + -0.484375, + -0.78125 + ] + }, + "shadow": { + "red": [ + -0.4375, + -0.484375 + ], + "green": [ + -0.34375, + -0.671875 + ] + } + }, + { + "wire": { + "red": [ + -0.765625, + -0.09375 + ], + "green": [ + -0.90625, + -0.203125 + ] + }, + "shadow": { + "red": [ + -0.640625, + 0 + ], + "green": [ + -0.8125, + -0.125 + ] + } + }, + { + "wire": { + "red": [ + -0.40625, + 0.609375 + ], + "green": [ + -0.640625, + 0.609375 + ] + }, + "shadow": { + "red": [ + -0.328125, + 0.65625 + ], + "green": [ + -0.546875, + 0.671875 + ] + } + }, + { + "wire": { + "red": [ + 0.015625, + 0.6875 + ], + "green": [ + -0.140625, + 0.796875 + ] + }, + "shadow": { + "red": [ + 0.171875, + 0.796875 + ], + "green": [ + 0, + 0.90625 + ] + } + }, + { + "wire": { + "red": [ + 0.5, + 0.5625 + ], + "green": [ + 0.5625, + 0.75 + ] + }, + "shadow": { + "red": [ + 0.640625, + 0.671875 + ], + "green": [ + 0.71875, + 0.875 + ] + } + }, + { + "wire": { + "red": [ + 0.828125, + 0 + ], + "green": [ + 1, + 0.125 + ] + }, + "shadow": { + "red": [ + 0.984375, + 0.125 + ], + "green": [ + 1.171875, + 0.25 + ] + } + }, + { + "wire": { + "red": [ + 0.4375, + -0.5625 + ], + "green": [ + 0.703125, + -0.5625 + ] + }, + "shadow": { + "red": [ + 0.625, + -0.4375 + ], + "green": [ + 0.875, + -0.421875 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 260, + "y": 0, + "shift": [ + 0.234375, + -0.34375 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 310, + "y": 0, + "shift": [ + 0.3125, + -0.296875 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 310, + "y": 0, + "shift": [ + 0.234375, + -0.375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 350, + "y": 0, + "shift": [ + 0.390625, + -0.25 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 300, + "y": 0, + "shift": [ + 0.234375, + -0.375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 230, + "y": 0, + "shift": [ + 0.234375, + -0.375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 240, + "y": 0, + "shift": [ + 0.234375, + -0.375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 240, + "y": 0, + "shift": [ + 0.234375, + -0.375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.390625, + -0.625 + ], + "red_green_led_light_offset": [ + 0.28125, + -0.546875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 312, + "y": 0, + "shift": [ + -0.21875, + -0.421875 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 372, + "y": 0, + "shift": [ + -0.140625, + -0.375 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 372, + "y": 0, + "shift": [ + -0.21875, + -0.453125 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 420, + "y": 0, + "shift": [ + -0.0625, + -0.328125 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 360, + "y": 0, + "shift": [ + -0.21875, + -0.453125 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 276, + "y": 0, + "shift": [ + -0.21875, + -0.453125 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 288, + "y": 0, + "shift": [ + -0.21875, + -0.453125 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 288, + "y": 0, + "shift": [ + -0.21875, + -0.453125 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.234375, + -0.75 + ], + "red_green_led_light_offset": [ + -0.234375, + -0.625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 364, + "y": 0, + "shift": [ + -0.484375, + -0.109375 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 434, + "y": 0, + "shift": [ + -0.40625, + -0.0625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 434, + "y": 0, + "shift": [ + -0.484375, + -0.140625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 490, + "y": 0, + "shift": [ + -0.328125, + -0.015625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 420, + "y": 0, + "shift": [ + -0.484375, + -0.140625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 322, + "y": 0, + "shift": [ + -0.484375, + -0.140625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 336, + "y": 0, + "shift": [ + -0.484375, + -0.140625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 336, + "y": 0, + "shift": [ + -0.484375, + -0.140625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.65625, + -0.375 + ], + "red_green_led_light_offset": [ + -0.546875, + -0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.390625, + 0.4375 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.3125, + 0.484375 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.390625, + 0.40625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.234375, + 0.53125 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.390625, + 0.40625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.390625, + 0.40625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.390625, + 0.40625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.390625, + 0.40625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.609375, + 0.296875 + ], + "red_green_led_light_offset": [ + -0.453125, + 0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 52, + "y": 0, + "shift": [ + -0.1875, + 0.640625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 0, + "shift": [ + -0.109375, + 0.6875 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 62, + "y": 0, + "shift": [ + -0.1875, + 0.609375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 70, + "y": 0, + "shift": [ + -0.03125, + 0.734375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 60, + "y": 0, + "shift": [ + -0.1875, + 0.609375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 46, + "y": 0, + "shift": [ + -0.1875, + 0.609375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 0, + "shift": [ + -0.1875, + 0.609375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 0, + "shift": [ + -0.1875, + 0.609375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.328125, + 0.59375 + ], + "red_green_led_light_offset": [ + -0.21875, + 0.53125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 0, + "shift": [ + 0.21875, + 0.703125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 0.296875, + 0.75 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 0.21875, + 0.671875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 0, + "shift": [ + 0.375, + 0.796875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 0, + "shift": [ + 0.21875, + 0.671875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 0, + "shift": [ + 0.21875, + 0.671875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 0, + "shift": [ + 0.21875, + 0.671875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 0, + "shift": [ + 0.21875, + 0.671875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.25, + 0.703125 + ], + "red_green_led_light_offset": [ + 0.25, + 0.59375 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 156, + "y": 0, + "shift": [ + 0.578125, + 0.28125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 186, + "y": 0, + "shift": [ + 0.65625, + 0.328125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 186, + "y": 0, + "shift": [ + 0.578125, + 0.25 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 210, + "y": 0, + "shift": [ + 0.734375, + 0.375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 180, + "y": 0, + "shift": [ + 0.578125, + 0.25 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 138, + "y": 0, + "shift": [ + 0.578125, + 0.25 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 144, + "y": 0, + "shift": [ + 0.578125, + 0.25 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 144, + "y": 0, + "shift": [ + 0.578125, + 0.25 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.75, + 0.21875 + ], + "red_green_led_light_offset": [ + 0.65625, + 0.140625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 208, + "y": 0, + "shift": [ + 0.40625, + -0.1875 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 248, + "y": 0, + "shift": [ + 0.484375, + -0.140625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 248, + "y": 0, + "shift": [ + 0.40625, + -0.21875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 280, + "y": 0, + "shift": [ + 0.5625, + -0.09375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 240, + "y": 0, + "shift": [ + 0.40625, + -0.21875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 184, + "y": 0, + "shift": [ + 0.40625, + -0.21875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + 0.40625, + -0.21875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + 0.40625, + -0.21875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.640625, + -0.359375 + ], + "red_green_led_light_offset": [ + 0.484375, + -0.359375 + ] + } + ], + "circuit_wire_max_distance": 9, + "default_red_output_signal": { + "type": "virtual", + "name": "signal-red" + }, + "default_orange_output_signal": { + "type": "virtual", + "name": "signal-yellow" + }, + "default_green_output_signal": { + "type": "virtual", + "name": "signal-green" + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + }, + "rail-chain-signal": { + "type": "rail-chain-signal", + "name": "rail-chain-signal", + "icon": "entity:icons/rail-chain-signal", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation", + "building-direction-8-way", + "filter-directions", + "fast-replaceable-no-build-while-moving" + ], + "fast_replaceable_group": "rail-signal", + "minable": { + "mining_time": 0.5, + "result": "rail-chain-signal" + }, + "max_health": 100, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.2, + -0.2 + ], + [ + 0.2, + 0.2 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "animation": { + "filename": "entity:rail-chain-signal/rail-chain-signal", + "priority": "high", + "line_length": 5, + "width": 160, + "height": 160, + "frame_count": 5, + "axially_symmetrical": false, + "direction_count": 8, + "hr_version": { + "filename": "entity:rail-chain-signal/hr-rail-chain-signal", + "priority": "high", + "line_length": 5, + "width": 320, + "height": 320, + "frame_count": 5, + "axially_symmetrical": false, + "direction_count": 8, + "scale": 0.5 + } + }, + "rail_piece": { + "filename": "entity:rail-chain-signal/rail-chain-signal-metal", + "line_length": 10, + "width": 192, + "height": 192, + "frame_count": 10, + "axially_symmetrical": false, + "hr_version": { + "filename": "entity:rail-chain-signal/hr-rail-chain-signal-metal", + "line_length": 10, + "width": 384, + "height": 384, + "frame_count": 10, + "axially_symmetrical": false, + "scale": 0.5 + } + }, + "selection_box_offsets": [ + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ], + [ + 0, + 0 + ] + ], + "green_light": { + "intensity": 0.3, + "size": 4, + "color": { + "r": 0.592157, + "g": 1, + "b": 0.117647 + } + }, + "orange_light": { + "intensity": 0.3, + "size": 4, + "color": { + "r": 0.815686, + "g": 0.670588, + "b": 0.431373 + } + }, + "red_light": { + "intensity": 0.3, + "size": 4, + "color": { + "r": 0.784314, + "g": 0.431373, + "b": 0.431373 + } + }, + "blue_light": { + "intensity": 0.3, + "size": 4, + "color": { + "r": 0.431373, + "g": 0.694118, + "b": 0.623529 + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + -0.03125, + 0.4375 + ], + "green": [ + -0.171875, + 0.328125 + ] + }, + "shadow": { + "red": [ + 0.09375, + 0.53125 + ], + "green": [ + -0.078125, + 0.40625 + ] + } + }, + { + "wire": { + "red": [ + -0.265625, + 0.4375 + ], + "green": [ + -0.5, + 0.4375 + ] + }, + "shadow": { + "red": [ + -0.1875, + 0.484375 + ], + "green": [ + -0.40625, + 0.5 + ] + } + }, + { + "wire": { + "red": [ + 0.15625, + 0.328125 + ], + "green": [ + 0, + 0.4375 + ] + }, + "shadow": { + "red": [ + 0.3125, + 0.4375 + ], + "green": [ + 0.140625, + 0.546875 + ] + } + }, + { + "wire": { + "red": [ + 0.390625, + 0.125 + ], + "green": [ + 0.453125, + 0.3125 + ] + }, + "shadow": { + "red": [ + 0.53125, + 0.234375 + ], + "green": [ + 0.609375, + 0.4375 + ] + } + }, + { + "wire": { + "red": [ + 0.421875, + 0.03125 + ], + "green": [ + 0.59375, + 0.15625 + ] + }, + "shadow": { + "red": [ + 0.578125, + 0.15625 + ], + "green": [ + 0.765625, + 0.28125 + ] + } + }, + { + "wire": { + "red": [ + -0.640625, + 0.09375 + ], + "green": [ + -0.375, + 0.09375 + ] + }, + "shadow": { + "red": [ + -0.453125, + 0.21875 + ], + "green": [ + -0.203125, + 0.234375 + ] + } + }, + { + "wire": { + "red": [ + -0.640625, + 0.1875 + ], + "green": [ + -0.46875, + 0.0625 + ] + }, + "shadow": { + "red": [ + -0.53125, + 0.3125 + ], + "green": [ + -0.296875, + 0.1875 + ] + } + }, + { + "wire": { + "red": [ + -0.40625, + 0.421875 + ], + "green": [ + -0.328125, + 0.21875 + ] + }, + "shadow": { + "red": [ + -0.28125, + 0.515625 + ], + "green": [ + -0.1875, + 0.328125 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 364, + "y": 0, + "shift": [ + 0.25, + 0.421875 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 434, + "y": 0, + "shift": [ + 0.328125, + 0.46875 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 434, + "y": 0, + "shift": [ + 0.25, + 0.390625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 490, + "y": 0, + "shift": [ + 0.40625, + 0.515625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 420, + "y": 0, + "shift": [ + 0.25, + 0.390625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 322, + "y": 0, + "shift": [ + 0.25, + 0.390625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 336, + "y": 0, + "shift": [ + 0.25, + 0.390625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 336, + "y": 0, + "shift": [ + 0.25, + 0.390625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.078125, + 0.15625 + ], + "red_green_led_light_offset": [ + 0.1875, + 0.234375 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.25, + 0.265625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.171875, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.25, + 0.234375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.09375, + 0.359375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.25, + 0.234375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.25, + 0.234375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.25, + 0.234375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 0, + "shift": [ + -0.25, + 0.234375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.46875, + 0.125 + ], + "red_green_led_light_offset": [ + -0.3125, + 0.125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 52, + "y": 0, + "shift": [ + -0.046875, + 0.28125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 62, + "y": 0, + "shift": [ + 0.03125, + 0.328125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 62, + "y": 0, + "shift": [ + -0.046875, + 0.25 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 70, + "y": 0, + "shift": [ + 0.109375, + 0.375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 60, + "y": 0, + "shift": [ + -0.046875, + 0.25 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 46, + "y": 0, + "shift": [ + -0.046875, + 0.25 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 0, + "shift": [ + -0.046875, + 0.25 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 0, + "shift": [ + -0.046875, + 0.25 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.1875, + 0.234375 + ], + "red_green_led_light_offset": [ + -0.078125, + 0.171875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 0, + "shift": [ + 0.109375, + 0.265625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 0.1875, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 0, + "shift": [ + 0.109375, + 0.234375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 0, + "shift": [ + 0.265625, + 0.359375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 0, + "shift": [ + 0.109375, + 0.234375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 0, + "shift": [ + 0.109375, + 0.234375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 0, + "shift": [ + 0.109375, + 0.234375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 0, + "shift": [ + 0.109375, + 0.234375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.140625, + 0.265625 + ], + "red_green_led_light_offset": [ + 0.140625, + 0.15625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 156, + "y": 0, + "shift": [ + 0.171875, + 0.3125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 186, + "y": 0, + "shift": [ + 0.25, + 0.359375 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 186, + "y": 0, + "shift": [ + 0.171875, + 0.28125 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 210, + "y": 0, + "shift": [ + 0.328125, + 0.40625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 180, + "y": 0, + "shift": [ + 0.171875, + 0.28125 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 138, + "y": 0, + "shift": [ + 0.171875, + 0.28125 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 144, + "y": 0, + "shift": [ + 0.171875, + 0.28125 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 144, + "y": 0, + "shift": [ + 0.171875, + 0.28125 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.34375, + 0.25 + ], + "red_green_led_light_offset": [ + 0.25, + 0.171875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 208, + "y": 0, + "shift": [ + -0.671875, + 0.46875 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 248, + "y": 0, + "shift": [ + -0.59375, + 0.515625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 248, + "y": 0, + "shift": [ + -0.671875, + 0.4375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 280, + "y": 0, + "shift": [ + -0.515625, + 0.5625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 240, + "y": 0, + "shift": [ + -0.671875, + 0.4375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 184, + "y": 0, + "shift": [ + -0.671875, + 0.4375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + -0.671875, + 0.4375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 192, + "y": 0, + "shift": [ + -0.671875, + 0.4375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.4375, + 0.296875 + ], + "red_green_led_light_offset": [ + -0.59375, + 0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 260, + "y": 0, + "shift": [ + -0.4375, + 0.5 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 310, + "y": 0, + "shift": [ + -0.359375, + 0.546875 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 310, + "y": 0, + "shift": [ + -0.4375, + 0.46875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 350, + "y": 0, + "shift": [ + -0.28125, + 0.59375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 300, + "y": 0, + "shift": [ + -0.4375, + 0.46875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 230, + "y": 0, + "shift": [ + -0.4375, + 0.46875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 240, + "y": 0, + "shift": [ + -0.4375, + 0.46875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 240, + "y": 0, + "shift": [ + -0.4375, + 0.46875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.28125, + 0.21875 + ], + "red_green_led_light_offset": [ + -0.390625, + 0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 312, + "y": 0, + "shift": [ + -0.0625, + 0.578125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 372, + "y": 0, + "shift": [ + 0.015625, + 0.625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 372, + "y": 0, + "shift": [ + -0.0625, + 0.546875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 420, + "y": 0, + "shift": [ + 0.09375, + 0.671875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 360, + "y": 0, + "shift": [ + -0.0625, + 0.546875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 276, + "y": 0, + "shift": [ + -0.0625, + 0.546875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 288, + "y": 0, + "shift": [ + -0.0625, + 0.546875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 288, + "y": 0, + "shift": [ + -0.0625, + 0.546875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.078125, + 0.25 + ], + "red_green_led_light_offset": [ + -0.078125, + 0.375 + ] + } + ], + "circuit_wire_max_distance": 9, + "default_red_output_signal": { + "type": "virtual", + "name": "signal-red" + }, + "default_orange_output_signal": { + "type": "virtual", + "name": "signal-yellow" + }, + "default_green_output_signal": { + "type": "virtual", + "name": "signal-green" + }, + "default_blue_output_signal": { + "type": "virtual", + "name": "signal-blue" + }, + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + }, + "lab": { + "type": "lab", + "name": "lab", + "icon": "entity:icons/lab", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "lab" + }, + "max_health": 150, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "collision_box": [ + [ + -1.2, + -1.2 + ], + [ + 1.2, + 1.2 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "light": { + "intensity": 0.75, + "size": 8, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "on_animation": { + "layers": [ + { + "filename": "entity:lab/lab", + "width": 98, + "height": 87, + "frame_count": 33, + "line_length": 11, + "animation_speed": 0.3333333333333333, + "shift": [ + 0, + 0.046875 + ], + "hr_version": { + "filename": "entity:lab/hr-lab", + "width": 194, + "height": 174, + "frame_count": 33, + "line_length": 11, + "animation_speed": 0.3333333333333333, + "shift": [ + 0, + 0.046875 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:lab/lab-integration", + "width": 122, + "height": 81, + "frame_count": 1, + "line_length": 1, + "repeat_count": 33, + "animation_speed": 0.3333333333333333, + "shift": [ + 0, + 0.484375 + ], + "hr_version": { + "filename": "entity:lab/hr-lab-integration", + "width": 242, + "height": 162, + "frame_count": 1, + "line_length": 1, + "repeat_count": 33, + "animation_speed": 0.3333333333333333, + "shift": [ + 0, + 0.484375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:lab/lab-shadow", + "width": 122, + "height": 68, + "frame_count": 1, + "line_length": 1, + "repeat_count": 33, + "animation_speed": 0.3333333333333333, + "shift": [ + 0.40625, + 0.34375 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:lab/hr-lab-shadow", + "width": 242, + "height": 136, + "frame_count": 1, + "line_length": 1, + "repeat_count": 33, + "animation_speed": 0.3333333333333333, + "shift": [ + 0.40625, + 0.34375 + ], + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "off_animation": { + "layers": [ + { + "filename": "entity:lab/lab", + "width": 98, + "height": 87, + "frame_count": 1, + "shift": [ + 0, + 0.046875 + ], + "hr_version": { + "filename": "entity:lab/hr-lab", + "width": 194, + "height": 174, + "frame_count": 1, + "shift": [ + 0, + 0.046875 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:lab/lab-integration", + "width": 122, + "height": 81, + "frame_count": 1, + "shift": [ + 0, + 0.484375 + ], + "hr_version": { + "filename": "entity:lab/hr-lab-integration", + "width": 242, + "height": 162, + "frame_count": 1, + "shift": [ + 0, + 0.484375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:lab/lab-shadow", + "width": 122, + "height": 68, + "frame_count": 1, + "shift": [ + 0.40625, + 0.34375 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:lab/hr-lab-shadow", + "width": 242, + "height": 136, + "frame_count": 1, + "shift": [ + 0.40625, + 0.34375 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "working_sound": { + "sound": { + "filename": "entity:sound/lab", + "volume": 0.7 + }, + "apparent_volume": 1 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input" + }, + "energy_usage": "60kW", + "researching_speed": 1, + "inputs": [ + "science-pack-1", + "science-pack-2", + "science-pack-3", + "military-science-pack", + "production-science-pack", + "high-tech-science-pack", + "space-science-pack" + ], + "module_specification": { + "module_slots": 2, + "max_entity_info_module_icons_per_row": 3, + "max_entity_info_module_icon_rows": 1, + "module_info_icon_shift": [ + 0, + 0.9 + ] + }, + "size": { + "width": 3, + "height": 3 + } + }, + "logistic-chest-passive-provider": { + "type": "logistic-container", + "name": "logistic-chest-passive-provider", + "icon": "entity:icons/logistic-chest-passive-provider", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "logistic-chest-passive-provider" + }, + "max_health": 350, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.35, + -0.35 + ], + [ + 0.35, + 0.35 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "resistances": [ + { + "type": "fire", + "percent": 90 + }, + { + "type": "impact", + "percent": 60 + } + ], + "fast_replaceable_group": "container", + "inventory_size": 48, + "logistic_mode": "passive-provider", + "open_sound": { + "filename": "entity:sound/metallic-chest-open", + "volume": 0.65 + }, + "close_sound": { + "filename": "entity:sound/metallic-chest-close", + "volume": 0.7 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "picture": { + "filename": "entity:logistic-chest/logistic-chest-passive-provider", + "priority": "extra-high", + "width": 38, + "height": 32, + "shift": [ + 0.09375, + 0 + ] + }, + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.390625, + 0.21875 + ], + "green": [ + 0.453125, + 0.453125 + ] + }, + "shadow": { + "red": [ + 0.890625, + 0.5625 + ], + "green": [ + 0.671875, + 0.609375 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + 0.203125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.3125, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + 0.296875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + 0.46875 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.359375 + ] + }, + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + } + }, + "logistic-chest-active-provider": { + "type": "logistic-container", + "name": "logistic-chest-active-provider", + "icon": "entity:icons/logistic-chest-active-provider", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "logistic-chest-active-provider" + }, + "max_health": 350, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.35, + -0.35 + ], + [ + 0.35, + 0.35 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "resistances": [ + { + "type": "fire", + "percent": 90 + }, + { + "type": "impact", + "percent": 60 + } + ], + "fast_replaceable_group": "container", + "inventory_size": 48, + "logistic_mode": "active-provider", + "open_sound": { + "filename": "entity:sound/metallic-chest-open", + "volume": 0.65 + }, + "close_sound": { + "filename": "entity:sound/metallic-chest-close", + "volume": 0.7 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "picture": { + "filename": "entity:logistic-chest/logistic-chest-active-provider", + "priority": "extra-high", + "width": 38, + "height": 32, + "shift": [ + 0.09375, + 0 + ] + }, + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.390625, + 0.21875 + ], + "green": [ + 0.453125, + 0.453125 + ] + }, + "shadow": { + "red": [ + 0.890625, + 0.5625 + ], + "green": [ + 0.671875, + 0.609375 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + 0.203125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.3125, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + 0.296875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + 0.46875 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.359375 + ] + }, + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + } + }, + "logistic-chest-storage": { + "type": "logistic-container", + "name": "logistic-chest-storage", + "icon": "entity:icons/logistic-chest-storage", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "logistic-chest-storage" + }, + "max_health": 350, + "logistic_slots_count": 1, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.35, + -0.35 + ], + [ + 0.35, + 0.35 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "resistances": [ + { + "type": "fire", + "percent": 90 + }, + { + "type": "impact", + "percent": 60 + } + ], + "fast_replaceable_group": "container", + "inventory_size": 48, + "logistic_mode": "storage", + "open_sound": { + "filename": "entity:sound/metallic-chest-open", + "volume": 0.65 + }, + "close_sound": { + "filename": "entity:sound/metallic-chest-close", + "volume": 0.7 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "picture": { + "filename": "entity:logistic-chest/logistic-chest-storage", + "priority": "extra-high", + "width": 38, + "height": 32, + "shift": [ + 0.09375, + 0 + ] + }, + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.390625, + 0.21875 + ], + "green": [ + 0.453125, + 0.453125 + ] + }, + "shadow": { + "red": [ + 0.890625, + 0.5625 + ], + "green": [ + 0.671875, + 0.609375 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + 0.203125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.3125, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + 0.296875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + 0.46875 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.359375 + ] + }, + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + } + }, + "logistic-chest-buffer": { + "type": "logistic-container", + "name": "logistic-chest-buffer", + "icon": "entity:icons/logistic-chest-buffer", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "logistic-chest-buffer" + }, + "max_health": 350, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.35, + -0.35 + ], + [ + 0.35, + 0.35 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "resistances": [ + { + "type": "fire", + "percent": 90 + }, + { + "type": "impact", + "percent": 60 + } + ], + "fast_replaceable_group": "container", + "inventory_size": 48, + "logistic_mode": "buffer", + "logistic_slots_count": 12, + "open_sound": { + "filename": "entity:sound/metallic-chest-open", + "volume": 0.65 + }, + "close_sound": { + "filename": "entity:sound/metallic-chest-close", + "volume": 0.7 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "picture": { + "filename": "entity:logistic-chest/logistic-chest-buffer", + "priority": "extra-high", + "width": 38, + "height": 32, + "shift": [ + 0.09375, + 0 + ] + }, + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.390625, + 0.21875 + ], + "green": [ + 0.453125, + 0.453125 + ] + }, + "shadow": { + "red": [ + 0.890625, + 0.5625 + ], + "green": [ + 0.671875, + 0.609375 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + 0.203125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.3125, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + 0.296875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + 0.46875 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.359375 + ] + }, + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + } + }, + "logistic-chest-requester": { + "type": "logistic-container", + "name": "logistic-chest-requester", + "icon": "entity:icons/logistic-chest-requester", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "logistic-chest-requester" + }, + "max_health": 350, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.35, + -0.35 + ], + [ + 0.35, + 0.35 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "resistances": [ + { + "type": "fire", + "percent": 90 + }, + { + "type": "impact", + "percent": 60 + } + ], + "fast_replaceable_group": "container", + "inventory_size": 48, + "logistic_mode": "requester", + "logistic_slots_count": 12, + "open_sound": { + "filename": "entity:sound/metallic-chest-open", + "volume": 0.65 + }, + "close_sound": { + "filename": "entity:sound/metallic-chest-close", + "volume": 0.7 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "picture": { + "filename": "entity:logistic-chest/logistic-chest-requester", + "priority": "extra-high", + "width": 38, + "height": 32, + "shift": [ + 0.09375, + 0 + ] + }, + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.390625, + 0.21875 + ], + "green": [ + 0.453125, + 0.453125 + ] + }, + "shadow": { + "red": [ + 0.890625, + 0.5625 + ], + "green": [ + 0.671875, + 0.609375 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.09375, + 0.203125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.3125, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.25, + 0.296875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.09375, + 0.171875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.125, + 0.46875 + ], + "red_green_led_light_offset": [ + 0.109375, + 0.359375 + ] + }, + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + } + }, + "rocket-silo": { + "type": "rocket-silo", + "name": "rocket-silo", + "icon": "entity:icons/rocket-silo", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "crafting_categories": [ + "rocket-building" + ], + "ingredient_count": 3, + "rocket_parts_required": 100, + "crafting_speed": 1, + "rocket_result_inventory_size": 1, + "module_specification": { + "module_slots": 4, + "module_info_icon_shift": [ + 0, + 4.3 + ] + }, + "fixed_recipe": "rocket-part", + "allowed_effects": [ + "consumption", + "speed", + "productivity", + "pollution" + ], + "minable": { + "hardness": 0.2, + "mining_time": 5, + "result": "rocket-silo" + }, + "max_health": 5000, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "collision_box": [ + [ + -4.2, + -4.7 + ], + [ + 4.2, + 4.7 + ] + ], + "selection_box": [ + [ + -4.5, + -5 + ], + [ + 4.5, + 5 + ] + ], + "resistances": [ + { + "type": "fire", + "percent": 60 + }, + { + "type": "impact", + "percent": 60 + } + ], + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "energy_source": { + "type": "electric", + "usage_priority": "primary-input" + }, + "energy_usage": "250kW", + "idle_energy_usage": "10KW", + "lamp_energy_usage": "10KW", + "active_energy_usage": "3990KW", + "rocket_entity": "rocket-silo-rocket", + "times_to_blink": 3, + "light_blinking_speed": 0.005555555555555556, + "door_opening_speed": 0.00392156862745098, + "base_light": [ + { + "type": "oriented", + "picture": { + "filename": "entity:graphics/light-cone", + "priority": "extra-high", + "flags": [ + "light" + ], + "scale": 2, + "width": 200, + "height": 200 + }, + "shift": [ + 0.25, + 1.25 + ], + "size": 1, + "intensity": 1, + "rotation_shift": 0.6, + "color": { + "r": 0.7, + "g": 0.9, + "b": 1 + } + }, + { + "type": "oriented", + "picture": { + "filename": "entity:graphics/light-cone", + "priority": "extra-high", + "flags": [ + "light" + ], + "scale": 2, + "width": 200, + "height": 200 + }, + "shift": [ + -0.25, + 1 + ], + "size": 1, + "intensity": 1, + "rotation_shift": 0.5, + "color": { + "r": 0.7, + "g": 0.9, + "b": 1 + } + } + ], + "base_engine_light": { + "intensity": 1, + "size": 25, + "shift": [ + 0, + 1.5 + ] + }, + "shadow_sprite": { + "filename": "entity:00-shadow/00-silo-shadow", + "priority": "medium", + "width": 447, + "height": 351, + "draw_as_shadow": true, + "slice": 2, + "shift": [ + 1.5, + 0.5 + ] + }, + "satellite_shadow_animation": { + "filename": "entity:00-shadow/00-satellite-shadow", + "priority": "medium", + "width": 44, + "height": 22, + "frame_count": 12, + "line_length": 4, + "animation_speed": 0.25, + "draw_as_shadow": true, + "shift": [ + 7.875, + -2.1875 + ] + }, + "hole_sprite": { + "filename": "entity:01-hole/01-hole", + "width": 224, + "height": 128, + "shift": [ + 0, + 2 + ] + }, + "hole_light_sprite": { + "filename": "entity:01-hole/01-hole-light", + "width": 224, + "height": 128, + "shift": [ + 0, + 2 + ] + }, + "rocket_shadow_overlay_sprite": { + "filename": "entity:03-12-rocket-over/03-rocket-over-shadow-over-rocket", + "width": 224, + "height": 128, + "shift": [ + 0, + 2 + ] + }, + "rocket_glow_overlay_sprite": { + "filename": "entity:03-12-rocket-over/03-rocket-over-glow", + "blend_mode": "additive", + "width": 224, + "height": 128, + "shift": [ + 0, + 2 + ] + }, + "door_back_sprite": { + "filename": "entity:04-05-doors/04-door-back", + "width": 192, + "height": 108, + "shift": [ + 0, + 1.53125 + ] + }, + "door_back_open_offset": [ + 1.75, + -1.75 + ], + "door_front_sprite": { + "filename": "entity:04-05-doors/05-door-front", + "width": 192, + "height": 112, + "shift": [ + 0, + 2.0625 + ] + }, + "door_front_open_offset": [ + -1.75, + 1.75 + ], + "base_day_sprite": { + "filename": "entity:06-silo-base/06-silo-base-day", + "width": 352, + "height": 384, + "shift": [ + 0, + 0 + ] + }, + "base_night_sprite": { + "filename": "entity:06-silo-base/06-silo-base-night", + "width": 352, + "height": 384, + "shift": [ + 0, + 0 + ] + }, + "red_lights_back_sprites": { + "layers": [ + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + 1.34375, + 0.28125 + ] + }, + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + 2.3125, + 0.9375 + ] + }, + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + 2.65625, + 1.90625 + ] + }, + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + -2.65625, + 1.90625 + ] + }, + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + -2.3125, + 0.9375 + ] + }, + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + -1.34375, + 0.28125 + ] + }, + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + 0, + 0 + ] + } + ] + }, + "red_lights_front_sprites": { + "layers": [ + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + 2.3125, + 2.8125 + ] + }, + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + 1.34375, + 3.40625 + ] + }, + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + 0, + 3.75 + ] + }, + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + -1.34375, + 3.40625 + ] + }, + { + "filename": "entity:07-red-lights-back/red-light", + "width": 32, + "height": 32, + "shift": [ + -2.3125, + 2.8125 + ] + } + ] + }, + "satellite_animation": { + "filename": "entity:08-arms-back-satellite-animation/satellite", + "priority": "medium", + "width": 27, + "height": 28, + "frame_count": 12, + "line_length": 4, + "animation_speed": 0.25, + "shift": [ + 3.3125, + -4.82813 + ] + }, + "arm_01_back_animation": { + "filename": "entity:08-arms-back-satellite-animation/arm-01-back", + "priority": "medium", + "width": 54, + "height": 50, + "frame_count": 12, + "line_length": 4, + "animation_speed": 0.2, + "shift": [ + -1.34375, + -0.875 + ] + }, + "arm_02_right_animation": { + "filename": "entity:08-arms-back-satellite-animation/arm-02-right", + "priority": "medium", + "width": 81, + "height": 43, + "frame_count": 12, + "line_length": 4, + "animation_speed": 0.2, + "shift": [ + 2.71875, + 0.96875 + ] + }, + "arm_03_front_animation": { + "filename": "entity:13-arm-front-red-lights-front/arm-03-front", + "priority": "medium", + "width": 54, + "height": 70, + "frame_count": 12, + "line_length": 4, + "animation_speed": 0.2, + "shift": [ + -1.34375, + 2.4375 + ] + }, + "base_front_sprite": { + "filename": "entity:14-silo-front/14-silo-front", + "width": 352, + "height": 96, + "shift": [ + 0, + 3.5 + ] + }, + "silo_fade_out_start_distance": 8, + "silo_fade_out_end_distance": 15, + "alarm_trigger": [ + { + "type": "play-sound", + "sound": [ + { + "filename": "entity:sound/silo-alarm", + "volume": 1.5 + } + ] + } + ], + "clamps_on_trigger": [ + { + "type": "play-sound", + "sound": [ + { + "filename": "entity:sound/silo-clamps-on", + "volume": 1.5 + } + ] + } + ], + "clamps_off_trigger": [ + { + "type": "play-sound", + "sound": [ + { + "filename": "entity:sound/silo-clamps-off", + "volume": 1.5 + } + ] + } + ], + "doors_trigger": [ + { + "type": "play-sound", + "sound": [ + { + "filename": "entity:sound/silo-doors", + "volume": 1.5 + } + ] + } + ], + "raise_rocket_trigger": [ + { + "type": "play-sound", + "sound": [ + { + "filename": "entity:sound/silo-raise-rocket", + "volume": 1.5 + } + ] + } + ], + "size": { + "width": 9, + "height": 10 + } + }, + "roboport": { + "type": "roboport", + "name": "roboport", + "icon": "entity:icons/roboport", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "roboport" + }, + "max_health": 500, + "corpse": "big-remnants", + "collision_box": [ + [ + -1.7, + -1.7 + ], + [ + 1.7, + 1.7 + ] + ], + "selection_box": [ + [ + -2, + -2 + ], + [ + 2, + 2 + ] + ], + "resistances": [ + { + "type": "fire", + "percent": 60 + }, + { + "type": "impact", + "percent": 30 + } + ], + "dying_explosion": "medium-explosion", + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "input_flow_limit": "5MW", + "buffer_capacity": "100MJ" + }, + "recharge_minimum": "40MJ", + "energy_usage": "50kW", + "charging_energy": "1000kW", + "logistics_radius": 25, + "construction_radius": 55, + "charge_approach_distance": 5, + "robot_slots_count": 7, + "material_slots_count": 7, + "stationing_offset": [ + 0, + 0 + ], + "charging_offsets": [ + [ + -1.5, + -0.5 + ], + [ + 1.5, + -0.5 + ], + [ + 1.5, + 1.5 + ], + [ + -1.5, + 1.5 + ] + ], + "base": { + "layers": [ + { + "filename": "entity:roboport/roboport-base", + "width": 143, + "height": 135, + "shift": [ + 0.5, + 0.25 + ], + "hr_version": { + "filename": "entity:roboport/hr-roboport-base", + "width": 228, + "height": 277, + "shift": [ + 0.0625, + 0.2421875 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:roboport/roboport-shadow", + "width": 147, + "height": 102, + "draw_as_shadow": true, + "shift": [ + 0.890625, + 0.6015625 + ], + "hr_version": { + "filename": "entity:roboport/hr-roboport-shadow", + "width": 294, + "height": 201, + "draw_as_shadow": true, + "shift": [ + 0.890625, + 0.6015625 + ], + "scale": 0.5 + } + } + ] + }, + "base_patch": { + "filename": "entity:roboport/roboport-base-patch", + "priority": "medium", + "width": 69, + "height": 50, + "frame_count": 1, + "shift": [ + 0.03125, + 0.203125 + ], + "hr_version": { + "filename": "entity:roboport/hr-roboport-base-patch", + "priority": "medium", + "width": 138, + "height": 100, + "frame_count": 1, + "shift": [ + 0.046875, + 0.15625 + ], + "scale": 0.5 + } + }, + "base_animation": { + "filename": "entity:roboport/roboport-base-animation", + "priority": "medium", + "width": 42, + "height": 31, + "frame_count": 8, + "animation_speed": 0.5, + "shift": [ + -0.5315, + -1.9375 + ], + "hr_version": { + "filename": "entity:roboport/hr-roboport-base-animation", + "priority": "medium", + "width": 83, + "height": 59, + "frame_count": 8, + "animation_speed": 0.5, + "shift": [ + -0.5546875, + -1.9140625 + ], + "scale": 0.5 + } + }, + "door_animation_up": { + "filename": "entity:roboport/roboport-door-up", + "priority": "medium", + "width": 52, + "height": 20, + "frame_count": 16, + "shift": [ + 0.015625, + -0.890625 + ], + "hr_version": { + "filename": "entity:roboport/hr-roboport-door-up", + "priority": "medium", + "width": 97, + "height": 38, + "frame_count": 16, + "shift": [ + -0.0078125, + -0.921875 + ], + "scale": 0.5 + } + }, + "door_animation_down": { + "filename": "entity:roboport/roboport-door-down", + "priority": "medium", + "width": 52, + "height": 22, + "frame_count": 16, + "shift": [ + 0.015625, + -0.234375 + ], + "hr_version": { + "filename": "entity:roboport/hr-roboport-door-down", + "priority": "medium", + "width": 97, + "height": 41, + "frame_count": 16, + "shift": [ + -0.0078125, + -0.3046875 + ], + "scale": 0.5 + } + }, + "recharging_animation": { + "filename": "entity:roboport/roboport-recharging", + "priority": "high", + "width": 37, + "height": 35, + "frame_count": 16, + "scale": 1.5, + "animation_speed": 0.5 + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/roboport-working", + "volume": 0.6 + }, + "max_sounds_per_type": 3, + "audible_distance_modifier": 0.5, + "probability": 0.0033333333333333335 + }, + "recharging_light": { + "intensity": 0.4, + "size": 5, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "request_to_open_door_timeout": 15, + "spawn_and_station_height": -0.1, + "draw_logistic_radius_visualization": true, + "draw_construction_radius_visualization": true, + "open_door_trigger_effect": [ + { + "type": "play-sound", + "sound": { + "filename": "entity:sound/roboport-door", + "volume": 1.2 + } + } + ], + "close_door_trigger_effect": [ + { + "type": "play-sound", + "sound": { + "filename": "entity:sound/roboport-door", + "volume": 0.75 + } + } + ], + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.875, + 1.328125 + ], + "green": [ + 0.9375, + 1.5625 + ] + }, + "shadow": { + "red": [ + 1.296875, + 2.09375 + ], + "green": [ + 1.078125, + 2.140625 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.578125, + 1.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.578125, + 1.28125 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.734375, + 1.40625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.578125, + 1.28125 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.578125, + 1.28125 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.578125, + 1.28125 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.578125, + 1.28125 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.609375, + 1.578125 + ], + "red_green_led_light_offset": [ + 0.59375, + 1.46875 + ] + }, + "circuit_wire_max_distance": 9, + "default_available_logistic_output_signal": { + "type": "virtual", + "name": "signal-X" + }, + "default_total_logistic_output_signal": { + "type": "virtual", + "name": "signal-Y" + }, + "default_available_construction_output_signal": { + "type": "virtual", + "name": "signal-Z" + }, + "default_total_construction_output_signal": { + "type": "virtual", + "name": "signal-T" + }, + "size": { + "width": 4, + "height": 4 + } + }, + "storage-tank": { + "type": "storage-tank", + "name": "storage-tank", + "icon": "entity:icons/storage-tank", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "mining_time": 1.5, + "result": "storage-tank" + }, + "max_health": 500, + "corpse": "medium-remnants", + "collision_box": [ + [ + -1.3, + -1.3 + ], + [ + 1.3, + 1.3 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "fluid_box": { + "base_area": 250, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "pipe_connections": [ + { + "position": [ + -1, + -2 + ] + }, + { + "position": [ + 2, + 1 + ] + }, + { + "position": [ + 1, + 2 + ] + }, + { + "position": [ + -2, + -1 + ] + } + ] + }, + "two_direction_only": true, + "window_bounding_box": [ + [ + -0.125, + 0.6875 + ], + [ + 0.1875, + 1.1875 + ] + ], + "pictures": { + "picture": { + "sheets": [ + { + "filename": "entity:storage-tank/storage-tank", + "priority": "extra-high", + "frames": 2, + "width": 110, + "height": 108, + "shift": [ + 0, + 0.125 + ], + "hr_version": { + "filename": "entity:storage-tank/hr-storage-tank", + "priority": "extra-high", + "frames": 2, + "width": 219, + "height": 215, + "shift": [ + -0.0078125, + 0.1171875 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:storage-tank/storage-tank-shadow", + "priority": "extra-high", + "frames": 2, + "width": 146, + "height": 77, + "shift": [ + 0.9375, + 0.703125 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:storage-tank/hr-storage-tank-shadow", + "priority": "extra-high", + "frames": 2, + "width": 291, + "height": 153, + "shift": [ + 0.9296875, + 0.6953125 + ], + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "fluid_background": { + "filename": "entity:storage-tank/fluid-background", + "priority": "extra-high", + "width": 32, + "height": 15 + }, + "window_background": { + "filename": "entity:storage-tank/window-background", + "priority": "extra-high", + "width": 17, + "height": 24, + "hr_version": { + "filename": "entity:storage-tank/hr-window-background", + "priority": "extra-high", + "width": 34, + "height": 48, + "scale": 0.5, + "shift": [ + 0, + 1 + ] + }, + "shift": [ + 0, + 1 + ] + }, + "flow_sprite": { + "filename": "entity:pipe/fluid-flow-low-temperature", + "priority": "extra-high", + "width": 160, + "height": 20 + }, + "gas_flow": { + "filename": "entity:pipe/steam", + "priority": "extra-high", + "line_length": 10, + "width": 24, + "height": 15, + "frame_count": 60, + "axially_symmetrical": false, + "direction_count": 1, + "animation_speed": 0.25, + "hr_version": { + "filename": "entity:pipe/hr-steam", + "priority": "extra-high", + "line_length": 10, + "width": 48, + "height": 30, + "frame_count": 60, + "axially_symmetrical": false, + "animation_speed": 0.25, + "direction_count": 1 + } + } + }, + "flow_length_in_ticks": 360, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/storage-tank", + "volume": 0.8 + }, + "apparent_volume": 1.5, + "max_sounds_per_type": 3 + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + -0.90625, + 0.8125 + ], + "green": [ + -0.984375, + 1 + ] + }, + "shadow": { + "red": [ + -0.59375, + 1.078125 + ], + "green": [ + -0.828125, + 1.109375 + ] + } + }, + { + "wire": { + "red": [ + 1.34375, + 0.46875 + ], + "green": [ + 1.40625, + 0.6875 + ] + }, + "shadow": { + "red": [ + 1.65625, + 0.703125 + ], + "green": [ + 1.5, + 0.71875 + ] + } + }, + { + "wire": { + "red": [ + -0.90625, + 0.8125 + ], + "green": [ + -0.984375, + 1 + ] + }, + "shadow": { + "red": [ + -0.59375, + 1.078125 + ], + "green": [ + -0.828125, + 1.109375 + ] + } + }, + { + "wire": { + "red": [ + 1.34375, + 0.46875 + ], + "green": [ + 1.40625, + 0.6875 + ] + }, + "shadow": { + "red": [ + 1.65625, + 0.703125 + ], + "green": [ + 1.5, + 0.71875 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 52, + "y": 150, + "shift": [ + -1.046875, + 0.640625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 62, + "y": 174, + "shift": [ + -1.046875, + 0.609375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 70, + "y": 168, + "shift": [ + -0.890625, + 0.734375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 60, + "y": 180, + "shift": [ + -1.046875, + 0.609375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 46, + "y": 132, + "shift": [ + -1.046875, + 0.609375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 138, + "shift": [ + -1.046875, + 0.609375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 138, + "shift": [ + -1.046875, + 0.609375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -1.15625, + 0.875 + ], + "red_green_led_light_offset": [ + -1.15625, + 0.765625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 156, + "y": 150, + "shift": [ + 1.046875, + 0.609375 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 186, + "y": 174, + "shift": [ + 1.046875, + 0.578125 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 210, + "y": 168, + "shift": [ + 1.203125, + 0.703125 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 180, + "y": 180, + "shift": [ + 1.046875, + 0.578125 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 138, + "y": 132, + "shift": [ + 1.046875, + 0.578125 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 144, + "y": 138, + "shift": [ + 1.046875, + 0.578125 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 144, + "y": 138, + "shift": [ + 1.046875, + 0.578125 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 1.203125, + 0.828125 + ], + "red_green_led_light_offset": [ + 1.203125, + 0.71875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 52, + "y": 150, + "shift": [ + -1.046875, + 0.640625 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 62, + "y": 174, + "shift": [ + -1.046875, + 0.609375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 70, + "y": 168, + "shift": [ + -0.890625, + 0.734375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 60, + "y": 180, + "shift": [ + -1.046875, + 0.609375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 46, + "y": 132, + "shift": [ + -1.046875, + 0.609375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 138, + "shift": [ + -1.046875, + 0.609375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 48, + "y": 138, + "shift": [ + -1.046875, + 0.609375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -1.15625, + 0.875 + ], + "red_green_led_light_offset": [ + -1.15625, + 0.765625 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 156, + "y": 150, + "shift": [ + 1.046875, + 0.609375 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 186, + "y": 174, + "shift": [ + 1.046875, + 0.578125 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 210, + "y": 168, + "shift": [ + 1.203125, + 0.703125 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 180, + "y": 180, + "shift": [ + 1.046875, + 0.578125 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 138, + "y": 132, + "shift": [ + 1.046875, + 0.578125 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 144, + "y": 138, + "shift": [ + 1.046875, + 0.578125 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 144, + "y": 138, + "shift": [ + 1.046875, + 0.578125 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 1.203125, + 0.828125 + ], + "red_green_led_light_offset": [ + 1.203125, + 0.71875 + ] + } + ], + "circuit_wire_max_distance": 9, + "size": { + "width": 3, + "height": 3 + }, + "possible_rotations": [ + 0, + 2 + ] + }, + "pump": { + "type": "pump", + "name": "pump", + "icon": "entity:icons/pump", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "pump" + }, + "max_health": 180, + "fast_replaceable_group": "pipe", + "corpse": "small-remnants", + "collision_box": [ + [ + -0.29, + -0.79 + ], + [ + 0.29, + 0.79 + ] + ], + "selection_box": [ + [ + -0.5, + -1 + ], + [ + 0.5, + 1 + ] + ], + "resistances": [ + { + "type": "fire", + "percent": 80 + }, + { + "type": "impact", + "percent": 30 + } + ], + "fluid_box": { + "base_area": 1, + "height": 2, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "pipe_connections": [ + { + "position": [ + 0, + -1.5 + ], + "type": "output" + }, + { + "position": [ + 0, + 1.5 + ], + "type": "input" + } + ] + }, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input", + "emissions": 0.004 + }, + "energy_usage": "30kW", + "pumping_speed": 200, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "animations": { + "0": { + "filename": "entity:pump/pump-north", + "width": 53, + "height": 79, + "line_length": 8, + "frame_count": 32, + "animation_speed": 0.5, + "shift": [ + 0.25, + 0.234375 + ], + "hr_version": { + "filename": "entity:pump/hr-pump-north", + "width": 103, + "height": 164, + "scale": 0.5, + "line_length": 8, + "frame_count": 32, + "animation_speed": 0.5, + "shift": [ + 0.25, + 0.109375 + ] + } + }, + "2": { + "filename": "entity:pump/pump-east", + "width": 66, + "height": 60, + "line_length": 8, + "frame_count": 32, + "animation_speed": 0.5, + "shift": [ + 0, + 0.125 + ], + "hr_version": { + "filename": "entity:pump/hr-pump-east", + "width": 130, + "height": 109, + "scale": 0.5, + "line_length": 8, + "frame_count": 32, + "animation_speed": 0.5, + "shift": [ + -0.015625, + 0.0546875 + ] + } + }, + "4": { + "filename": "entity:pump/pump-south", + "width": 62, + "height": 87, + "line_length": 8, + "frame_count": 32, + "animation_speed": 0.5, + "shift": [ + 0.421875, + 0.015625 + ], + "hr_version": { + "filename": "entity:pump/hr-pump-south", + "width": 114, + "height": 160, + "scale": 0.5, + "line_length": 8, + "frame_count": 32, + "animation_speed": 0.5, + "shift": [ + 0.390625, + -0.25 + ] + } + }, + "6": { + "filename": "entity:pump/pump-west", + "width": 69, + "height": 51, + "line_length": 8, + "frame_count": 32, + "animation_speed": 0.5, + "shift": [ + 0.015625, + -0.015625 + ], + "hr_version": { + "filename": "entity:pump/hr-pump-west", + "width": 131, + "height": 111, + "scale": 0.5, + "line_length": 8, + "frame_count": 32, + "animation_speed": 0.5, + "shift": [ + -0.0078125, + 0.0390625 + ] + } + } + }, + "fluid_wagon_connector_frame_count": 35, + "fluid_wagon_connector_graphics": { + "load_animations": { + "0": [ + { + "standup_base": { + "filename": "entity:connector/H-B-123456-load-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-load-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-B-1-load-standup-shadow", + "width": 64, + "height": 80, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.5625, + -1.625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-1-load-standup-shadow", + "width": 126, + "height": 158, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.5625, + -1.625 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-B-1-load-connect-shadow", + "width": 65, + "height": 90, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.828125, + -2.0625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-1-load-connect-shadow", + "width": 129, + "height": 181, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.8359375, + -2.0703125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-B-123456-load-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-load-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-B-2-load-standup-shadow", + "width": 67, + "height": 90, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.515625, + -1.5 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-2-load-standup-shadow", + "width": 133, + "height": 180, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.5234375, + -1.484375 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-B-2-load-connect-shadow", + "width": 72, + "height": 90, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.5, + -2.03125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-2-load-connect-shadow", + "width": 143, + "height": 178, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.5078125, + -2.03125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-B-123456-load-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-load-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-B-3-load-standup-shadow", + "width": 67, + "height": 90, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.515625, + -1.5 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-3-load-standup-shadow", + "width": 133, + "height": 180, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.5234375, + -1.484375 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-B-3-load-connect-shadow", + "width": 52, + "height": 91, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.625, + -2.078125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-3-load-connect-shadow", + "width": 103, + "height": 181, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.6328125, + -2.0703125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-B-123456-load-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-load-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-B-123456-load-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-load-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-B-5-load-standup-shadow", + "width": 67, + "height": 90, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.515625, + -1.5 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-5-load-standup-shadow", + "width": 133, + "height": 181, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.5234375, + -1.4921875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-B-5-load-connect-shadow", + "width": 52, + "height": 89, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.625, + -2.109375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-5-load-connect-shadow", + "width": 103, + "height": 177, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.6328125, + -2.1015625 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-B-123456-load-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-load-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-B-6-load-standup-shadow", + "width": 67, + "height": 91, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.515625, + -1.515625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-6-load-standup-shadow", + "width": 133, + "height": 182, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.5234375, + -1.5 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-B-6-load-connect-shadow", + "width": 72, + "height": 90, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.5, + -2.03125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-6-load-connect-shadow", + "width": 143, + "height": 178, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.5078125, + -2.03125 + ] + } + } + } + ], + "2": [ + { + "standup_base": { + "filename": "entity:connector/V-L-135-load-standup-base", + "width": 55, + "height": 63, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.515625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-135-load-standup-base", + "width": 110, + "height": 127, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.5078125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-L-2-load-standup-base", + "width": 55, + "height": 73, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.765625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-2-load-standup-base", + "width": 110, + "height": 148, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.765625 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-L-135-load-standup-base", + "width": 55, + "height": 63, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.515625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-135-load-standup-base", + "width": 110, + "height": 127, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.5078125 + ] + } + } + }, + null, + { + "standup_base": { + "filename": "entity:connector/V-L-135-load-standup-base", + "width": 55, + "height": 63, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.515625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-135-load-standup-base", + "width": 110, + "height": 127, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.5078125 + ] + } + } + }, + null + ], + "4": [ + null, + null, + null, + null, + null, + null + ], + "6": [ + { + "standup_base": { + "filename": "entity:connector/V-R-135-load-standup-base", + "width": 55, + "height": 63, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-135-load-standup-base", + "width": 110, + "height": 126, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-R-1-load-standup-base-shadow", + "width": 79, + "height": 69, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.265625, + 0.265625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-1-load-standup-base-shadow", + "width": 157, + "height": 136, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.2734375, + 0.265625 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-R-246-load-standup-base", + "width": 55, + "height": 74, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.6875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-246-load-standup-base", + "width": 110, + "height": 148, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.671875 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-R-2-load-standup-shadow", + "width": 78, + "height": 81, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.21875, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-2-load-standup-shadow", + "width": 155, + "height": 162, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.2109375, + -0.421875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-R-2-load-connect-shadow", + "width": 85, + "height": 80, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.859375, + -0.3125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-2-load-connect-shadow", + "width": 169, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.8671875, + -0.3125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-R-135-load-standup-base", + "width": 55, + "height": 63, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-135-load-standup-base", + "width": 110, + "height": 126, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-R-3-load-connect-shadow", + "width": 86, + "height": 88, + "line_length": 1, + "frame_count": 17, + "shift": [ + -0.875, + 0.40625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-3-load-connect-shadow", + "width": 171, + "height": 175, + "scale": 0.5, + "line_length": 1, + "frame_count": 17, + "shift": [ + -0.8671875, + 0.3984375 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-R-246-load-standup-base", + "width": 55, + "height": 74, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.6875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-246-load-standup-base", + "width": 110, + "height": 148, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.671875 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-R-4-load-standup-shadow", + "width": 85, + "height": 81, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.203125, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-4-load-standup-shadow", + "width": 168, + "height": 162, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.203125, + -0.421875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-R-4-load-connect-shadow", + "width": 85, + "height": 72, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.859375, + -0.4375 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-4-load-connect-shadow", + "width": 168, + "height": 144, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.859375, + -0.4375 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-R-135-load-standup-base", + "width": 55, + "height": 63, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-135-load-standup-base", + "width": 110, + "height": 126, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-R-5-load-standup-shadow", + "width": 85, + "height": 79, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.203125, + 0.109375 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-5-load-standup-shadow", + "width": 168, + "height": 157, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.203125, + 0.1171875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-R-5-load-connect-shadow", + "width": 86, + "height": 80, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.84375, + 0.28125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-5-load-connect-shadow", + "width": 172, + "height": 158, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.859375, + 0.28125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-R-246-load-standup-base", + "width": 55, + "height": 74, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.6875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-246-load-standup-base", + "width": 110, + "height": 148, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.671875 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-R-6-load-standup-shadow", + "width": 85, + "height": 81, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.203125, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-6-load-standup-shadow", + "width": 170, + "height": 162, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.21875, + -0.421875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-R-6-load-connect-shadow", + "width": 88, + "height": 66, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.84375, + -0.53125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-6-load-connect-shadow", + "width": 174, + "height": 131, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.84375, + -0.5234375 + ] + } + } + } + ] + }, + "unload_animations": { + "0": [ + { + "standup_base": { + "filename": "entity:connector/H-T-123456-unload-standup-base", + "width": 46, + "height": 54, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + 0.5 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-base", + "width": 91, + "height": 107, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + 0.4921875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-T-123456-unload-standup-top", + "width": 22, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.015625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-top", + "width": 46, + "height": 109, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.0234375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-T-1-unload-standup-shadow", + "width": 39, + "height": 31, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.078125, + 0.578125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-1-unload-standup-shadow", + "width": 76, + "height": 61, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.078125, + 0.5859375 + ] + } + }, + "connector": { + "filename": "entity:connector/H-T-135-unload-connect", + "width": 45, + "height": 50, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.109375, + 0.03125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-135-unload-connect", + "width": 89, + "height": 99, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.1171875, + 0.0234375 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-T-1-unload-connect-shadow", + "width": 50, + "height": 27, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.3125, + 0.515625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-1-unload-connect-shadow", + "width": 101, + "height": 53, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.3046875, + 0.5234375 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-T-123456-unload-standup-base", + "width": 46, + "height": 54, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + 0.5 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-base", + "width": 91, + "height": 107, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + 0.4921875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-T-123456-unload-standup-top", + "width": 22, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.015625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-top", + "width": 46, + "height": 109, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.0234375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-T-2-unload-standup-shadow", + "width": 43, + "height": 31, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.140625, + 0.578125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-2-unload-standup-shadow", + "width": 86, + "height": 60, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.140625, + 0.578125 + ] + } + }, + "connector": { + "filename": "entity:connector/H-T-246-unload-connect", + "width": 38, + "height": 49, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.03125, + 0.015625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-246-unload-connect", + "width": 76, + "height": 99, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.046875, + 0.0234375 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-T-2-unload-connect-shadow", + "width": 49, + "height": 34, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.171875, + 0.625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-2-unload-connect-shadow", + "width": 97, + "height": 66, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.1640625, + 0.625 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-T-123456-unload-standup-base", + "width": 46, + "height": 54, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + 0.5 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-base", + "width": 91, + "height": 107, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + 0.4921875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-T-123456-unload-standup-top", + "width": 22, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.015625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-top", + "width": 46, + "height": 109, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.0234375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-T-3-unload-standup-shadow", + "width": 39, + "height": 21, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.078125, + 0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-3-unload-standup-shadow", + "width": 78, + "height": 40, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.078125, + 0.421875 + ] + } + }, + "connector": { + "filename": "entity:connector/H-T-135-unload-connect", + "width": 45, + "height": 50, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.109375, + 0.03125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-135-unload-connect", + "width": 89, + "height": 99, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.1171875, + 0.0234375 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-T-3-unload-connect-shadow", + "width": 51, + "height": 27, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.296875, + 0.515625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-3-unload-connect-shadow", + "width": 102, + "height": 54, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.296875, + 0.53125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-T-123456-unload-standup-base", + "width": 46, + "height": 54, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + 0.5 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-base", + "width": 91, + "height": 107, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + 0.4921875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-T-123456-unload-standup-top", + "width": 22, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.015625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-top", + "width": 46, + "height": 109, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.0234375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-T-4-unload-standup-shadow", + "width": 43, + "height": 31, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.140625, + 0.578125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-4-unload-standup-shadow", + "width": 86, + "height": 61, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.140625, + 0.5859375 + ] + } + }, + "connector": { + "filename": "entity:connector/H-T-246-unload-connect", + "width": 38, + "height": 49, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.03125, + 0.015625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-246-unload-connect", + "width": 76, + "height": 99, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.046875, + 0.0234375 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-T-4-unload-connect-shadow", + "width": 49, + "height": 41, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.171875, + 0.734375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-4-unload-connect-shadow", + "width": 97, + "height": 80, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.1640625, + 0.734375 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-T-123456-unload-standup-base", + "width": 46, + "height": 54, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + 0.5 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-base", + "width": 91, + "height": 107, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + 0.4921875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-T-123456-unload-standup-top", + "width": 22, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.015625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-top", + "width": 46, + "height": 109, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.0234375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-T-5-unload-standup-shadow", + "width": 39, + "height": 21, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.078125, + 0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-5-unload-standup-shadow", + "width": 78, + "height": 40, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.078125, + 0.421875 + ] + } + }, + "connector": { + "filename": "entity:connector/H-T-135-unload-connect", + "width": 45, + "height": 50, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.109375, + 0.03125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-135-unload-connect", + "width": 89, + "height": 99, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.1171875, + 0.0234375 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-T-5-unload-connect-shadow", + "width": 50, + "height": 27, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.3125, + 0.515625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-5-unload-connect-shadow", + "width": 99, + "height": 54, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.3203125, + 0.53125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-T-123456-unload-standup-base", + "width": 46, + "height": 54, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + 0.5 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-base", + "width": 91, + "height": 107, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + 0.4921875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-T-123456-unload-standup-top", + "width": 22, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.015625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-123456-unload-standup-top", + "width": 46, + "height": 109, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + 0.0234375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-T-6-unload-standup-shadow", + "width": 67, + "height": 58, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.515625, + 0 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-6-unload-standup-shadow", + "width": 134, + "height": 115, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.515625, + 0.0078125 + ] + } + }, + "connector": { + "filename": "entity:connector/H-T-246-unload-connect", + "width": 38, + "height": 49, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.03125, + 0.015625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-246-unload-connect", + "width": 76, + "height": 99, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.046875, + 0.0234375 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-T-6-unload-connect-shadow", + "width": 41, + "height": 34, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.046875, + -0.375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-T-6-unload-connect-shadow", + "width": 81, + "height": 66, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.0390625, + -0.375 + ] + } + } + } + ], + "2": [ + { + "standup_base": { + "filename": "entity:connector/V-R-135-unload-standup-base", + "width": 55, + "height": 63, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-135-unload-standup-base", + "width": 110, + "height": 126, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/V-R-135-unload-standup-top", + "width": 60, + "height": 35, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.59375, + -0.890625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-135-unload-standup-top", + "width": 121, + "height": 70, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.5859375, + -0.90625 + ] + } + }, + "connector": { + "filename": "entity:connector/V-R-1-unload-connect", + "width": 53, + "height": 56, + "line_length": 1, + "frame_count": 16, + "shift": [ + -1.359375, + -0.65625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-1-unload-connect", + "width": 107, + "height": 115, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -1.3515625, + -0.6484375 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-R-1-unload-connect-shadow", + "width": 84, + "height": 77, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.84375, + 0.546875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-1-unload-connect-shadow", + "width": 168, + "height": 153, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.84375, + 0.5546875 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-R-246-unload-standup-base", + "width": 55, + "height": 74, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.6875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-246-unload-standup-base", + "width": 110, + "height": 148, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.671875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/V-R-246-unload-standup-top", + "width": 60, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.59375, + -1.203125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-246-unload-standup-top", + "width": 121, + "height": 110, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.5859375, + -1.21875 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-R-2-unload-standup-shadow", + "width": 82, + "height": 81, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.25, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-2-unload-standup-shadow", + "width": 163, + "height": 162, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.2421875, + -0.421875 + ] + } + }, + "connector": { + "filename": "entity:connector/V-R-2-unload-connect", + "width": 54, + "height": 47, + "line_length": 1, + "frame_count": 16, + "shift": [ + -1.34375, + -1.484375 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-2-unload-connect", + "width": 107, + "height": 96, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -1.3359375, + -1.46875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-R-2-unload-connect-shadow", + "width": 85, + "height": 80, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.859375, + -0.3125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-2-unload-connect-shadow", + "width": 169, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.8671875, + -0.3125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-R-135-unload-standup-base", + "width": 55, + "height": 63, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-135-unload-standup-base", + "width": 110, + "height": 126, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/V-R-135-unload-standup-top", + "width": 60, + "height": 35, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.59375, + -0.890625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-135-unload-standup-top", + "width": 121, + "height": 70, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.5859375, + -0.90625 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-R-3-unload-standup-shadow", + "width": 80, + "height": 79, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.21875, + 0.109375 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-3-unload-standup-shadow", + "width": 160, + "height": 157, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.21875, + 0.1171875 + ] + } + }, + "connector": { + "filename": "entity:connector/V-R-3-unload-connect", + "width": 53, + "height": 50, + "line_length": 1, + "frame_count": 17, + "shift": [ + -1.359375, + -0.78125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-3-unload-connect", + "width": 106, + "height": 99, + "scale": 0.5, + "line_length": 1, + "frame_count": 17, + "shift": [ + -1.375, + -0.7734375 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-R-3-unload-connect-shadow", + "width": 86, + "height": 88, + "line_length": 1, + "frame_count": 17, + "shift": [ + -0.875, + 0.40625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-3-unload-connect-shadow", + "width": 171, + "height": 175, + "scale": 0.5, + "line_length": 1, + "frame_count": 17, + "shift": [ + -0.8671875, + 0.3984375 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-R-246-unload-standup-base", + "width": 55, + "height": 74, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.6875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-246-unload-standup-base", + "width": 110, + "height": 148, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.671875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/V-R-246-unload-standup-top", + "width": 60, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.59375, + -1.203125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-246-unload-standup-top", + "width": 121, + "height": 110, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.5859375, + -1.21875 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-R-4-unload-standup-shadow", + "width": 82, + "height": 81, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.25, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-4-unload-standup-shadow", + "width": 163, + "height": 162, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.2421875, + -0.421875 + ] + } + }, + "connector": { + "filename": "entity:connector/V-R-4-unload-connect", + "width": 53, + "height": 40, + "line_length": 1, + "frame_count": 16, + "shift": [ + -1.359375, + -1.5625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-4-unload-connect", + "width": 105, + "height": 80, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -1.3671875, + -1.5625 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-R-4-unload-connect-shadow", + "width": 85, + "height": 72, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.859375, + -0.4375 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-4-unload-connect-shadow", + "width": 168, + "height": 144, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.859375, + -0.4375 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-R-135-unload-standup-base", + "width": 55, + "height": 63, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-135-unload-standup-base", + "width": 110, + "height": 126, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.421875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/V-R-135-unload-standup-top", + "width": 60, + "height": 35, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.59375, + -0.890625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-135-unload-standup-top", + "width": 121, + "height": 70, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.5859375, + -0.90625 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-R-5-unload-standup-shadow", + "width": 82, + "height": 79, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.25, + 0.109375 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-5-unload-standup-shadow", + "width": 163, + "height": 157, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.2421875, + 0.1171875 + ] + } + }, + "connector": { + "filename": "entity:connector/V-R-5-unload-connect", + "width": 54, + "height": 41, + "line_length": 1, + "frame_count": 16, + "shift": [ + -1.375, + -0.859375 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-5-unload-connect", + "width": 106, + "height": 82, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -1.375, + -0.859375 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-R-5-unload-connect-shadow", + "width": 86, + "height": 80, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.84375, + 0.28125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-5-unload-connect-shadow", + "width": 172, + "height": 158, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.859375, + 0.28125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-R-246-unload-standup-base", + "width": 55, + "height": 74, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.6875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-246-unload-standup-base", + "width": 110, + "height": 148, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.734375, + -0.671875 + ] + } + }, + "standup_top": { + "filename": "entity:connector/V-R-246-unload-standup-top", + "width": 60, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.59375, + -1.203125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-246-unload-standup-top", + "width": 121, + "height": 110, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + -0.5859375, + -1.21875 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-R-6-unload-standup-shadow", + "width": 82, + "height": 81, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.25, + -0.421875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-6-unload-standup-shadow", + "width": 165, + "height": 162, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.2578125, + -0.421875 + ] + } + }, + "connector": { + "filename": "entity:connector/V-R-6-unload-connect", + "width": 54, + "height": 32, + "line_length": 1, + "frame_count": 16, + "shift": [ + -1.375, + -1.6875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-6-unload-connect", + "width": 106, + "height": 63, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -1.375, + -1.6796875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-R-6-unload-connect-shadow", + "width": 88, + "height": 67, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.84375, + -0.515625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-R-6-unload-connect-shadow", + "width": 174, + "height": 133, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.84375, + -0.5078125 + ] + } + } + } + ], + "4": [ + { + "standup_base": { + "filename": "entity:connector/H-B-123456-unload-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-B-123456-unload-standup-top", + "width": 22, + "height": 73, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-top", + "width": 46, + "height": 146, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-B-1-unload-standup-shadow", + "width": 67, + "height": 86, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.515625, + -1.5625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-1-unload-standup-shadow", + "width": 133, + "height": 172, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.5234375, + -1.546875 + ] + } + }, + "connector": { + "filename": "entity:connector/H-B-135-unload-connect", + "width": 39, + "height": 50, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.140625, + -3.21875 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-135-unload-connect", + "width": 78, + "height": 100, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.140625, + -3.21875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-B-1-unload-connect-shadow", + "width": 41, + "height": 59, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.453125, + -2.546875 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-1-unload-connect-shadow", + "width": 81, + "height": 118, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.4609375, + -2.5625 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-B-123456-unload-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-B-123456-unload-standup-top", + "width": 22, + "height": 73, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-top", + "width": 46, + "height": 146, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-B-2-unload-standup-shadow", + "width": 63, + "height": 86, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.578125, + -1.5625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-2-unload-standup-shadow", + "width": 125, + "height": 173, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.5859375, + -1.5546875 + ] + } + }, + "connector": { + "filename": "entity:connector/H-B-246-unload-connect", + "width": 37, + "height": 47, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.109375, + -3.234375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-246-unload-connect", + "width": 74, + "height": 95, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.109375, + -3.2265625 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-B-2-unload-connect-shadow", + "width": 72, + "height": 90, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.5, + -2.03125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-2-unload-connect-shadow", + "width": 143, + "height": 178, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.5078125, + -2.03125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-B-123456-unload-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-B-123456-unload-standup-top", + "width": 22, + "height": 73, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-top", + "width": 46, + "height": 146, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-B-3-unload-standup-shadow", + "width": 67, + "height": 86, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.515625, + -1.5625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-3-unload-standup-shadow", + "width": 133, + "height": 172, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.5234375, + -1.546875 + ] + } + }, + "connector": { + "filename": "entity:connector/H-B-135-unload-connect", + "width": 39, + "height": 50, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.140625, + -3.21875 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-135-unload-connect", + "width": 78, + "height": 100, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.140625, + -3.21875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-B-3-unload-connect-shadow", + "width": 66, + "height": 89, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.84375, + -2.109375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-3-unload-connect-shadow", + "width": 130, + "height": 177, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.84375, + -2.1015625 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-B-123456-unload-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-B-123456-unload-standup-top", + "width": 22, + "height": 73, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-top", + "width": 46, + "height": 146, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-B-4-unload-standup-shadow", + "width": 67, + "height": 86, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.515625, + -1.5625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-4-unload-standup-shadow", + "width": 133, + "height": 172, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.5234375, + -1.546875 + ] + } + }, + "connector": { + "filename": "entity:connector/H-B-246-unload-connect", + "width": 37, + "height": 47, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.109375, + -3.234375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-246-unload-connect", + "width": 74, + "height": 95, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.109375, + -3.2265625 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-B-4-unload-connect-shadow", + "width": 72, + "height": 90, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.5, + -2.03125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-4-unload-connect-shadow", + "width": 143, + "height": 178, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.5078125, + -2.03125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-B-123456-unload-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-B-123456-unload-standup-top", + "width": 22, + "height": 73, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-top", + "width": 46, + "height": 146, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-B-5-unload-standup-shadow", + "width": 67, + "height": 86, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.515625, + -1.5625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-5-unload-standup-shadow", + "width": 133, + "height": 173, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.5234375, + -1.5546875 + ] + } + }, + "connector": { + "filename": "entity:connector/H-B-135-unload-connect", + "width": 39, + "height": 50, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.140625, + -3.21875 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-135-unload-connect", + "width": 78, + "height": 100, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.140625, + -3.21875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-B-5-unload-connect-shadow", + "width": 52, + "height": 89, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.625, + -2.109375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-5-unload-connect-shadow", + "width": 103, + "height": 177, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.6328125, + -2.1015625 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/H-B-123456-unload-standup-base", + "width": 46, + "height": 80, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0, + -1.9375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-base", + "width": 91, + "height": 160, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + -0.0078125, + -1.9375 + ] + } + }, + "standup_top": { + "filename": "entity:connector/H-B-123456-unload-standup-top", + "width": 22, + "height": 73, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-123456-unload-standup-top", + "width": 46, + "height": 146, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0, + -2.265625 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/H-B-6-unload-standup-shadow", + "width": 67, + "height": 87, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.515625, + -1.578125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-6-unload-standup-shadow", + "width": 134, + "height": 174, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.53125, + -1.5625 + ] + } + }, + "connector": { + "filename": "entity:connector/H-B-246-unload-connect", + "width": 37, + "height": 47, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.109375, + -3.234375 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-246-unload-connect", + "width": 74, + "height": 95, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + -0.109375, + -3.2265625 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/H-B-6-unload-connect-shadow", + "width": 71, + "height": 90, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.515625, + -2.03125 + ], + "hr_version": { + "filename": "entity:connector/hr-H-B-6-unload-connect-shadow", + "width": 144, + "height": 178, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.515625, + -2.03125 + ] + } + } + } + ], + "6": [ + { + "standup_top": { + "filename": "entity:connector/V-L-135-unload-standup-top", + "width": 61, + "height": 35, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.578125, + -0.984375 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-135-unload-standup-top", + "width": 123, + "height": 70, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.5703125, + -0.984375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-L-1-unload-standup-shadow", + "width": 53, + "height": 63, + "line_length": 1, + "frame_count": 20, + "shift": [ + 1.046875, + 0.140625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-1-unload-standup-shadow", + "width": 106, + "height": 126, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 1.046875, + 0.140625 + ] + } + }, + "connector": { + "filename": "entity:connector/V-L-1-unload-connect", + "width": 54, + "height": 60, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.4375, + -0.6875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-1-unload-connect", + "width": 106, + "height": 119, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.4375, + -0.6953125 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-L-1-unload-connect-shadow", + "width": 46, + "height": 46, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.90625, + -0.0625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-1-unload-connect-shadow", + "width": 92, + "height": 90, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.90625, + -0.0625 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-L-246-unload-standup-base", + "width": 55, + "height": 73, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.765625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-246-unload-standup-base", + "width": 110, + "height": 148, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.765625 + ] + } + }, + "standup_top": { + "filename": "entity:connector/V-L-246-unload-standup-top", + "width": 60, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.59375, + -1.296875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-246-unload-standup-top", + "width": 121, + "height": 110, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.5859375, + -1.296875 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-L-2-unload-standup-shadow", + "width": 48, + "height": 81, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.96875, + -0.515625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-2-unload-standup-shadow", + "width": 96, + "height": 163, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.96875, + -0.5234375 + ] + } + }, + "connector": { + "filename": "entity:connector/V-L-2-unload-connect", + "width": 54, + "height": 51, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.40625, + -1.546875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-2-unload-connect", + "width": 107, + "height": 102, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.4140625, + -1.546875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-L-2-unload-connect-shadow", + "width": 44, + "height": 35, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.78125, + -1.265625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-2-unload-connect-shadow", + "width": 88, + "height": 70, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.78125, + -1.265625 + ] + } + } + }, + { + "standup_top": { + "filename": "entity:connector/V-L-135-unload-standup-top", + "width": 61, + "height": 35, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.578125, + -0.984375 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-135-unload-standup-top", + "width": 123, + "height": 70, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.5703125, + -0.984375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-L-3-unload-standup-shadow", + "width": 48, + "height": 71, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.96875, + -0.046875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-3-unload-standup-shadow", + "width": 96, + "height": 142, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 0.96875, + -0.046875 + ] + } + }, + "connector": { + "filename": "entity:connector/V-L-3-unload-connect", + "width": 53, + "height": 53, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.421875, + -0.796875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-3-unload-connect", + "width": 106, + "height": 105, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.40625, + -0.8046875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-L-3-unload-connect-shadow", + "width": 40, + "height": 39, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.78125, + -0.578125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-3-unload-connect-shadow", + "width": 80, + "height": 78, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.765625, + -0.578125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-L-246-unload-standup-base", + "width": 55, + "height": 73, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.765625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-246-unload-standup-base", + "width": 110, + "height": 148, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.765625 + ] + } + }, + "standup_top": { + "filename": "entity:connector/V-L-246-unload-standup-top", + "width": 60, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.59375, + -1.296875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-246-unload-standup-top", + "width": 121, + "height": 110, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.5859375, + -1.296875 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-L-4-unload-standup-shadow", + "width": 48, + "height": 82, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.96875, + -0.5 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-4-unload-standup-shadow", + "width": 95, + "height": 163, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.9609375, + -0.4921875 + ] + } + }, + "connector": { + "filename": "entity:connector/V-L-4-unload-connect", + "width": 55, + "height": 43, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.421875, + -1.609375 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-4-unload-connect", + "width": 109, + "height": 87, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.4296875, + -1.6171875 + ] + } + } + }, + { + "standup_top": { + "filename": "entity:connector/V-L-135-unload-standup-top", + "width": 61, + "height": 35, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.578125, + -0.984375 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-135-unload-standup-top", + "width": 123, + "height": 70, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.5703125, + -0.984375 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-L-5-unload-standup-shadow", + "width": 50, + "height": 79, + "line_length": 1, + "frame_count": 20, + "shift": [ + 1, + 0.015625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-5-unload-standup-shadow", + "width": 100, + "height": 158, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 1, + 0.015625 + ] + } + }, + "connector": { + "filename": "entity:connector/V-L-5-unload-connect", + "width": 54, + "height": 45, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.4375, + -0.921875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-5-unload-connect", + "width": 108, + "height": 90, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.4375, + -0.921875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-L-5-unload-connect-shadow", + "width": 44, + "height": 42, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.6875, + -0.53125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-5-unload-connect-shadow", + "width": 86, + "height": 84, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.6875, + -0.53125 + ] + } + } + }, + { + "standup_base": { + "filename": "entity:connector/V-L-246-unload-standup-base", + "width": 55, + "height": 73, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.765625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-246-unload-standup-base", + "width": 110, + "height": 148, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 0.734375, + -0.765625 + ] + } + }, + "standup_top": { + "filename": "entity:connector/V-L-246-unload-standup-top", + "width": 60, + "height": 55, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.59375, + -1.296875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-246-unload-standup-top", + "width": 121, + "height": 110, + "scale": 0.5, + "line_length": 1, + "frame_count": 19, + "shift": [ + 0.5859375, + -1.296875 + ] + } + }, + "standup_shadow": { + "filename": "entity:connector/V-L-6-unload-standup-shadow", + "width": 72, + "height": 81, + "line_length": 1, + "frame_count": 20, + "shift": [ + 1.34375, + -0.515625 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-6-unload-standup-shadow", + "width": 145, + "height": 161, + "scale": 0.5, + "line_length": 1, + "frame_count": 20, + "shift": [ + 1.3515625, + -0.5078125 + ] + } + }, + "connector": { + "filename": "entity:connector/V-L-6-unload-connect", + "width": 54, + "height": 35, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.40625, + -1.703125 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-6-unload-connect", + "width": 107, + "height": 70, + "scale": 0.5, + "line_length": 1, + "frame_count": 16, + "shift": [ + 1.4140625, + -1.71875 + ] + } + }, + "connector_shadow": { + "filename": "entity:connector/V-L-6-unload-connect-shadow", + "width": 43, + "height": 67, + "line_length": 1, + "frame_count": 18, + "shift": [ + 1.734375, + -0.546875 + ], + "hr_version": { + "filename": "entity:connector/hr-V-L-6-unload-connect-shadow", + "width": 86, + "height": 132, + "scale": 0.5, + "line_length": 1, + "frame_count": 18, + "shift": [ + 1.734375, + -0.546875 + ] + } + } + } + ] + } + }, + "fluid_animation": { + "0": { + "filename": "entity:pump/pump-north-liquid", + "apply_runtime_tint": true, + "width": 20, + "height": 13, + "line_length": 8, + "frame_count": 32, + "shift": [ + -0.015625, + -0.453125 + ], + "hr_version": { + "filename": "entity:pump/hr-pump-north-liquid", + "apply_runtime_tint": true, + "width": 38, + "height": 22, + "scale": 0.5, + "line_length": 8, + "frame_count": 32, + "shift": [ + -0.0078125, + -0.5234375 + ] + } + }, + "2": { + "filename": "entity:pump/pump-east-liquid", + "width": 18, + "height": 24, + "line_length": 8, + "frame_count": 32, + "shift": [ + 0.1875, + -0.25 + ], + "hr_version": { + "filename": "entity:pump/hr-pump-east-liquid", + "width": 35, + "height": 46, + "scale": 0.5, + "line_length": 8, + "frame_count": 32, + "shift": [ + 0.1953125, + -0.265625 + ] + } + }, + "4": { + "filename": "entity:pump/pump-south-liquid", + "width": 26, + "height": 55, + "line_length": 8, + "frame_count": 32, + "shift": [ + 0.109375, + 0.203125 + ], + "hr_version": { + "filename": "entity:pump/hr-pump-south-liquid", + "width": 38, + "height": 45, + "scale": 0.5, + "line_length": 8, + "frame_count": 32, + "shift": [ + 0.015625, + -0.2890625 + ] + } + }, + "6": { + "filename": "entity:pump/pump-west-liquid", + "width": 18, + "height": 24, + "line_length": 8, + "frame_count": 32, + "shift": [ + -0.1875, + -0.28125 + ], + "hr_version": { + "filename": "entity:pump/hr-pump-west-liquid", + "width": 35, + "height": 47, + "scale": 0.5, + "line_length": 8, + "frame_count": 32, + "shift": [ + -0.203125, + -0.296875 + ] + } + } + }, + "glass_pictures": { + "0": { + "filename": "entity:pump/pump-north-glass", + "width": 32, + "height": 64, + "hr_version": { + "filename": "entity:pump/hr-pump-north-glass", + "width": 64, + "height": 128, + "scale": 0.5 + } + }, + "2": { + "filename": "entity:pump/pump-east-glass", + "width": 32, + "height": 32, + "shift": [ + 0, + -0.5 + ], + "hr_version": { + "filename": "entity:pump/hr-pump-east-glass", + "width": 128, + "height": 192, + "scale": 0.5 + } + }, + "4": { + "filename": "entity:pump/pump-south-glass", + "width": 32, + "height": 64, + "hr_version": { + "filename": "entity:pump/hr-pump-south-glass", + "width": 64, + "height": 128, + "scale": 0.5 + } + }, + "6": { + "filename": "entity:pump/pump-west-glass", + "width": 32, + "height": 96, + "shift": [ + 0, + 0.46875 + ], + "hr_version": { + "filename": "entity:pump/hr-pump-west-glass", + "width": 192, + "height": 192, + "scale": 0.5, + "shift": [ + -0.5, + 0 + ] + } + } + }, + "circuit_wire_connection_points": [ + { + "wire": { + "red": [ + 0.71875, + 0.1875 + ], + "green": [ + 0.78125, + 0.421875 + ] + }, + "shadow": { + "red": [ + 0.4375, + -0.0625 + ], + "green": [ + 0.21875, + -0.015625 + ] + } + }, + { + "wire": { + "red": [ + -0.546875, + -0.0625 + ], + "green": [ + -0.625, + 0.109375 + ] + }, + "shadow": { + "red": [ + -0.140625, + 0.65625 + ], + "green": [ + -0.453125, + 0.640625 + ] + } + }, + { + "wire": { + "red": [ + -0.203125, + 0.15625 + ], + "green": [ + -0.140625, + 0.390625 + ] + }, + "shadow": { + "red": [ + 0.21875, + 0.75 + ], + "green": [ + 0, + 0.796875 + ] + } + }, + { + "wire": { + "red": [ + -0.5625, + -0.0625 + ], + "green": [ + -0.640625, + 0.109375 + ] + }, + "shadow": { + "red": [ + 0.25, + 0.453125 + ], + "green": [ + -0.0625, + 0.4375 + ] + } + } + ], + "circuit_connector_sprites": [ + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.421875, + 0.171875 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + -0.140625, + -0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.421875, + 0.140625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.578125, + 0.265625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.421875, + 0.140625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.421875, + 0.140625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.421875, + 0.140625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.421875, + 0.140625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.453125, + 0.4375 + ], + "red_green_led_light_offset": [ + 0.4375, + 0.328125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 150, + "shift": [ + -0.453125, + -0.234375 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 0, + "y": 174, + "shift": [ + -0.453125, + -0.265625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 0, + "y": 168, + "shift": [ + -0.296875, + -0.140625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 0, + "y": 180, + "shift": [ + -0.453125, + -0.265625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 132, + "shift": [ + -0.453125, + -0.265625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 138, + "shift": [ + -0.453125, + -0.265625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 138, + "shift": [ + -0.453125, + -0.265625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.65625, + -0.09375 + ], + "red_green_led_light_offset": [ + -0.640625, + -0.203125 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + -0.5, + 0.140625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + -0.359375, + 0.5 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + -0.5, + 0.109375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + -0.34375, + 0.234375 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + -0.5, + 0.109375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + -0.5, + 0.109375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + -0.5, + 0.109375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + -0.5, + 0.109375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.46875, + 0.40625 + ], + "red_green_led_light_offset": [ + -0.484375, + 0.296875 + ] + }, + { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 0, + "y": 150, + "shift": [ + -0.46875, + -0.234375 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 0, + "y": 174, + "shift": [ + -0.46875, + -0.265625 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 0, + "y": 168, + "shift": [ + -0.3125, + -0.140625 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 0, + "y": 180, + "shift": [ + -0.46875, + -0.265625 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 0, + "y": 132, + "shift": [ + -0.46875, + -0.265625 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 138, + "shift": [ + -0.46875, + -0.265625 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 0, + "y": 138, + "shift": [ + -0.46875, + -0.265625 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + -0.671875, + -0.09375 + ], + "red_green_led_light_offset": [ + -0.65625, + -0.203125 + ] + } + ], + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 2 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "accumulator": { + "type": "accumulator", + "name": "accumulator", + "icon": "entity:icons/accumulator", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "accumulator" + }, + "max_health": 150, + "corpse": "medium-remnants", + "collision_box": [ + [ + -0.9, + -0.9 + ], + [ + 0.9, + 0.9 + ] + ], + "selection_box": [ + [ + -1, + -1 + ], + [ + 1, + 1 + ] + ], + "drawing_box": [ + [ + -1, + -1.5 + ], + [ + 1, + 1 + ] + ], + "energy_source": { + "type": "electric", + "buffer_capacity": "5MJ", + "usage_priority": "terciary", + "input_flow_limit": "300kW", + "output_flow_limit": "300kW" + }, + "picture": { + "filename": "entity:accumulator/accumulator", + "priority": "extra-high", + "width": 124, + "height": 103, + "shift": [ + 0.6875, + -0.203125 + ] + }, + "charge_animation": { + "filename": "entity:accumulator/accumulator-charge-animation", + "width": 138, + "height": 135, + "line_length": 8, + "frame_count": 24, + "shift": [ + 0.46875, + -0.640625 + ], + "animation_speed": 0.5 + }, + "charge_cooldown": 30, + "charge_light": { + "intensity": 0.3, + "size": 7, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "discharge_animation": { + "filename": "entity:accumulator/accumulator-discharge-animation", + "width": 147, + "height": 128, + "line_length": 8, + "frame_count": 24, + "shift": [ + 0.390625, + -0.53125 + ], + "animation_speed": 0.5 + }, + "discharge_cooldown": 60, + "discharge_light": { + "intensity": 0.7, + "size": 7, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "working_sound": { + "sound": { + "filename": "entity:sound/accumulator-working", + "volume": 1 + }, + "idle_sound": { + "filename": "entity:sound/accumulator-idle", + "volume": 0.4 + }, + "max_sounds_per_type": 5 + }, + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.875, + 0.640625 + ], + "green": [ + 0.9375, + 0.875 + ] + }, + "shadow": { + "red": [ + 1.296875, + 1.125 + ], + "green": [ + 1.078125, + 1.171875 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 150, + "shift": [ + 0.578125, + 0.625 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 138, + "shift": [ + 0.71875, + 0.875 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 174, + "shift": [ + 0.578125, + 0.59375 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 168, + "shift": [ + 0.734375, + 0.71875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 180, + "shift": [ + 0.578125, + 0.59375 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 132, + "shift": [ + 0.578125, + 0.59375 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.578125, + 0.59375 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 138, + "shift": [ + 0.578125, + 0.59375 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.609375, + 0.890625 + ], + "red_green_led_light_offset": [ + 0.59375, + 0.78125 + ] + }, + "circuit_wire_max_distance": 9, + "default_output_signal": { + "type": "virtual", + "name": "signal-A" + }, + "size": { + "width": 2, + "height": 2 + } + }, + "beacon": { + "type": "beacon", + "name": "beacon", + "icon": "entity:icons/beacon", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "mining_time": 1, + "result": "beacon" + }, + "max_health": 200, + "corpse": "big-remnants", + "dying_explosion": "medium-explosion", + "collision_box": [ + [ + -1.2, + -1.2 + ], + [ + 1.2, + 1.2 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "drawing_box": [ + [ + -1.5, + -2.2 + ], + [ + 1.5, + 1.3 + ] + ], + "allowed_effects": [ + "consumption", + "speed", + "pollution" + ], + "base_picture": { + "filename": "entity:beacon/beacon-base", + "width": 116, + "height": 93, + "shift": [ + 0.34375, + 0.046875 + ] + }, + "animation": { + "filename": "entity:beacon/beacon-antenna", + "width": 54, + "height": 50, + "line_length": 8, + "frame_count": 32, + "shift": [ + -0.03125, + -1.71875 + ], + "animation_speed": 0.5 + }, + "animation_shadow": { + "filename": "entity:beacon/beacon-antenna-shadow", + "width": 63, + "height": 49, + "line_length": 8, + "frame_count": 32, + "shift": [ + 3.140625, + 0.484375 + ], + "animation_speed": 0.5 + }, + "radius_visualisation_picture": { + "filename": "entity:beacon/beacon-radius-visualization", + "priority": "extra-high-no-scale", + "width": 10, + "height": 10 + }, + "supply_area_distance": 3, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input" + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "energy_usage": "480kW", + "distribution_effectivity": 0.5, + "module_specification": { + "module_slots": 2, + "module_info_icon_shift": [ + 0, + 0.5 + ], + "module_info_multi_row_initial_height_modifier": -0.3 + }, + "size": { + "width": 3, + "height": 3 + } + }, + "arithmetic-combinator": { + "type": "arithmetic-combinator", + "name": "arithmetic-combinator", + "icon": "entity:icons/arithmetic-combinator", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "arithmetic-combinator" + }, + "max_health": 150, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.35, + -0.65 + ], + [ + 0.35, + 0.65 + ] + ], + "selection_box": [ + [ + -0.5, + -1 + ], + [ + 0.5, + 1 + ] + ], + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input" + }, + "active_energy_usage": "1KW", + "working_sound": { + "sound": { + "filename": "entity:sound/combinator", + "volume": 0.35 + }, + "max_sounds_per_type": 2, + "match_speed_to_activity": true + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "activity_led_light": { + "intensity": 0.8, + "size": 1, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "activity_led_light_offsets": [ + [ + 0.234375, + -0.484375 + ], + [ + 0.5, + 0 + ], + [ + -0.265625, + 0.140625 + ], + [ + -0.453125, + -0.359375 + ] + ], + "screen_light": { + "intensity": 0.3, + "size": 0.6, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "screen_light_offsets": [ + [ + 0.015625, + -0.234375 + ], + [ + 0.015625, + -0.296875 + ], + [ + 0.015625, + -0.234375 + ], + [ + 0.015625, + -0.296875 + ] + ], + "input_connection_bounding_box": [ + [ + -0.5, + 0 + ], + [ + 0.5, + 1 + ] + ], + "output_connection_bounding_box": [ + [ + -0.5, + -1 + ], + [ + 0.5, + 0 + ] + ], + "circuit_wire_max_distance": 9, + "sprites": { + "0": { + "layers": [ + { + "filename": "entity:combinator/arithmetic-combinator", + "priority": "high", + "x": 0, + "width": 74, + "height": 64, + "frame_count": 1, + "shift": [ + 0.03125, + 0.25 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-arithmetic-combinator", + "priority": "high", + "x": 0, + "width": 144, + "height": 124, + "frame_count": 1, + "shift": [ + 0.015625, + 0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/arithmetic-combinator-shadow", + "priority": "high", + "x": 0, + "width": 76, + "height": 78, + "frame_count": 1, + "shift": [ + 0.4375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-arithmetic-combinator-shadow", + "priority": "high", + "x": 0, + "width": 148, + "height": 156, + "frame_count": 1, + "shift": [ + 0.421875, + 0.765625 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:combinator/arithmetic-combinator", + "priority": "high", + "x": 74, + "width": 74, + "height": 64, + "frame_count": 1, + "shift": [ + 0.03125, + 0.25 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-arithmetic-combinator", + "priority": "high", + "x": 144, + "width": 144, + "height": 124, + "frame_count": 1, + "shift": [ + 0.015625, + 0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/arithmetic-combinator-shadow", + "priority": "high", + "x": 76, + "width": 76, + "height": 78, + "frame_count": 1, + "shift": [ + 0.4375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-arithmetic-combinator-shadow", + "priority": "high", + "x": 148, + "width": 148, + "height": 156, + "frame_count": 1, + "shift": [ + 0.421875, + 0.765625 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:combinator/arithmetic-combinator", + "priority": "high", + "x": 148, + "width": 74, + "height": 64, + "frame_count": 1, + "shift": [ + 0.03125, + 0.25 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-arithmetic-combinator", + "priority": "high", + "x": 288, + "width": 144, + "height": 124, + "frame_count": 1, + "shift": [ + 0.015625, + 0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/arithmetic-combinator-shadow", + "priority": "high", + "x": 152, + "width": 76, + "height": 78, + "frame_count": 1, + "shift": [ + 0.4375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-arithmetic-combinator-shadow", + "priority": "high", + "x": 296, + "width": 148, + "height": 156, + "frame_count": 1, + "shift": [ + 0.421875, + 0.765625 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:combinator/arithmetic-combinator", + "priority": "high", + "x": 222, + "width": 74, + "height": 64, + "frame_count": 1, + "shift": [ + 0.03125, + 0.25 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-arithmetic-combinator", + "priority": "high", + "x": 432, + "width": 144, + "height": 124, + "frame_count": 1, + "shift": [ + 0.015625, + 0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/arithmetic-combinator-shadow", + "priority": "high", + "x": 228, + "width": 76, + "height": 78, + "frame_count": 1, + "shift": [ + 0.4375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-arithmetic-combinator-shadow", + "priority": "high", + "x": 444, + "width": 148, + "height": 156, + "frame_count": 1, + "shift": [ + 0.421875, + 0.765625 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + } + }, + "activity_led_sprites": { + "0": { + "filename": "entity:activity-leds/arithmetic-combinator-LED-N", + "width": 8, + "height": 8, + "frame_count": 1, + "shift": [ + 0.25, + -0.375 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-arithmetic-combinator-LED-N", + "width": 16, + "height": 14, + "frame_count": 1, + "shift": [ + 0.265625, + -0.390625 + ] + } + }, + "2": { + "filename": "entity:activity-leds/arithmetic-combinator-LED-E", + "width": 8, + "height": 8, + "frame_count": 1, + "shift": [ + 0.53125, + -0.03125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-arithmetic-combinator-LED-E", + "width": 14, + "height": 14, + "frame_count": 1, + "shift": [ + 0.515625, + -0.03125 + ] + } + }, + "4": { + "filename": "entity:activity-leds/arithmetic-combinator-LED-S", + "width": 8, + "height": 8, + "frame_count": 1, + "shift": [ + -0.25, + 0.21875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-arithmetic-combinator-LED-S", + "width": 16, + "height": 16, + "frame_count": 1, + "shift": [ + -0.25, + 0.234375 + ] + } + }, + "6": { + "filename": "entity:activity-leds/arithmetic-combinator-LED-W", + "width": 8, + "height": 8, + "frame_count": 1, + "shift": [ + -0.5, + -0.375 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-arithmetic-combinator-LED-W", + "width": 14, + "height": 14, + "frame_count": 1, + "shift": [ + -0.5, + -0.390625 + ] + } + } + }, + "plus_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + } + }, + "minus_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + } + }, + "multiply_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + } + }, + "divide_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + } + }, + "modulo_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + } + }, + "power_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + } + }, + "left_shift_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + } + }, + "right_shift_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + } + }, + "and_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + } + }, + "or_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + } + }, + "xor_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "y": 11, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.328125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "y": 22, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.328125 + ] + } + } + }, + "input_connection_points": [ + { + "shadow": { + "red": [ + 0.15625, + 0.8125 + ], + "green": [ + 0.765625, + 0.8125 + ] + }, + "wire": { + "red": [ + -0.265625, + 0.4375 + ], + "green": [ + 0.3125, + 0.4375 + ] + } + }, + { + "shadow": { + "red": [ + -0.3125, + -0.109375 + ], + "green": [ + -0.3125, + 0.296875 + ] + }, + "wire": { + "red": [ + -0.796875, + -0.46875 + ], + "green": [ + -0.796875, + -0.046875 + ] + } + }, + { + "shadow": { + "red": [ + 0.765625, + -0.359375 + ], + "green": [ + 0.171875, + -0.296875 + ] + }, + "wire": { + "red": [ + 0.296875, + -0.671875 + ], + "green": [ + -0.28125, + -0.671875 + ] + } + }, + { + "shadow": { + "red": [ + 1.375, + 0.375 + ], + "green": [ + 1.375, + -0.046875 + ] + }, + "wire": { + "red": [ + 0.8125, + -0.03125 + ], + "green": [ + 0.8125, + -0.453125 + ] + } + } + ], + "output_connection_points": [ + { + "shadow": { + "red": [ + 0.125, + -0.390625 + ], + "green": [ + 0.734375, + -0.375 + ] + }, + "wire": { + "red": [ + -0.28125, + -0.6875 + ], + "green": [ + 0.3125, + -0.6875 + ] + } + }, + { + "shadow": { + "red": [ + 1.203125, + -0.046875 + ], + "green": [ + 1.1875, + 0.375 + ] + }, + "wire": { + "red": [ + 0.71875, + -0.40625 + ], + "green": [ + 0.71875, + 0.03125 + ] + } + }, + { + "shadow": { + "red": [ + 0.75, + 0.828125 + ], + "green": [ + 0.125, + 0.84375 + ] + }, + "wire": { + "red": [ + 0.3125, + 0.484375 + ], + "green": [ + -0.28125, + 0.484375 + ] + } + }, + { + "shadow": { + "red": [ + -0.21875, + 0.390625 + ], + "green": [ + -0.234375, + -0.046875 + ] + }, + "wire": { + "red": [ + -0.703125, + 0.03125 + ], + "green": [ + -0.703125, + -0.375 + ] + } + } + ], + "size": { + "width": 1, + "height": 2 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "decider-combinator": { + "type": "decider-combinator", + "name": "decider-combinator", + "icon": "entity:icons/decider-combinator", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "decider-combinator" + }, + "max_health": 150, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.35, + -0.65 + ], + [ + 0.35, + 0.65 + ] + ], + "selection_box": [ + [ + -0.5, + -1 + ], + [ + 0.5, + 1 + ] + ], + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input" + }, + "active_energy_usage": "1KW", + "working_sound": { + "sound": { + "filename": "entity:sound/combinator", + "volume": 0.35 + }, + "max_sounds_per_type": 2, + "match_speed_to_activity": true + }, + "activity_led_light": { + "intensity": 0.8, + "size": 1, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "activity_led_light_offsets": [ + [ + 0.265625, + -0.53125 + ], + [ + 0.515625, + -0.078125 + ], + [ + -0.25, + 0.03125 + ], + [ + -0.46875, + -0.5 + ] + ], + "screen_light": { + "intensity": 0.3, + "size": 0.6, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "screen_light_offsets": [ + [ + 0.015625, + -0.265625 + ], + [ + 0.015625, + -0.359375 + ], + [ + 0.015625, + -0.265625 + ], + [ + 0.015625, + -0.359375 + ] + ], + "input_connection_bounding_box": [ + [ + -0.5, + 0 + ], + [ + 0.5, + 1 + ] + ], + "output_connection_bounding_box": [ + [ + -0.5, + -1 + ], + [ + 0.5, + 0 + ] + ], + "input_connection_points": [ + { + "shadow": { + "red": [ + 0.25, + 0.875 + ], + "green": [ + 0.828125, + 0.859375 + ] + }, + "wire": { + "red": [ + -0.265625, + 0.484375 + ], + "green": [ + 0.28125, + 0.46875 + ] + } + }, + { + "shadow": { + "red": [ + -0.296875, + -0.265625 + ], + "green": [ + -0.3125, + 0.25 + ] + }, + "wire": { + "red": [ + -0.765625, + -0.578125 + ], + "green": [ + -0.75, + -0.125 + ] + } + }, + { + "shadow": { + "red": [ + 0.84375, + -0.234375 + ], + "green": [ + 0.296875, + -0.234375 + ] + }, + "wire": { + "red": [ + 0.296875, + -0.609375 + ], + "green": [ + -0.25, + -0.609375 + ] + } + }, + { + "shadow": { + "red": [ + 1.328125, + 0.28125 + ], + "green": [ + 1.328125, + -0.203125 + ] + }, + "wire": { + "red": [ + 0.796875, + -0.125 + ], + "green": [ + 0.78125, + -0.59375 + ] + } + } + ], + "output_connection_points": [ + { + "shadow": { + "red": [ + 0.21875, + -0.296875 + ], + "green": [ + 0.828125, + -0.296875 + ] + }, + "wire": { + "red": [ + -0.28125, + -0.671875 + ], + "green": [ + 0.3125, + -0.65625 + ] + } + }, + { + "shadow": { + "red": [ + 1.21875, + -0.15625 + ], + "green": [ + 1.21875, + 0.265625 + ] + }, + "wire": { + "red": [ + 0.6875, + -0.53125 + ], + "green": [ + 0.6875, + -0.109375 + ] + } + }, + { + "shadow": { + "red": [ + 0.84375, + 0.953125 + ], + "green": [ + 0.234375, + 0.953125 + ] + }, + "wire": { + "red": [ + 0.296875, + 0.53125 + ], + "green": [ + -0.28125, + 0.546875 + ] + } + }, + { + "shadow": { + "red": [ + -0.171875, + 0.25 + ], + "green": [ + -0.171875, + -0.1875 + ] + }, + "wire": { + "red": [ + -0.671875, + -0.125 + ], + "green": [ + -0.671875, + -0.53125 + ] + } + } + ], + "circuit_wire_max_distance": 9, + "sprites": { + "0": { + "layers": [ + { + "filename": "entity:combinator/decider-combinator", + "priority": "high", + "x": 0, + "width": 78, + "height": 66, + "frame_count": 1, + "shift": [ + 0, + 0.21875 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-decider-combinator", + "priority": "high", + "x": 0, + "width": 156, + "height": 132, + "frame_count": 1, + "shift": [ + 0.015625, + 0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/decider-combinator-shadow", + "priority": "high", + "x": 0, + "width": 78, + "height": 80, + "frame_count": 1, + "shift": [ + 0.375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-decider-combinator-shadow", + "priority": "high", + "x": 0, + "width": 156, + "height": 158, + "frame_count": 1, + "shift": [ + 0.375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:combinator/decider-combinator", + "priority": "high", + "x": 78, + "width": 78, + "height": 66, + "frame_count": 1, + "shift": [ + 0, + 0.21875 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-decider-combinator", + "priority": "high", + "x": 156, + "width": 156, + "height": 132, + "frame_count": 1, + "shift": [ + 0.015625, + 0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/decider-combinator-shadow", + "priority": "high", + "x": 78, + "width": 78, + "height": 80, + "frame_count": 1, + "shift": [ + 0.375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-decider-combinator-shadow", + "priority": "high", + "x": 156, + "width": 156, + "height": 158, + "frame_count": 1, + "shift": [ + 0.375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:combinator/decider-combinator", + "priority": "high", + "x": 156, + "width": 78, + "height": 66, + "frame_count": 1, + "shift": [ + 0, + 0.21875 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-decider-combinator", + "priority": "high", + "x": 312, + "width": 156, + "height": 132, + "frame_count": 1, + "shift": [ + 0.015625, + 0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/decider-combinator-shadow", + "priority": "high", + "x": 156, + "width": 78, + "height": 80, + "frame_count": 1, + "shift": [ + 0.375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-decider-combinator-shadow", + "priority": "high", + "x": 312, + "width": 156, + "height": 158, + "frame_count": 1, + "shift": [ + 0.375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:combinator/decider-combinator", + "priority": "high", + "x": 234, + "width": 78, + "height": 66, + "frame_count": 1, + "shift": [ + 0, + 0.21875 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-decider-combinator", + "priority": "high", + "x": 468, + "width": 156, + "height": 132, + "frame_count": 1, + "shift": [ + 0.015625, + 0.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/decider-combinator-shadow", + "priority": "high", + "x": 234, + "width": 78, + "height": 80, + "frame_count": 1, + "shift": [ + 0.375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-decider-combinator-shadow", + "priority": "high", + "x": 468, + "width": 156, + "height": 158, + "frame_count": 1, + "shift": [ + 0.375, + 0.75 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + } + }, + "activity_led_sprites": { + "0": { + "filename": "entity:activity-leds/decider-combinator-LED-N", + "width": 8, + "height": 8, + "frame_count": 1, + "shift": [ + 0.25, + -0.40625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-decider-combinator-LED-N", + "width": 16, + "height": 14, + "frame_count": 1, + "shift": [ + 0.265625, + -0.40625 + ] + } + }, + "2": { + "filename": "entity:activity-leds/decider-combinator-LED-E", + "width": 8, + "height": 8, + "frame_count": 1, + "shift": [ + 0.5, + -0.125 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-decider-combinator-LED-E", + "width": 16, + "height": 16, + "frame_count": 1, + "shift": [ + 0.5, + -0.125 + ] + } + }, + "4": { + "filename": "entity:activity-leds/decider-combinator-LED-S", + "width": 8, + "height": 8, + "frame_count": 1, + "shift": [ + -0.25, + 0.15625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-decider-combinator-LED-S", + "width": 16, + "height": 14, + "frame_count": 1, + "shift": [ + -0.25, + 0.140625 + ] + } + }, + "6": { + "filename": "entity:activity-leds/decider-combinator-LED-W", + "width": 8, + "height": 8, + "frame_count": 1, + "shift": [ + -0.46875, + -0.59375 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-decider-combinator-LED-W", + "width": 16, + "height": 16, + "frame_count": 1, + "shift": [ + -0.46875, + -0.578125 + ] + } + } + }, + "greater_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + } + }, + "less_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 15, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 30, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + } + }, + "equal_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 30, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 60, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + } + }, + "not_equal_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 45, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 90, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + } + }, + "less_or_equal_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 60, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 120, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + } + }, + "greater_or_equal_symbol_sprites": { + "0": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "2": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + }, + "4": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.140625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.140625 + ] + } + }, + "6": { + "filename": "entity:combinator/combinator-displays", + "x": 75, + "y": 22, + "width": 15, + "height": 11, + "shift": [ + 0, + -0.421875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:combinator/hr-combinator-displays", + "x": 150, + "y": 44, + "width": 30, + "height": 22, + "shift": [ + 0, + -0.421875 + ] + } + } + }, + "size": { + "width": 1, + "height": 2 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "constant-combinator": { + "type": "constant-combinator", + "name": "constant-combinator", + "icon": "entity:icons/constant-combinator", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "constant-combinator" + }, + "max_health": 120, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.35, + -0.35 + ], + [ + 0.35, + 0.35 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "item_slot_count": 18, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "activity_led_light": { + "intensity": 0.8, + "size": 1, + "color": { + "r": 1, + "g": 1, + "b": 1 + } + }, + "activity_led_light_offsets": [ + [ + 0.296875, + -0.40625 + ], + [ + 0.25, + -0.03125 + ], + [ + -0.296875, + -0.078125 + ], + [ + -0.21875, + -0.46875 + ] + ], + "circuit_wire_max_distance": 9, + "sprites": { + "0": { + "layers": [ + { + "filename": "entity:combinator/constant-combinator", + "priority": "high", + "x": 0, + "width": 58, + "height": 52, + "frame_count": 1, + "shift": [ + 0, + 0.15625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-constant-combinator", + "priority": "high", + "x": 0, + "width": 114, + "height": 102, + "frame_count": 1, + "shift": [ + 0, + 0.15625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/constant-combinator-shadow", + "priority": "high", + "x": 0, + "width": 50, + "height": 34, + "frame_count": 1, + "shift": [ + 0.28125, + 0.1875 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-constant-combinator-shadow", + "priority": "high", + "x": 0, + "width": 98, + "height": 66, + "frame_count": 1, + "shift": [ + 0.265625, + 0.171875 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:combinator/constant-combinator", + "priority": "high", + "x": 58, + "width": 58, + "height": 52, + "frame_count": 1, + "shift": [ + 0, + 0.15625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-constant-combinator", + "priority": "high", + "x": 114, + "width": 114, + "height": 102, + "frame_count": 1, + "shift": [ + 0, + 0.15625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/constant-combinator-shadow", + "priority": "high", + "x": 50, + "width": 50, + "height": 34, + "frame_count": 1, + "shift": [ + 0.28125, + 0.1875 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-constant-combinator-shadow", + "priority": "high", + "x": 98, + "width": 98, + "height": 66, + "frame_count": 1, + "shift": [ + 0.265625, + 0.171875 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:combinator/constant-combinator", + "priority": "high", + "x": 116, + "width": 58, + "height": 52, + "frame_count": 1, + "shift": [ + 0, + 0.15625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-constant-combinator", + "priority": "high", + "x": 228, + "width": 114, + "height": 102, + "frame_count": 1, + "shift": [ + 0, + 0.15625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/constant-combinator-shadow", + "priority": "high", + "x": 100, + "width": 50, + "height": 34, + "frame_count": 1, + "shift": [ + 0.28125, + 0.1875 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-constant-combinator-shadow", + "priority": "high", + "x": 196, + "width": 98, + "height": 66, + "frame_count": 1, + "shift": [ + 0.265625, + 0.171875 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:combinator/constant-combinator", + "priority": "high", + "x": 174, + "width": 58, + "height": 52, + "frame_count": 1, + "shift": [ + 0, + 0.15625 + ], + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-constant-combinator", + "priority": "high", + "x": 342, + "width": 114, + "height": 102, + "frame_count": 1, + "shift": [ + 0, + 0.15625 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:combinator/constant-combinator-shadow", + "priority": "high", + "x": 150, + "width": 50, + "height": 34, + "frame_count": 1, + "shift": [ + 0.28125, + 0.1875 + ], + "draw_as_shadow": true, + "scale": 1, + "hr_version": { + "filename": "entity:combinator/hr-constant-combinator-shadow", + "priority": "high", + "x": 294, + "width": 98, + "height": 66, + "frame_count": 1, + "shift": [ + 0.265625, + 0.171875 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + } + }, + "activity_led_sprites": { + "0": { + "filename": "entity:activity-leds/constant-combinator-LED-N", + "width": 8, + "height": 6, + "frame_count": 1, + "shift": [ + 0.28125, + -0.375 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-constant-combinator-LED-N", + "width": 14, + "height": 12, + "frame_count": 1, + "shift": [ + 0.28125, + -0.359375 + ] + } + }, + "2": { + "filename": "entity:activity-leds/constant-combinator-LED-E", + "width": 8, + "height": 8, + "frame_count": 1, + "shift": [ + 0.25, + 0 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-constant-combinator-LED-E", + "width": 14, + "height": 14, + "frame_count": 1, + "shift": [ + 0.234375, + -0.015625 + ] + } + }, + "4": { + "filename": "entity:activity-leds/constant-combinator-LED-S", + "width": 8, + "height": 8, + "frame_count": 1, + "shift": [ + -0.28125, + 0.0625 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-constant-combinator-LED-S", + "width": 14, + "height": 16, + "frame_count": 1, + "shift": [ + -0.28125, + 0.078125 + ] + } + }, + "6": { + "filename": "entity:activity-leds/constant-combinator-LED-W", + "width": 8, + "height": 8, + "frame_count": 1, + "shift": [ + -0.21875, + -0.46875 + ], + "hr_version": { + "scale": 0.5, + "filename": "entity:activity-leds/hr-constant-combinator-LED-W", + "width": 14, + "height": 16, + "frame_count": 1, + "shift": [ + -0.21875, + -0.46875 + ] + } + } + }, + "circuit_wire_connection_points": [ + { + "shadow": { + "red": [ + 0.21875, + -0.1875 + ], + "green": [ + 0.71875, + -0.1875 + ] + }, + "wire": { + "red": [ + -0.265625, + -0.546875 + ], + "green": [ + 0.21875, + -0.546875 + ] + } + }, + { + "shadow": { + "red": [ + 1, + -0.15625 + ], + "green": [ + 1, + 0.25 + ] + }, + "wire": { + "red": [ + 0.5, + -0.515625 + ], + "green": [ + 0.5, + -0.109375 + ] + } + }, + { + "shadow": { + "red": [ + 0.78125, + 0.625 + ], + "green": [ + 0.28125, + 0.625 + ] + }, + "wire": { + "red": [ + 0.28125, + 0.234375 + ], + "green": [ + -0.203125, + 0.234375 + ] + } + }, + { + "shadow": { + "red": [ + 0.03125, + 0.34375 + ], + "green": [ + 0.03125, + -0.0625 + ] + }, + "wire": { + "red": [ + -0.46875, + -0.015625 + ], + "green": [ + -0.46875, + -0.421875 + ] + } + } + ], + "size": { + "width": 1, + "height": 1 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "power-switch": { + "type": "power-switch", + "name": "power-switch", + "icon": "entity:icons/power-switch", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 1, + "result": "power-switch" + }, + "max_health": 200, + "corpse": "medium-remnants", + "collision_box": [ + [ + -0.7, + -0.7 + ], + [ + 0.7, + 0.7 + ] + ], + "selection_box": [ + [ + -1, + -1 + ], + [ + 1, + 1 + ] + ], + "power_on_animation": { + "filename": "entity:power-switch/power-switch", + "animation_speed": 0.2, + "line_length": 2, + "width": 117, + "height": 74, + "frame_count": 6, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.453125, + 0.1875 + ] + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "overlay_start_delay": 3, + "overlay_start": { + "filename": "entity:power-switch/power-switch-electricity-start", + "blend_mode": "additive", + "animation_speed": 0.2, + "line_length": 2, + "width": 38, + "height": 49, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.15625, + 0.046875 + ] + }, + "overlay_loop": { + "filename": "entity:power-switch/power-switch-electricity-loop", + "blend_mode": "additive", + "animation_speed": 0.25, + "line_length": 4, + "width": 53, + "height": 56, + "frame_count": 16, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.046875, + -0.0625 + ] + }, + "led_on": { + "filename": "entity:power-switch/power-switch-led", + "x": 6, + "width": 6, + "height": 9, + "frame_count": 1, + "shift": [ + 0.71875, + 0.140625 + ] + }, + "led_off": { + "filename": "entity:power-switch/power-switch-led", + "width": 6, + "height": 9, + "frame_count": 1, + "shift": [ + 0.71875, + 0.140625 + ] + }, + "circuit_wire_connection_point": { + "shadow": { + "red": [ + -0.328125, + 1.01563 + ], + "green": [ + -0.328125, + 1.01563 + ] + }, + "wire": { + "red": [ + -0.609375, + 0.828125 + ], + "green": [ + -0.609375, + 0.828125 + ] + } + }, + "left_wire_connection_point": { + "shadow": { + "copper": [ + 0.296875, + -0.171875 + ] + }, + "wire": { + "copper": [ + -0.765625, + -0.890625 + ] + } + }, + "right_wire_connection_point": { + "shadow": { + "copper": [ + 2.14063, + 0.015625 + ] + }, + "wire": { + "copper": [ + 0.859375, + -0.890625 + ] + } + }, + "wire_max_distance": 10, + "size": { + "width": 2, + "height": 2 + } + }, + "programmable-speaker": { + "type": "programmable-speaker", + "name": "programmable-speaker", + "icon": "entity:icons/programmable-speaker", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "programmable-speaker" + }, + "max_health": 150, + "corpse": "small-remnants", + "collision_box": [ + [ + -0.3, + -0.3 + ], + [ + 0.3, + 0.3 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "drawing_box": [ + [ + -0.5, + -2.5 + ], + [ + 0.5, + 0.3 + ] + ], + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "energy_source": { + "type": "electric", + "usage_priority": "secondary-input" + }, + "energy_usage_per_tick": "2KW", + "sprite": { + "layers": [ + { + "filename": "entity:programmable-speaker/programmable-speaker", + "priority": "extra-high", + "width": 30, + "height": 89, + "shift": [ + -0.0625, + -1.234375 + ], + "hr_version": { + "filename": "entity:programmable-speaker/hr-programmable-speaker", + "priority": "extra-high", + "width": 59, + "height": 178, + "shift": [ + -0.0703125, + -1.234375 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:programmable-speaker/programmable-speaker-shadow", + "priority": "extra-high", + "width": 119, + "height": 25, + "shift": [ + 1.640625, + -0.078125 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:programmable-speaker/hr-programmable-speaker-shadow", + "priority": "extra-high", + "width": 237, + "height": 50, + "shift": [ + 1.6484375, + -0.09375 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "audible_distance_modifier": 2, + "maximum_polyphony": 10, + "instruments": [ + { + "name": "alarms", + "notes": [ + { + "name": "alarm-1", + "sound": { + "filename": "entity:programmable-speaker/alarm-1" + } + }, + { + "name": "alarm-2", + "sound": { + "filename": "entity:programmable-speaker/alarm-2" + } + }, + { + "name": "buzzer-1", + "sound": { + "filename": "entity:programmable-speaker/buzzer-1" + } + }, + { + "name": "buzzer-2", + "sound": { + "filename": "entity:programmable-speaker/buzzer-2" + } + }, + { + "name": "buzzer-3", + "sound": { + "filename": "entity:programmable-speaker/buzzer-3" + } + }, + { + "name": "ring", + "sound": { + "filename": "entity:programmable-speaker/ring", + "preload": false + } + }, + { + "name": "siren", + "sound": { + "filename": "entity:programmable-speaker/siren", + "preload": false + } + } + ] + }, + { + "name": "miscellaneous", + "notes": [ + { + "name": "achievement-unlocked", + "sound": { + "filename": "entity:sound/achievement-unlocked" + } + }, + { + "name": "alert-construction", + "sound": { + "filename": "entity:sound/alert-construction" + } + }, + { + "name": "alert-damage", + "sound": { + "filename": "entity:sound/alert-damage" + } + }, + { + "name": "armor-insert", + "sound": { + "filename": "entity:sound/armor-insert" + } + }, + { + "name": "armor-remove", + "sound": { + "filename": "entity:sound/armor-remove" + } + }, + { + "name": "cannot-build", + "sound": { + "filename": "entity:sound/cannot-build" + } + }, + { + "name": "console-message", + "sound": { + "filename": "entity:sound/console-message" + } + }, + { + "name": "crafting-finished", + "sound": { + "filename": "entity:sound/crafting-finished" + } + }, + { + "name": "game-lost", + "sound": { + "filename": "entity:sound/game-lost" + } + }, + { + "name": "game-won", + "sound": { + "filename": "entity:sound/game-won" + } + }, + { + "name": "gui-click", + "sound": { + "filename": "entity:sound/gui-click" + } + }, + { + "name": "gui-click-2", + "sound": { + "filename": "entity:sound/list-box-click" + } + }, + { + "name": "inventory-move", + "sound": { + "filename": "entity:sound/inventory-move" + } + }, + { + "name": "new-objective", + "sound": { + "filename": "entity:sound/new-objective" + } + }, + { + "name": "research-completed", + "sound": { + "filename": "entity:sound/research-completed" + } + }, + { + "name": "scenario-message", + "sound": { + "filename": "entity:sound/scenario-message" + } + } + ] + }, + { + "name": "drum-kit", + "notes": [ + { + "name": "kick-1", + "sound": { + "filename": "entity:programmable-speaker/kit-01" + } + }, + { + "name": "kick-2", + "sound": { + "filename": "entity:programmable-speaker/kit-02" + } + }, + { + "name": "snare-1", + "sound": { + "filename": "entity:programmable-speaker/kit-03" + } + }, + { + "name": "snare-2", + "sound": { + "filename": "entity:programmable-speaker/kit-04" + } + }, + { + "name": "snare-3", + "sound": { + "filename": "entity:programmable-speaker/kit-05" + } + }, + { + "name": "hat-1", + "sound": { + "filename": "entity:programmable-speaker/kit-06" + } + }, + { + "name": "hat-2", + "sound": { + "filename": "entity:programmable-speaker/kit-07" + } + }, + { + "name": "fx", + "sound": { + "filename": "entity:programmable-speaker/kit-08" + } + }, + { + "name": "high-q", + "sound": { + "filename": "entity:programmable-speaker/kit-09" + } + }, + { + "name": "perc-1", + "sound": { + "filename": "entity:programmable-speaker/kit-10" + } + }, + { + "name": "perc-2", + "sound": { + "filename": "entity:programmable-speaker/kit-11" + } + }, + { + "name": "crash", + "sound": { + "filename": "entity:programmable-speaker/kit-12" + } + }, + { + "name": "reverse-cymbal", + "sound": { + "filename": "entity:programmable-speaker/kit-13" + } + }, + { + "name": "clap", + "sound": { + "filename": "entity:programmable-speaker/kit-14" + } + }, + { + "name": "shaker", + "sound": { + "filename": "entity:programmable-speaker/kit-15" + } + }, + { + "name": "cowbell", + "sound": { + "filename": "entity:programmable-speaker/kit-16" + } + }, + { + "name": "triangle", + "sound": { + "filename": "entity:programmable-speaker/kit-17" + } + } + ] + }, + { + "name": "piano", + "notes": [ + { + "name": "F3", + "sound": { + "filename": "entity:programmable-speaker/piano1-01" + } + }, + { + "name": "F#3", + "sound": { + "filename": "entity:programmable-speaker/piano1-02" + } + }, + { + "name": "G3", + "sound": { + "filename": "entity:programmable-speaker/piano1-03" + } + }, + { + "name": "G#3", + "sound": { + "filename": "entity:programmable-speaker/piano1-04" + } + }, + { + "name": "A3", + "sound": { + "filename": "entity:programmable-speaker/piano1-05" + } + }, + { + "name": "A#3", + "sound": { + "filename": "entity:programmable-speaker/piano1-06" + } + }, + { + "name": "B3", + "sound": { + "filename": "entity:programmable-speaker/piano1-07" + } + }, + { + "name": "C4", + "sound": { + "filename": "entity:programmable-speaker/piano1-08" + } + }, + { + "name": "C#4", + "sound": { + "filename": "entity:programmable-speaker/piano1-09" + } + }, + { + "name": "D4", + "sound": { + "filename": "entity:programmable-speaker/piano1-10" + } + }, + { + "name": "D#4", + "sound": { + "filename": "entity:programmable-speaker/piano1-11" + } + }, + { + "name": "E4", + "sound": { + "filename": "entity:programmable-speaker/piano1-12" + } + }, + { + "name": "F4", + "sound": { + "filename": "entity:programmable-speaker/piano1-13" + } + }, + { + "name": "F#4", + "sound": { + "filename": "entity:programmable-speaker/piano1-14" + } + }, + { + "name": "G4", + "sound": { + "filename": "entity:programmable-speaker/piano1-15" + } + }, + { + "name": "G#4", + "sound": { + "filename": "entity:programmable-speaker/piano1-16" + } + }, + { + "name": "A4", + "sound": { + "filename": "entity:programmable-speaker/piano1-17" + } + }, + { + "name": "A#4", + "sound": { + "filename": "entity:programmable-speaker/piano1-18" + } + }, + { + "name": "B4", + "sound": { + "filename": "entity:programmable-speaker/piano1-19" + } + }, + { + "name": "C5", + "sound": { + "filename": "entity:programmable-speaker/piano1-20" + } + }, + { + "name": "C#5", + "sound": { + "filename": "entity:programmable-speaker/piano1-21" + } + }, + { + "name": "D5", + "sound": { + "filename": "entity:programmable-speaker/piano1-22" + } + }, + { + "name": "D#5", + "sound": { + "filename": "entity:programmable-speaker/piano1-23" + } + }, + { + "name": "E5", + "sound": { + "filename": "entity:programmable-speaker/piano1-24" + } + }, + { + "name": "F5", + "sound": { + "filename": "entity:programmable-speaker/piano1-25" + } + }, + { + "name": "F#5", + "sound": { + "filename": "entity:programmable-speaker/piano1-26" + } + }, + { + "name": "G5", + "sound": { + "filename": "entity:programmable-speaker/piano1-27" + } + }, + { + "name": "G#5", + "sound": { + "filename": "entity:programmable-speaker/piano1-28" + } + }, + { + "name": "A5", + "sound": { + "filename": "entity:programmable-speaker/piano1-29" + } + }, + { + "name": "A#5", + "sound": { + "filename": "entity:programmable-speaker/piano1-30" + } + }, + { + "name": "B5", + "sound": { + "filename": "entity:programmable-speaker/piano1-31" + } + }, + { + "name": "C6", + "sound": { + "filename": "entity:programmable-speaker/piano1-32" + } + }, + { + "name": "C#6", + "sound": { + "filename": "entity:programmable-speaker/piano1-33" + } + }, + { + "name": "D6", + "sound": { + "filename": "entity:programmable-speaker/piano1-34" + } + }, + { + "name": "D#6", + "sound": { + "filename": "entity:programmable-speaker/piano1-35" + } + }, + { + "name": "E6", + "sound": { + "filename": "entity:programmable-speaker/piano1-36" + } + }, + { + "name": "F6", + "sound": { + "filename": "entity:programmable-speaker/piano1-37" + } + }, + { + "name": "F#6", + "sound": { + "filename": "entity:programmable-speaker/piano1-38" + } + }, + { + "name": "G6", + "sound": { + "filename": "entity:programmable-speaker/piano1-39" + } + }, + { + "name": "G#6", + "sound": { + "filename": "entity:programmable-speaker/piano1-40" + } + }, + { + "name": "A6", + "sound": { + "filename": "entity:programmable-speaker/piano1-41" + } + }, + { + "name": "A#6", + "sound": { + "filename": "entity:programmable-speaker/piano1-42" + } + }, + { + "name": "B6", + "sound": { + "filename": "entity:programmable-speaker/piano1-43" + } + }, + { + "name": "C7", + "sound": { + "filename": "entity:programmable-speaker/piano1-44" + } + }, + { + "name": "C#7", + "sound": { + "filename": "entity:programmable-speaker/piano1-45" + } + }, + { + "name": "D7", + "sound": { + "filename": "entity:programmable-speaker/piano1-46" + } + }, + { + "name": "D#7", + "sound": { + "filename": "entity:programmable-speaker/piano1-47" + } + }, + { + "name": "E7", + "sound": { + "filename": "entity:programmable-speaker/piano1-48" + } + } + ] + }, + { + "name": "bass", + "notes": [ + { + "name": "F2", + "sound": { + "filename": "entity:programmable-speaker/bass-01" + } + }, + { + "name": "F#2", + "sound": { + "filename": "entity:programmable-speaker/bass-02" + } + }, + { + "name": "G2", + "sound": { + "filename": "entity:programmable-speaker/bass-03" + } + }, + { + "name": "G#2", + "sound": { + "filename": "entity:programmable-speaker/bass-04" + } + }, + { + "name": "A2", + "sound": { + "filename": "entity:programmable-speaker/bass-05" + } + }, + { + "name": "A#2", + "sound": { + "filename": "entity:programmable-speaker/bass-06" + } + }, + { + "name": "B2", + "sound": { + "filename": "entity:programmable-speaker/bass-07" + } + }, + { + "name": "C3", + "sound": { + "filename": "entity:programmable-speaker/bass-08" + } + }, + { + "name": "C#3", + "sound": { + "filename": "entity:programmable-speaker/bass-09" + } + }, + { + "name": "D3", + "sound": { + "filename": "entity:programmable-speaker/bass-10" + } + }, + { + "name": "D#3", + "sound": { + "filename": "entity:programmable-speaker/bass-11" + } + }, + { + "name": "E3", + "sound": { + "filename": "entity:programmable-speaker/bass-12" + } + }, + { + "name": "F3", + "sound": { + "filename": "entity:programmable-speaker/bass-13" + } + }, + { + "name": "F#3", + "sound": { + "filename": "entity:programmable-speaker/bass-14" + } + }, + { + "name": "G3", + "sound": { + "filename": "entity:programmable-speaker/bass-15" + } + }, + { + "name": "G#3", + "sound": { + "filename": "entity:programmable-speaker/bass-16" + } + }, + { + "name": "A3", + "sound": { + "filename": "entity:programmable-speaker/bass-17" + } + }, + { + "name": "A#3", + "sound": { + "filename": "entity:programmable-speaker/bass-18" + } + }, + { + "name": "B3", + "sound": { + "filename": "entity:programmable-speaker/bass-19" + } + }, + { + "name": "C4", + "sound": { + "filename": "entity:programmable-speaker/bass-20" + } + }, + { + "name": "C#4", + "sound": { + "filename": "entity:programmable-speaker/bass-21" + } + }, + { + "name": "D4", + "sound": { + "filename": "entity:programmable-speaker/bass-22" + } + }, + { + "name": "D#4", + "sound": { + "filename": "entity:programmable-speaker/bass-23" + } + }, + { + "name": "E4", + "sound": { + "filename": "entity:programmable-speaker/bass-24" + } + }, + { + "name": "F4", + "sound": { + "filename": "entity:programmable-speaker/bass-25" + } + }, + { + "name": "F#4", + "sound": { + "filename": "entity:programmable-speaker/bass-26" + } + }, + { + "name": "G4", + "sound": { + "filename": "entity:programmable-speaker/bass-27" + } + }, + { + "name": "G#4", + "sound": { + "filename": "entity:programmable-speaker/bass-28" + } + }, + { + "name": "A4", + "sound": { + "filename": "entity:programmable-speaker/bass-29" + } + }, + { + "name": "A#4", + "sound": { + "filename": "entity:programmable-speaker/bass-30" + } + }, + { + "name": "B4", + "sound": { + "filename": "entity:programmable-speaker/bass-31" + } + }, + { + "name": "C5", + "sound": { + "filename": "entity:programmable-speaker/bass-32" + } + }, + { + "name": "C#5", + "sound": { + "filename": "entity:programmable-speaker/bass-33" + } + }, + { + "name": "D5", + "sound": { + "filename": "entity:programmable-speaker/bass-34" + } + }, + { + "name": "D#5", + "sound": { + "filename": "entity:programmable-speaker/bass-35" + } + }, + { + "name": "E5", + "sound": { + "filename": "entity:programmable-speaker/bass-36" + } + } + ] + }, + { + "name": "lead", + "notes": [ + { + "name": "F2", + "sound": { + "filename": "entity:programmable-speaker/lead-01" + } + }, + { + "name": "F#2", + "sound": { + "filename": "entity:programmable-speaker/lead-02" + } + }, + { + "name": "G2", + "sound": { + "filename": "entity:programmable-speaker/lead-03" + } + }, + { + "name": "G#2", + "sound": { + "filename": "entity:programmable-speaker/lead-04" + } + }, + { + "name": "A2", + "sound": { + "filename": "entity:programmable-speaker/lead-05" + } + }, + { + "name": "A#2", + "sound": { + "filename": "entity:programmable-speaker/lead-06" + } + }, + { + "name": "B2", + "sound": { + "filename": "entity:programmable-speaker/lead-07" + } + }, + { + "name": "C3", + "sound": { + "filename": "entity:programmable-speaker/lead-08" + } + }, + { + "name": "C#3", + "sound": { + "filename": "entity:programmable-speaker/lead-09" + } + }, + { + "name": "D3", + "sound": { + "filename": "entity:programmable-speaker/lead-10" + } + }, + { + "name": "D#3", + "sound": { + "filename": "entity:programmable-speaker/lead-11" + } + }, + { + "name": "E3", + "sound": { + "filename": "entity:programmable-speaker/lead-12" + } + }, + { + "name": "F3", + "sound": { + "filename": "entity:programmable-speaker/lead-13" + } + }, + { + "name": "F#3", + "sound": { + "filename": "entity:programmable-speaker/lead-14" + } + }, + { + "name": "G3", + "sound": { + "filename": "entity:programmable-speaker/lead-15" + } + }, + { + "name": "G#3", + "sound": { + "filename": "entity:programmable-speaker/lead-16" + } + }, + { + "name": "A3", + "sound": { + "filename": "entity:programmable-speaker/lead-17" + } + }, + { + "name": "A#3", + "sound": { + "filename": "entity:programmable-speaker/lead-18" + } + }, + { + "name": "B3", + "sound": { + "filename": "entity:programmable-speaker/lead-19" + } + }, + { + "name": "C4", + "sound": { + "filename": "entity:programmable-speaker/lead-20" + } + }, + { + "name": "C#4", + "sound": { + "filename": "entity:programmable-speaker/lead-21" + } + }, + { + "name": "D4", + "sound": { + "filename": "entity:programmable-speaker/lead-22" + } + }, + { + "name": "D#4", + "sound": { + "filename": "entity:programmable-speaker/lead-23" + } + }, + { + "name": "E4", + "sound": { + "filename": "entity:programmable-speaker/lead-24" + } + }, + { + "name": "F4", + "sound": { + "filename": "entity:programmable-speaker/lead-25" + } + }, + { + "name": "F#4", + "sound": { + "filename": "entity:programmable-speaker/lead-26" + } + }, + { + "name": "G4", + "sound": { + "filename": "entity:programmable-speaker/lead-27" + } + }, + { + "name": "G#4", + "sound": { + "filename": "entity:programmable-speaker/lead-28" + } + }, + { + "name": "A4", + "sound": { + "filename": "entity:programmable-speaker/lead-29" + } + }, + { + "name": "A#4", + "sound": { + "filename": "entity:programmable-speaker/lead-30" + } + }, + { + "name": "B4", + "sound": { + "filename": "entity:programmable-speaker/lead-31" + } + }, + { + "name": "C5", + "sound": { + "filename": "entity:programmable-speaker/lead-32" + } + }, + { + "name": "C#5", + "sound": { + "filename": "entity:programmable-speaker/lead-33" + } + }, + { + "name": "D5", + "sound": { + "filename": "entity:programmable-speaker/lead-34" + } + }, + { + "name": "D#5", + "sound": { + "filename": "entity:programmable-speaker/lead-35" + } + }, + { + "name": "E5", + "sound": { + "filename": "entity:programmable-speaker/lead-36" + } + } + ] + }, + { + "name": "saw", + "notes": [ + { + "name": "F2", + "sound": { + "filename": "entity:programmable-speaker/saw-01" + } + }, + { + "name": "F#2", + "sound": { + "filename": "entity:programmable-speaker/saw-02" + } + }, + { + "name": "G2", + "sound": { + "filename": "entity:programmable-speaker/saw-03" + } + }, + { + "name": "G#2", + "sound": { + "filename": "entity:programmable-speaker/saw-04" + } + }, + { + "name": "A2", + "sound": { + "filename": "entity:programmable-speaker/saw-05" + } + }, + { + "name": "A#2", + "sound": { + "filename": "entity:programmable-speaker/saw-06" + } + }, + { + "name": "B2", + "sound": { + "filename": "entity:programmable-speaker/saw-07" + } + }, + { + "name": "C3", + "sound": { + "filename": "entity:programmable-speaker/saw-08" + } + }, + { + "name": "C#3", + "sound": { + "filename": "entity:programmable-speaker/saw-09" + } + }, + { + "name": "D3", + "sound": { + "filename": "entity:programmable-speaker/saw-10" + } + }, + { + "name": "D#3", + "sound": { + "filename": "entity:programmable-speaker/saw-11" + } + }, + { + "name": "E3", + "sound": { + "filename": "entity:programmable-speaker/saw-12" + } + }, + { + "name": "F3", + "sound": { + "filename": "entity:programmable-speaker/saw-13" + } + }, + { + "name": "F#3", + "sound": { + "filename": "entity:programmable-speaker/saw-14" + } + }, + { + "name": "G3", + "sound": { + "filename": "entity:programmable-speaker/saw-15" + } + }, + { + "name": "G#3", + "sound": { + "filename": "entity:programmable-speaker/saw-16" + } + }, + { + "name": "A3", + "sound": { + "filename": "entity:programmable-speaker/saw-17" + } + }, + { + "name": "A#3", + "sound": { + "filename": "entity:programmable-speaker/saw-18" + } + }, + { + "name": "B3", + "sound": { + "filename": "entity:programmable-speaker/saw-19" + } + }, + { + "name": "C4", + "sound": { + "filename": "entity:programmable-speaker/saw-20" + } + }, + { + "name": "C#4", + "sound": { + "filename": "entity:programmable-speaker/saw-21" + } + }, + { + "name": "D4", + "sound": { + "filename": "entity:programmable-speaker/saw-22" + } + }, + { + "name": "D#4", + "sound": { + "filename": "entity:programmable-speaker/saw-23" + } + }, + { + "name": "E4", + "sound": { + "filename": "entity:programmable-speaker/saw-24" + } + }, + { + "name": "F4", + "sound": { + "filename": "entity:programmable-speaker/saw-25" + } + }, + { + "name": "F#4", + "sound": { + "filename": "entity:programmable-speaker/saw-26" + } + }, + { + "name": "G4", + "sound": { + "filename": "entity:programmable-speaker/saw-27" + } + }, + { + "name": "G#4", + "sound": { + "filename": "entity:programmable-speaker/saw-28" + } + }, + { + "name": "A4", + "sound": { + "filename": "entity:programmable-speaker/saw-29" + } + }, + { + "name": "A#4", + "sound": { + "filename": "entity:programmable-speaker/saw-30" + } + }, + { + "name": "B4", + "sound": { + "filename": "entity:programmable-speaker/saw-31" + } + }, + { + "name": "C5", + "sound": { + "filename": "entity:programmable-speaker/saw-32" + } + }, + { + "name": "C#5", + "sound": { + "filename": "entity:programmable-speaker/saw-33" + } + }, + { + "name": "D5", + "sound": { + "filename": "entity:programmable-speaker/saw-34" + } + }, + { + "name": "D#5", + "sound": { + "filename": "entity:programmable-speaker/saw-35" + } + }, + { + "name": "E5", + "sound": { + "filename": "entity:programmable-speaker/saw-36" + } + } + ] + }, + { + "name": "square", + "notes": [ + { + "name": "F2", + "sound": { + "filename": "entity:programmable-speaker/square-01" + } + }, + { + "name": "F#2", + "sound": { + "filename": "entity:programmable-speaker/square-02" + } + }, + { + "name": "G2", + "sound": { + "filename": "entity:programmable-speaker/square-03" + } + }, + { + "name": "G#2", + "sound": { + "filename": "entity:programmable-speaker/square-04" + } + }, + { + "name": "A2", + "sound": { + "filename": "entity:programmable-speaker/square-05" + } + }, + { + "name": "A#2", + "sound": { + "filename": "entity:programmable-speaker/square-06" + } + }, + { + "name": "B2", + "sound": { + "filename": "entity:programmable-speaker/square-07" + } + }, + { + "name": "C3", + "sound": { + "filename": "entity:programmable-speaker/square-08" + } + }, + { + "name": "C#3", + "sound": { + "filename": "entity:programmable-speaker/square-09" + } + }, + { + "name": "D3", + "sound": { + "filename": "entity:programmable-speaker/square-10" + } + }, + { + "name": "D#3", + "sound": { + "filename": "entity:programmable-speaker/square-11" + } + }, + { + "name": "E3", + "sound": { + "filename": "entity:programmable-speaker/square-12" + } + }, + { + "name": "F3", + "sound": { + "filename": "entity:programmable-speaker/square-13" + } + }, + { + "name": "F#3", + "sound": { + "filename": "entity:programmable-speaker/square-14" + } + }, + { + "name": "G3", + "sound": { + "filename": "entity:programmable-speaker/square-15" + } + }, + { + "name": "G#3", + "sound": { + "filename": "entity:programmable-speaker/square-16" + } + }, + { + "name": "A3", + "sound": { + "filename": "entity:programmable-speaker/square-17" + } + }, + { + "name": "A#3", + "sound": { + "filename": "entity:programmable-speaker/square-18" + } + }, + { + "name": "B3", + "sound": { + "filename": "entity:programmable-speaker/square-19" + } + }, + { + "name": "C4", + "sound": { + "filename": "entity:programmable-speaker/square-20" + } + }, + { + "name": "C#4", + "sound": { + "filename": "entity:programmable-speaker/square-21" + } + }, + { + "name": "D4", + "sound": { + "filename": "entity:programmable-speaker/square-22" + } + }, + { + "name": "D#4", + "sound": { + "filename": "entity:programmable-speaker/square-23" + } + }, + { + "name": "E4", + "sound": { + "filename": "entity:programmable-speaker/square-24" + } + }, + { + "name": "F4", + "sound": { + "filename": "entity:programmable-speaker/square-25" + } + }, + { + "name": "F#4", + "sound": { + "filename": "entity:programmable-speaker/square-26" + } + }, + { + "name": "G4", + "sound": { + "filename": "entity:programmable-speaker/square-27" + } + }, + { + "name": "G#4", + "sound": { + "filename": "entity:programmable-speaker/square-28" + } + }, + { + "name": "A4", + "sound": { + "filename": "entity:programmable-speaker/square-29" + } + }, + { + "name": "A#4", + "sound": { + "filename": "entity:programmable-speaker/square-30" + } + }, + { + "name": "B4", + "sound": { + "filename": "entity:programmable-speaker/square-31" + } + }, + { + "name": "C5", + "sound": { + "filename": "entity:programmable-speaker/square-32" + } + }, + { + "name": "C#5", + "sound": { + "filename": "entity:programmable-speaker/square-33" + } + }, + { + "name": "D5", + "sound": { + "filename": "entity:programmable-speaker/square-34" + } + }, + { + "name": "D#5", + "sound": { + "filename": "entity:programmable-speaker/square-35" + } + }, + { + "name": "E5", + "sound": { + "filename": "entity:programmable-speaker/square-36" + } + } + ] + }, + { + "name": "celesta", + "notes": [ + { + "name": "F5", + "sound": { + "filename": "entity:programmable-speaker/celesta-01" + } + }, + { + "name": "F#5", + "sound": { + "filename": "entity:programmable-speaker/celesta-02" + } + }, + { + "name": "G5", + "sound": { + "filename": "entity:programmable-speaker/celesta-03" + } + }, + { + "name": "G#5", + "sound": { + "filename": "entity:programmable-speaker/celesta-04" + } + }, + { + "name": "A5", + "sound": { + "filename": "entity:programmable-speaker/celesta-05" + } + }, + { + "name": "A#5", + "sound": { + "filename": "entity:programmable-speaker/celesta-06" + } + }, + { + "name": "B5", + "sound": { + "filename": "entity:programmable-speaker/celesta-07" + } + }, + { + "name": "C6", + "sound": { + "filename": "entity:programmable-speaker/celesta-08" + } + }, + { + "name": "C#6", + "sound": { + "filename": "entity:programmable-speaker/celesta-09" + } + }, + { + "name": "D6", + "sound": { + "filename": "entity:programmable-speaker/celesta-10" + } + }, + { + "name": "D#6", + "sound": { + "filename": "entity:programmable-speaker/celesta-11" + } + }, + { + "name": "E6", + "sound": { + "filename": "entity:programmable-speaker/celesta-12" + } + }, + { + "name": "F6", + "sound": { + "filename": "entity:programmable-speaker/celesta-13" + } + }, + { + "name": "F#6", + "sound": { + "filename": "entity:programmable-speaker/celesta-14" + } + }, + { + "name": "G6", + "sound": { + "filename": "entity:programmable-speaker/celesta-15" + } + }, + { + "name": "G#6", + "sound": { + "filename": "entity:programmable-speaker/celesta-16" + } + }, + { + "name": "A6", + "sound": { + "filename": "entity:programmable-speaker/celesta-17" + } + }, + { + "name": "A#6", + "sound": { + "filename": "entity:programmable-speaker/celesta-18" + } + }, + { + "name": "B6", + "sound": { + "filename": "entity:programmable-speaker/celesta-19" + } + }, + { + "name": "C7", + "sound": { + "filename": "entity:programmable-speaker/celesta-20" + } + }, + { + "name": "C#7", + "sound": { + "filename": "entity:programmable-speaker/celesta-21" + } + }, + { + "name": "D7", + "sound": { + "filename": "entity:programmable-speaker/celesta-22" + } + }, + { + "name": "D#7", + "sound": { + "filename": "entity:programmable-speaker/celesta-23" + } + }, + { + "name": "E7", + "sound": { + "filename": "entity:programmable-speaker/celesta-24" + } + }, + { + "name": "F7", + "sound": { + "filename": "entity:programmable-speaker/celesta-25" + } + }, + { + "name": "F#7", + "sound": { + "filename": "entity:programmable-speaker/celesta-26" + } + }, + { + "name": "G7", + "sound": { + "filename": "entity:programmable-speaker/celesta-27" + } + }, + { + "name": "G#7", + "sound": { + "filename": "entity:programmable-speaker/celesta-28" + } + }, + { + "name": "A7", + "sound": { + "filename": "entity:programmable-speaker/celesta-29" + } + }, + { + "name": "A#7", + "sound": { + "filename": "entity:programmable-speaker/celesta-30" + } + }, + { + "name": "B7", + "sound": { + "filename": "entity:programmable-speaker/celesta-31" + } + }, + { + "name": "C8", + "sound": { + "filename": "entity:programmable-speaker/celesta-32" + } + }, + { + "name": "C#8", + "sound": { + "filename": "entity:programmable-speaker/celesta-33" + } + }, + { + "name": "D8", + "sound": { + "filename": "entity:programmable-speaker/celesta-34" + } + }, + { + "name": "D#8", + "sound": { + "filename": "entity:programmable-speaker/celesta-35" + } + }, + { + "name": "E8", + "sound": { + "filename": "entity:programmable-speaker/celesta-36" + } + } + ] + }, + { + "name": "vibraphone", + "notes": [ + { + "name": "F5", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-01" + } + }, + { + "name": "F#5", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-02" + } + }, + { + "name": "G5", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-03" + } + }, + { + "name": "G#5", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-04" + } + }, + { + "name": "A5", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-05" + } + }, + { + "name": "A#5", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-06" + } + }, + { + "name": "B5", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-07" + } + }, + { + "name": "C6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-08" + } + }, + { + "name": "C#6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-09" + } + }, + { + "name": "D6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-10" + } + }, + { + "name": "D#6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-11" + } + }, + { + "name": "E6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-12" + } + }, + { + "name": "F6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-13" + } + }, + { + "name": "F#6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-14" + } + }, + { + "name": "G6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-15" + } + }, + { + "name": "G#6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-16" + } + }, + { + "name": "A6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-17" + } + }, + { + "name": "A#6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-18" + } + }, + { + "name": "B6", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-19" + } + }, + { + "name": "C7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-20" + } + }, + { + "name": "C#7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-21" + } + }, + { + "name": "D7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-22" + } + }, + { + "name": "D#7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-23" + } + }, + { + "name": "E7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-24" + } + }, + { + "name": "F7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-25" + } + }, + { + "name": "F#7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-26" + } + }, + { + "name": "G7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-27" + } + }, + { + "name": "G#7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-28" + } + }, + { + "name": "A7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-29" + } + }, + { + "name": "A#7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-30" + } + }, + { + "name": "B7", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-31" + } + }, + { + "name": "C8", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-32" + } + }, + { + "name": "C#8", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-33" + } + }, + { + "name": "D8", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-34" + } + }, + { + "name": "D#8", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-35" + } + }, + { + "name": "E8", + "sound": { + "filename": "entity:programmable-speaker/vibraphone-36" + } + } + ] + }, + { + "name": "plucked", + "notes": [ + { + "name": "F4", + "sound": { + "filename": "entity:programmable-speaker/plucked-01" + } + }, + { + "name": "F#4", + "sound": { + "filename": "entity:programmable-speaker/plucked-02" + } + }, + { + "name": "G4", + "sound": { + "filename": "entity:programmable-speaker/plucked-03" + } + }, + { + "name": "G#4", + "sound": { + "filename": "entity:programmable-speaker/plucked-04" + } + }, + { + "name": "A4", + "sound": { + "filename": "entity:programmable-speaker/plucked-05" + } + }, + { + "name": "A#4", + "sound": { + "filename": "entity:programmable-speaker/plucked-06" + } + }, + { + "name": "B4", + "sound": { + "filename": "entity:programmable-speaker/plucked-07" + } + }, + { + "name": "C5", + "sound": { + "filename": "entity:programmable-speaker/plucked-08" + } + }, + { + "name": "C#5", + "sound": { + "filename": "entity:programmable-speaker/plucked-09" + } + }, + { + "name": "D5", + "sound": { + "filename": "entity:programmable-speaker/plucked-10" + } + }, + { + "name": "D#5", + "sound": { + "filename": "entity:programmable-speaker/plucked-11" + } + }, + { + "name": "E5", + "sound": { + "filename": "entity:programmable-speaker/plucked-12" + } + }, + { + "name": "F5", + "sound": { + "filename": "entity:programmable-speaker/plucked-13" + } + }, + { + "name": "F#5", + "sound": { + "filename": "entity:programmable-speaker/plucked-14" + } + }, + { + "name": "G5", + "sound": { + "filename": "entity:programmable-speaker/plucked-15" + } + }, + { + "name": "G#5", + "sound": { + "filename": "entity:programmable-speaker/plucked-16" + } + }, + { + "name": "A5", + "sound": { + "filename": "entity:programmable-speaker/plucked-17" + } + }, + { + "name": "A#5", + "sound": { + "filename": "entity:programmable-speaker/plucked-18" + } + }, + { + "name": "B5", + "sound": { + "filename": "entity:programmable-speaker/plucked-19" + } + }, + { + "name": "C6", + "sound": { + "filename": "entity:programmable-speaker/plucked-20" + } + }, + { + "name": "C#6", + "sound": { + "filename": "entity:programmable-speaker/plucked-21" + } + }, + { + "name": "D6", + "sound": { + "filename": "entity:programmable-speaker/plucked-22" + } + }, + { + "name": "D#6", + "sound": { + "filename": "entity:programmable-speaker/plucked-23" + } + }, + { + "name": "E6", + "sound": { + "filename": "entity:programmable-speaker/plucked-24" + } + }, + { + "name": "F6", + "sound": { + "filename": "entity:programmable-speaker/plucked-25" + } + }, + { + "name": "F#6", + "sound": { + "filename": "entity:programmable-speaker/plucked-26" + } + }, + { + "name": "G6", + "sound": { + "filename": "entity:programmable-speaker/plucked-27" + } + }, + { + "name": "G#6", + "sound": { + "filename": "entity:programmable-speaker/plucked-28" + } + }, + { + "name": "A6", + "sound": { + "filename": "entity:programmable-speaker/plucked-29" + } + }, + { + "name": "A#6", + "sound": { + "filename": "entity:programmable-speaker/plucked-30" + } + }, + { + "name": "B6", + "sound": { + "filename": "entity:programmable-speaker/plucked-31" + } + }, + { + "name": "C7", + "sound": { + "filename": "entity:programmable-speaker/plucked-32" + } + }, + { + "name": "C#7", + "sound": { + "filename": "entity:programmable-speaker/plucked-33" + } + }, + { + "name": "D7", + "sound": { + "filename": "entity:programmable-speaker/plucked-34" + } + }, + { + "name": "D#7", + "sound": { + "filename": "entity:programmable-speaker/plucked-35" + } + }, + { + "name": "E7", + "sound": { + "filename": "entity:programmable-speaker/plucked-36" + } + } + ] + }, + { + "name": "steel-drum", + "notes": [ + { + "name": "F3", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-01" + } + }, + { + "name": "F#3", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-02" + } + }, + { + "name": "G3", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-03" + } + }, + { + "name": "G#3", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-04" + } + }, + { + "name": "A3", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-05" + } + }, + { + "name": "A#3", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-06" + } + }, + { + "name": "B3", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-07" + } + }, + { + "name": "C4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-08" + } + }, + { + "name": "C#4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-09" + } + }, + { + "name": "D4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-10" + } + }, + { + "name": "D#4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-11" + } + }, + { + "name": "E4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-12" + } + }, + { + "name": "F4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-13" + } + }, + { + "name": "F#4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-14" + } + }, + { + "name": "G4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-15" + } + }, + { + "name": "G#4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-16" + } + }, + { + "name": "A4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-17" + } + }, + { + "name": "A#4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-18" + } + }, + { + "name": "B4", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-19" + } + }, + { + "name": "C5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-20" + } + }, + { + "name": "C#5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-21" + } + }, + { + "name": "D5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-22" + } + }, + { + "name": "D#5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-23" + } + }, + { + "name": "E5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-24" + } + }, + { + "name": "F5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-25" + } + }, + { + "name": "F#5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-26" + } + }, + { + "name": "G5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-27" + } + }, + { + "name": "G#5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-28" + } + }, + { + "name": "A5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-29" + } + }, + { + "name": "A#5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-30" + } + }, + { + "name": "B5", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-31" + } + }, + { + "name": "C6", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-32" + } + }, + { + "name": "C#6", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-33" + } + }, + { + "name": "D6", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-34" + } + }, + { + "name": "D#6", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-35" + } + }, + { + "name": "E6", + "sound": { + "filename": "entity:programmable-speaker/steel-drum-36" + } + } + ] + } + ], + "circuit_wire_connection_point": { + "wire": { + "red": [ + 0.484375, + 0.21875 + ], + "green": [ + 0.546875, + 0.453125 + ] + }, + "shadow": { + "red": [ + 0.96875, + 0.53125 + ], + "green": [ + 0.8125, + 0.625 + ] + } + }, + "circuit_connector_sprites": { + "connector_main": { + "filename": "entity:circuit-connector/hr-ccm-universal-04a-base-sequence", + "priority": "low", + "width": 52, + "height": 50, + "scale": 0.5, + "x": 104, + "y": 100, + "shift": [ + 0.1875, + 0.203125 + ] + }, + "connector_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04b-base-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 62, + "height": 46, + "scale": 0.5, + "x": 124, + "y": 92, + "shift": [ + 0.40625, + 0.3125 + ] + }, + "wire_pins": { + "filename": "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence", + "priority": "low", + "width": 62, + "height": 58, + "scale": 0.5, + "x": 124, + "y": 116, + "shift": [ + 0.1875, + 0.171875 + ] + }, + "wire_pins_shadow": { + "filename": "entity:circuit-connector/hr-ccm-universal-04d-wire-shadow-sequence", + "priority": "low", + "draw_as_shadow": true, + "width": 70, + "height": 56, + "scale": 0.5, + "x": 140, + "y": 112, + "shift": [ + 0.34375, + 0.296875 + ] + }, + "led_blue": { + "filename": "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence", + "priority": "low", + "width": 60, + "height": 60, + "scale": 0.5, + "x": 120, + "y": 120, + "shift": [ + 0.1875, + 0.171875 + ] + }, + "led_blue_off": { + "filename": "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence", + "priority": "low", + "width": 46, + "height": 44, + "scale": 0.5, + "x": 92, + "y": 88, + "shift": [ + 0.1875, + 0.171875 + ] + }, + "led_green": { + "filename": "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 92, + "shift": [ + 0.1875, + 0.171875 + ] + }, + "led_red": { + "filename": "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence", + "priority": "low", + "width": 48, + "height": 46, + "scale": 0.5, + "x": 96, + "y": 92, + "shift": [ + 0.1875, + 0.171875 + ] + }, + "led_light": { + "intensity": 0.8, + "size": 0.9 + }, + "blue_led_light_offset": [ + 0.21875, + 0.453125 + ], + "red_green_led_light_offset": [ + 0.203125, + 0.28125 + ] + }, + "circuit_wire_max_distance": 9, + "size": { + "width": 1, + "height": 1 + } + }, + "nuclear-reactor": { + "type": "reactor", + "name": "nuclear-reactor", + "icon": "entity:icons/nuclear-reactor", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "mining_time": 1.5, + "result": "nuclear-reactor" + }, + "max_health": 500, + "corpse": "big-remnants", + "consumption": "40MW", + "neighbour_bonus": 1, + "burner": { + "fuel_category": "nuclear", + "effectivity": 1, + "fuel_inventory_size": 1, + "burnt_inventory_size": 1 + }, + "collision_box": [ + [ + -2.2, + -2.2 + ], + [ + 2.2, + 2.2 + ] + ], + "selection_box": [ + [ + -2.5, + -2.5 + ], + [ + 2.5, + 2.5 + ] + ], + "lower_layer_picture": { + "filename": "entity:nuclear-reactor/reactor-pipes", + "width": 160, + "height": 160, + "shift": [ + -0.03125, + -0.1875 + ], + "hr_version": { + "filename": "entity:nuclear-reactor/hr-reactor-pipes", + "width": 320, + "height": 320, + "scale": 0.5, + "shift": [ + -0.03125, + -0.1875 + ] + } + }, + "picture": { + "layers": [ + { + "filename": "entity:nuclear-reactor/reactor", + "width": 160, + "height": 160, + "shift": [ + -0.03125, + -0.1875 + ], + "hr_version": { + "filename": "entity:nuclear-reactor/hr-reactor", + "width": 320, + "height": 320, + "scale": 0.5, + "shift": [ + -0.03125, + -0.1875 + ] + } + }, + { + "filename": "entity:nuclear-reactor/reactor-shadow", + "width": 263, + "height": 162, + "shift": [ + 1.625, + 0 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:nuclear-reactor/hr-reactor-shadow", + "width": 525, + "height": 323, + "scale": 0.5, + "shift": [ + 1.625, + 0 + ], + "draw_as_shadow": true + } + } + ] + }, + "working_light_picture": { + "filename": "entity:nuclear-reactor/reactor-lights-color", + "width": 160, + "height": 160, + "shift": [ + -0.03125, + -0.1875 + ], + "blend_mode": "additive", + "hr_version": { + "filename": "entity:nuclear-reactor/hr-reactor-lights-color", + "width": 320, + "height": 320, + "scale": 0.5, + "shift": [ + -0.03125, + -0.1875 + ], + "blend_mode": "additive" + } + }, + "light": { + "intensity": 0.6, + "size": 9.9, + "shift": [ + 0, + 0 + ], + "color": { + "r": 0, + "g": 1, + "b": 0 + } + }, + "heat_buffer": { + "max_temperature": 1000, + "specific_heat": "10MJ", + "max_transfer": "10GW", + "connections": [ + { + "position": [ + -2, + -2 + ], + "direction": 0 + }, + { + "position": [ + 0, + -2 + ], + "direction": 0 + }, + { + "position": [ + 2, + -2 + ], + "direction": 0 + }, + { + "position": [ + 2, + -2 + ], + "direction": 2 + }, + { + "position": [ + 2, + 0 + ], + "direction": 2 + }, + { + "position": [ + 2, + 2 + ], + "direction": 2 + }, + { + "position": [ + 2, + 2 + ], + "direction": 4 + }, + { + "position": [ + 0, + 2 + ], + "direction": 4 + }, + { + "position": [ + -2, + 2 + ], + "direction": 4 + }, + { + "position": [ + -2, + 2 + ], + "direction": 6 + }, + { + "position": [ + -2, + 0 + ], + "direction": 6 + }, + { + "position": [ + -2, + -2 + ], + "direction": 6 + } + ] + }, + "connection_patches_connected": { + "sheet": { + "filename": "entity:nuclear-reactor/reactor-connect-patches", + "width": 32, + "height": 32, + "variation_count": 12, + "hr_version": { + "filename": "entity:nuclear-reactor/hr-reactor-connect-patches", + "width": 64, + "height": 64, + "variation_count": 12, + "scale": 0.5 + } + } + }, + "connection_patches_disconnected": { + "sheet": { + "filename": "entity:nuclear-reactor/reactor-connect-patches", + "width": 32, + "height": 32, + "variation_count": 12, + "y": 32, + "hr_version": { + "filename": "entity:nuclear-reactor/hr-reactor-connect-patches", + "width": 64, + "height": 64, + "variation_count": 12, + "y": 64, + "scale": 0.5 + } + } + }, + "connection_patches": { + "0": { + "filename": "entity:nuclear-reactor/connection-patch-north", + "width": 160, + "height": 15, + "shift": [ + 0, + -2.265625 + ] + }, + "2": { + "filename": "entity:nuclear-reactor/connection-patch-east", + "width": 15, + "height": 160, + "shift": [ + 2.265625, + 0 + ] + }, + "4": { + "filename": "entity:nuclear-reactor/connection-patch-south", + "width": 160, + "height": 15, + "shift": [ + 0, + 2.265625 + ] + }, + "6": { + "filename": "entity:nuclear-reactor/connection-patch-west", + "width": 15, + "height": 160, + "shift": [ + -2.265625, + 0 + ] + } + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "meltdown_action": { + "type": "direct", + "action_delivery": { + "type": "instant", + "target_effects": [ + { + "repeat_count": 100, + "type": "create-trivial-smoke", + "smoke_name": "nuclear-smoke", + "offset_deviation": [ + [ + -1, + -1 + ], + [ + 1, + 1 + ] + ], + "slow_down_factor": 1, + "starting_frame": 3, + "starting_frame_deviation": 5, + "starting_frame_speed": 0, + "starting_frame_speed_deviation": 5, + "speed_from_center": 0.5, + "speed_deviation": 0.2 + }, + { + "type": "create-entity", + "entity_name": "explosion" + }, + { + "type": "damage", + "damage": { + "amount": 400, + "type": "explosion" + } + }, + { + "type": "create-entity", + "entity_name": "small-scorchmark", + "check_buildability": true + }, + { + "type": "nested-result", + "action": { + "type": "area", + "target_entities": false, + "repeat_count": 2000, + "radius": 35, + "action_delivery": { + "type": "projectile", + "projectile": "atomic-bomb-wave", + "starting_speed": 0.5 + } + } + } + ] + } + }, + "size": { + "width": 5, + "height": 5 + } + }, + "heat-pipe": { + "type": "heat-pipe", + "name": "heat-pipe", + "icon": "entity:icons/heat-pipe", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "player-creation" + ], + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "heat-pipe" + }, + "max_health": 200, + "corpse": "small-remnants", + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "resistances": [ + { + "type": "fire", + "percent": 90 + }, + { + "type": "explosion", + "percent": 30 + }, + { + "type": "impact", + "percent": 30 + } + ], + "collision_box": [ + [ + -0.3, + -0.3 + ], + [ + 0.3, + 0.3 + ] + ], + "selection_box": [ + [ + -0.5, + -0.5 + ], + [ + 0.5, + 0.5 + ] + ], + "minimum_glow_temperature": 350, + "glow_alpha_modifier": 0.6, + "heat_buffer": { + "max_temperature": 1000, + "specific_heat": "1MJ", + "max_transfer": "1GW", + "connections": [ + { + "position": [ + 0, + 0 + ], + "direction": 0 + }, + { + "position": [ + 0, + 0 + ], + "direction": 2 + }, + { + "position": [ + 0, + 0 + ], + "direction": 4 + }, + { + "position": [ + 0, + 0 + ], + "direction": 6 + } + ] + }, + "connection_sprites": { + "single": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-vertical-single", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-vertical-single", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "straight_vertical": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-vertical-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-vertical-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-vertical-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-vertical-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-vertical-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-vertical-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-vertical-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-vertical-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-vertical-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-vertical-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-vertical-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-vertical-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "straight_horizontal": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-horizontal-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-horizontal-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-horizontal-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-horizontal-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-horizontal-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-horizontal-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-horizontal-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-horizontal-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-horizontal-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-horizontal-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-straight-horizontal-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-straight-horizontal-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "corner_right_up": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-right-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-right-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-right-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-right-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-right-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-right-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-right-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-right-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-right-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-right-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-right-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-right-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "corner_left_up": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-left-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-left-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-left-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-left-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-left-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-left-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-left-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-left-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-left-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-left-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-up-left-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-up-left-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "corner_right_down": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-right-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-right-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-right-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-right-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-right-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-right-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-right-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-right-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-right-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-right-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-right-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-right-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "corner_left_down": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-left-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-left-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-left-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-left-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-left-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-left-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-left-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-left-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-left-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-left-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-corner-down-left-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-corner-down-left-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "t_up": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-t-up-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-t-up-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "t_down": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-t-down-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-t-down-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "t_right": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-t-right-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-t-right-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "t_left": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-t-left-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-t-left-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "cross": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-t-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-t-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "ending_up": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-ending-up-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-ending-up-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "ending_down": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-ending-down-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-ending-down-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "ending_right": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-ending-right-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-ending-right-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "ending_left": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heat-pipe-ending-left-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heat-pipe-ending-left-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ] + }, + "heat_glow_sprites": { + "single": { + "priority": "extra-high", + "filename": "entity:graphics/empty", + "width": 1, + "height": 1 + }, + "straight_vertical": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-vertical-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-vertical-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-vertical-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-vertical-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-vertical-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-vertical-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-vertical-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-vertical-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-vertical-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-vertical-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-vertical-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-vertical-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "straight_horizontal": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-horizontal-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-horizontal-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-horizontal-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-horizontal-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-horizontal-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-horizontal-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-horizontal-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-horizontal-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-horizontal-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-horizontal-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-straight-horizontal-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-straight-horizontal-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "corner_right_up": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-right-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-right-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-right-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-right-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-right-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-right-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-right-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-right-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-right-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-right-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-right-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-right-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "corner_left_up": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-left-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-left-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-left-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-left-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-left-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-left-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-left-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-left-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-left-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-left-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-up-left-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-up-left-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "corner_right_down": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-right-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-right-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-right-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-right-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-right-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-right-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-right-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-right-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-right-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-right-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-right-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-right-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "corner_left_down": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-left-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-left-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-left-2", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-left-2", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-left-3", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-left-3", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-left-4", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-left-4", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-left-5", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-left-5", + "width": 64, + "height": 64, + "scale": 0.5 + } + }, + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-corner-down-left-6", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-corner-down-left-6", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "t_up": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-t-up-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-t-up-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "t_down": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-t-down-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-t-down-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "t_right": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-t-right-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-t-right-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "t_left": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-t-left-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-t-left-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "cross": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-t-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-t-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "ending_up": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-ending-up-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-ending-up-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "ending_down": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-ending-down-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-ending-down-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "ending_right": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-ending-right-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-ending-right-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ], + "ending_left": [ + { + "priority": "extra-high", + "filename": "entity:heat-pipe/heated-ending-left-1", + "width": 32, + "height": 32, + "hr_version": { + "priority": "extra-high", + "filename": "entity:heat-pipe/hr-heated-ending-left-1", + "width": 64, + "height": 64, + "scale": 0.5 + } + } + ] + }, + "heat_glow_light": { + "color": { + "r": 1, + "g": 0.6078431372549019, + "b": 0.05, + "a": 0 + }, + "size": 2.5, + "intensity": 0.1 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "artillery-turret": { + "type": "artillery-turret", + "name": "artillery-turret", + "icon": "entity:icons/artillery-turret", + "icon_size": 32, + "flags": [ + "placeable-neutral", + "placeable-player", + "player-creation" + ], + "inventory_size": 1, + "ammo_stack_limit": 15, + "automated_ammo_count": 5, + "alert_when_attacking": false, + "minable": { + "mining_time": 1, + "result": "artillery-turret" + }, + "open_sound": { + "filename": "entity:sound/machine-open", + "volume": 0.85 + }, + "close_sound": { + "filename": "entity:sound/machine-close", + "volume": 0.75 + }, + "mined_sound": { + "filename": "entity:sound/deconstruct-medium" + }, + "max_health": 2000, + "corpse": "medium-remnants", + "dying_explosion": "medium-explosion", + "collision_box": [ + [ + -1.45, + -1.45 + ], + [ + 1.45, + 1.45 + ] + ], + "selection_box": [ + [ + -1.5, + -1.5 + ], + [ + 1.5, + 1.5 + ] + ], + "gun": "artillery-wagon-cannon", + "turret_rotation_speed": 0.001, + "turn_after_shooting_cooldown": 60, + "cannon_parking_frame_count": 8, + "cannon_parking_speed": 0.25, + "manual_range_modifier": 2.5, + "resistances": [ + { + "type": "fire", + "decrease": 15, + "percent": 50 + }, + { + "type": "physical", + "decrease": 15, + "percent": 30 + }, + { + "type": "impact", + "decrease": 50, + "percent": 50 + }, + { + "type": "explosion", + "decrease": 15, + "percent": 30 + }, + { + "type": "acid", + "decrease": 10, + "percent": 20 + } + ], + "base_shift": [ + 0, + -0.6875 + ], + "base_picture_render_layer": "lower-object-above-shadow", + "base_picture": { + "layers": [ + { + "filename": "entity:artillery-turret/artillery-turret-base", + "priority": "high", + "width": 104, + "height": 100, + "direction_count": 1, + "frame_count": 1, + "shift": [ + 0, + 0 + ], + "hr_version": { + "filename": "entity:artillery-turret/hr-artillery-turret-base", + "line_length": 1, + "width": 207, + "height": 199, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0, + 0 + ], + "scale": 0.5 + } + }, + { + "filename": "entity:artillery-turret/artillery-turret-base-shadow", + "priority": "high", + "line_length": 1, + "width": 138, + "height": 75, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.5625, + 1.1875 + ], + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:artillery-turret/hr-artillery-turret-base-shadow", + "priority": "high", + "line_length": 1, + "width": 277, + "height": 149, + "frame_count": 1, + "direction_count": 1, + "shift": [ + 0.5625, + 1.1875 + ], + "draw_as_shadow": true, + "scale": 0.5 + } + } + ] + }, + "cannon_barrel_pictures": { + "layers": [ + { + "priority": "very-low", + "width": 266, + "height": 192, + "direction_count": 256, + "line_length": 4, + "lines_per_file": 4, + "shift": [ + 0, + -2.4375 + ], + "filenames": [ + "entity:artillery-wagon/artillery-wagon-cannon-barrel-1", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-2", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-3", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-4", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-5", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-6", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-7", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-8", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-9", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-10", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-11", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-12", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-13", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-14", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-15", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-16" + ], + "hr_version": { + "priority": "very-low", + "width": 530, + "height": 384, + "direction_count": 256, + "line_length": 4, + "lines_per_file": 4, + "shift": [ + 0, + -2.4375 + ], + "scale": 0.5, + "filenames": [ + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-1", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-2", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-3", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-4", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-5", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-6", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-7", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-8", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-9", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-10", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-11", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-12", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-13", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-14", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-15", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-16" + ] + } + }, + { + "priority": "very-low", + "width": 454, + "height": 314, + "direction_count": 256, + "line_length": 4, + "lines_per_file": 4, + "shift": [ + 1.71875, + 1.6875 + ], + "draw_as_shadow": true, + "filenames": [ + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-1", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-2", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-3", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-4", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-5", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-6", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-7", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-8", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-9", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-10", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-11", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-12", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-13", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-14", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-15", + "entity:artillery-wagon/artillery-wagon-cannon-barrel-shadow-16" + ], + "hr_version": { + "priority": "very-low", + "width": 906, + "height": 626, + "direction_count": 256, + "line_length": 4, + "lines_per_file": 4, + "shift": [ + 1.703125, + 1.671875 + ], + "scale": 0.5, + "draw_as_shadow": true, + "filenames": [ + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-1", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-2", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-3", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-4", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-5", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-6", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-7", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-8", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-9", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-10", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-11", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-12", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-13", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-14", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-15", + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-shadow-16" + ] + } + } + ] + }, + "cannon_base_pictures": { + "layers": [ + { + "priority": "very-low", + "width": 180, + "height": 136, + "direction_count": 256, + "line_length": 4, + "lines_per_file": 4, + "shift": [ + 0, + -1.9375 + ], + "filenames": [ + "entity:artillery-wagon/artillery-wagon-cannon-base-1", + "entity:artillery-wagon/artillery-wagon-cannon-base-2", + "entity:artillery-wagon/artillery-wagon-cannon-base-3", + "entity:artillery-wagon/artillery-wagon-cannon-base-4", + "entity:artillery-wagon/artillery-wagon-cannon-base-5", + "entity:artillery-wagon/artillery-wagon-cannon-base-6", + "entity:artillery-wagon/artillery-wagon-cannon-base-7", + "entity:artillery-wagon/artillery-wagon-cannon-base-8", + "entity:artillery-wagon/artillery-wagon-cannon-base-9", + "entity:artillery-wagon/artillery-wagon-cannon-base-10", + "entity:artillery-wagon/artillery-wagon-cannon-base-11", + "entity:artillery-wagon/artillery-wagon-cannon-base-12", + "entity:artillery-wagon/artillery-wagon-cannon-base-13", + "entity:artillery-wagon/artillery-wagon-cannon-base-14", + "entity:artillery-wagon/artillery-wagon-cannon-base-15", + "entity:artillery-wagon/artillery-wagon-cannon-base-16" + ], + "hr_version": { + "priority": "very-low", + "width": 358, + "height": 270, + "direction_count": 256, + "line_length": 4, + "lines_per_file": 4, + "shift": [ + 0, + -1.953125 + ], + "scale": 0.5, + "filenames": [ + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-1", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-2", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-3", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-4", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-5", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-6", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-7", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-8", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-9", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-10", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-11", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-12", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-13", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-14", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-15", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-16" + ] + } + }, + { + "priority": "very-low", + "width": 238, + "height": 170, + "direction_count": 256, + "line_length": 4, + "lines_per_file": 4, + "shift": [ + 3.5, + 1.40625 + ], + "draw_as_shadow": true, + "filenames": [ + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-1", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-2", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-3", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-4", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-5", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-6", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-7", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-8", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-9", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-10", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-11", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-12", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-13", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-14", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-15", + "entity:artillery-wagon/artillery-wagon-cannon-base-shadow-16" + ], + "hr_version": { + "priority": "very-low", + "width": 476, + "height": 340, + "direction_count": 256, + "line_length": 4, + "lines_per_file": 4, + "shift": [ + 3.515625, + 1.40625 + ], + "scale": 0.5, + "draw_as_shadow": true, + "filenames": [ + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-1", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-2", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-3", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-4", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-5", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-6", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-7", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-8", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-9", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-10", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-11", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-12", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-13", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-14", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-15", + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-shadow-16" + ] + } + } + ] + }, + "cannon_base_shiftings": [ + [ + 0, + 0.609375 + ], + [ + -0.046875, + 0.59375 + ], + [ + -0.109375, + 0.59375 + ], + [ + -0.171875, + 0.578125 + ], + [ + -0.234375, + 0.578125 + ], + [ + -0.28125, + 0.5625 + ], + [ + -0.34375, + 0.546875 + ], + [ + -0.40625, + 0.546875 + ], + [ + -0.46875, + 0.53125 + ], + [ + -0.515625, + 0.515625 + ], + [ + -0.578125, + 0.5 + ], + [ + -0.640625, + 0.484375 + ], + [ + -0.6875, + 0.46875 + ], + [ + -0.75, + 0.453125 + ], + [ + -0.796875, + 0.4375 + ], + [ + -0.859375, + 0.40625 + ], + [ + -0.90625, + 0.390625 + ], + [ + -0.953125, + 0.375 + ], + [ + -1, + 0.34375 + ], + [ + -1.0625, + 0.328125 + ], + [ + -1.109375, + 0.296875 + ], + [ + -1.15625, + 0.28125 + ], + [ + -1.203125, + 0.25 + ], + [ + -1.25, + 0.234375 + ], + [ + -1.296875, + 0.203125 + ], + [ + -1.328125, + 0.171875 + ], + [ + -1.375, + 0.140625 + ], + [ + -1.421875, + 0.125 + ], + [ + -1.453125, + 0.09375 + ], + [ + -1.5, + 0.0625 + ], + [ + -1.53125, + 0.03125 + ], + [ + -1.578125, + 0 + ], + [ + -1.609375, + -0.015625 + ], + [ + -1.640625, + -0.046875 + ], + [ + -1.671875, + -0.078125 + ], + [ + -1.703125, + -0.109375 + ], + [ + -1.734375, + -0.15625 + ], + [ + -1.765625, + -0.1875 + ], + [ + -1.796875, + -0.21875 + ], + [ + -1.8125, + -0.25 + ], + [ + -1.84375, + -0.28125 + ], + [ + -1.875, + -0.328125 + ], + [ + -1.890625, + -0.359375 + ], + [ + -1.90625, + -0.390625 + ], + [ + -1.9375, + -0.421875 + ], + [ + -1.953125, + -0.46875 + ], + [ + -1.96875, + -0.5 + ], + [ + -1.984375, + -0.53125 + ], + [ + -2, + -0.578125 + ], + [ + -2.015625, + -0.609375 + ], + [ + -2.03125, + -0.65625 + ], + [ + -2.03125, + -0.6875 + ], + [ + -2.046875, + -0.71875 + ], + [ + -2.046875, + -0.765625 + ], + [ + -2.0625, + -0.796875 + ], + [ + -2.0625, + -0.828125 + ], + [ + -2.0625, + -0.875 + ], + [ + -2.078125, + -0.90625 + ], + [ + -2.078125, + -0.9375 + ], + [ + -2.078125, + -0.984375 + ], + [ + -2.078125, + -1.015625 + ], + [ + -2.0625, + -1.0625 + ], + [ + -2.0625, + -1.09375 + ], + [ + -2.0625, + -1.125 + ], + [ + -2.046875, + -1.15625 + ], + [ + -2.0625, + -1.203125 + ], + [ + -2.0625, + -1.234375 + ], + [ + -2.078125, + -1.265625 + ], + [ + -2.078125, + -1.3125 + ], + [ + -2.078125, + -1.34375 + ], + [ + -2.078125, + -1.375 + ], + [ + -2.078125, + -1.421875 + ], + [ + -2.078125, + -1.453125 + ], + [ + -2.078125, + -1.5 + ], + [ + -2.0625, + -1.53125 + ], + [ + -2.0625, + -1.5625 + ], + [ + -2.046875, + -1.609375 + ], + [ + -2.046875, + -1.640625 + ], + [ + -2.03125, + -1.671875 + ], + [ + -2.015625, + -1.71875 + ], + [ + -2.015625, + -1.75 + ], + [ + -2, + -1.796875 + ], + [ + -1.984375, + -1.828125 + ], + [ + -1.96875, + -1.859375 + ], + [ + -1.953125, + -1.90625 + ], + [ + -1.921875, + -1.9375 + ], + [ + -1.90625, + -1.96875 + ], + [ + -1.890625, + -2 + ], + [ + -1.859375, + -2.046875 + ], + [ + -1.84375, + -2.078125 + ], + [ + -1.8125, + -2.109375 + ], + [ + -1.78125, + -2.140625 + ], + [ + -1.75, + -2.1875 + ], + [ + -1.71875, + -2.21875 + ], + [ + -1.6875, + -2.25 + ], + [ + -1.65625, + -2.28125 + ], + [ + -1.625, + -2.3125 + ], + [ + -1.59375, + -2.34375 + ], + [ + -1.5625, + -2.375 + ], + [ + -1.515625, + -2.40625 + ], + [ + -1.484375, + -2.4375 + ], + [ + -1.4375, + -2.46875 + ], + [ + -1.40625, + -2.5 + ], + [ + -1.359375, + -2.53125 + ], + [ + -1.3125, + -2.546875 + ], + [ + -1.265625, + -2.578125 + ], + [ + -1.234375, + -2.609375 + ], + [ + -1.1875, + -2.625 + ], + [ + -1.140625, + -2.65625 + ], + [ + -1.078125, + -2.671875 + ], + [ + -1.03125, + -2.703125 + ], + [ + -0.984375, + -2.71875 + ], + [ + -0.9375, + -2.75 + ], + [ + -0.890625, + -2.765625 + ], + [ + -0.828125, + -2.78125 + ], + [ + -0.78125, + -2.8125 + ], + [ + -0.71875, + -2.828125 + ], + [ + -0.671875, + -2.84375 + ], + [ + -0.609375, + -2.859375 + ], + [ + -0.546875, + -2.875 + ], + [ + -0.5, + -2.890625 + ], + [ + -0.4375, + -2.90625 + ], + [ + -0.375, + -2.90625 + ], + [ + -0.328125, + -2.921875 + ], + [ + -0.265625, + -2.9375 + ], + [ + -0.203125, + -2.9375 + ], + [ + -0.140625, + -2.953125 + ], + [ + -0.078125, + -2.953125 + ], + [ + -0.015625, + -2.96875 + ], + [ + 0.03125, + -2.96875 + ], + [ + 0.09375, + -2.953125 + ], + [ + 0.15625, + -2.953125 + ], + [ + 0.21875, + -2.9375 + ], + [ + 0.265625, + -2.9375 + ], + [ + 0.328125, + -2.921875 + ], + [ + 0.390625, + -2.90625 + ], + [ + 0.453125, + -2.890625 + ], + [ + 0.515625, + -2.890625 + ], + [ + 0.5625, + -2.875 + ], + [ + 0.625, + -2.859375 + ], + [ + 0.671875, + -2.84375 + ], + [ + 0.734375, + -2.828125 + ], + [ + 0.78125, + -2.796875 + ], + [ + 0.84375, + -2.78125 + ], + [ + 0.890625, + -2.765625 + ], + [ + 0.953125, + -2.75 + ], + [ + 1, + -2.71875 + ], + [ + 1.046875, + -2.703125 + ], + [ + 1.09375, + -2.671875 + ], + [ + 1.140625, + -2.65625 + ], + [ + 1.1875, + -2.625 + ], + [ + 1.234375, + -2.609375 + ], + [ + 1.28125, + -2.578125 + ], + [ + 1.328125, + -2.546875 + ], + [ + 1.375, + -2.515625 + ], + [ + 1.40625, + -2.5 + ], + [ + 1.453125, + -2.46875 + ], + [ + 1.484375, + -2.4375 + ], + [ + 1.53125, + -2.40625 + ], + [ + 1.5625, + -2.375 + ], + [ + 1.609375, + -2.34375 + ], + [ + 1.640625, + -2.3125 + ], + [ + 1.671875, + -2.28125 + ], + [ + 1.703125, + -2.25 + ], + [ + 1.734375, + -2.21875 + ], + [ + 1.765625, + -2.1875 + ], + [ + 1.796875, + -2.140625 + ], + [ + 1.828125, + -2.109375 + ], + [ + 1.84375, + -2.078125 + ], + [ + 1.875, + -2.046875 + ], + [ + 1.890625, + -2 + ], + [ + 1.921875, + -1.96875 + ], + [ + 1.9375, + -1.9375 + ], + [ + 1.953125, + -1.90625 + ], + [ + 1.96875, + -1.859375 + ], + [ + 1.984375, + -1.828125 + ], + [ + 2, + -1.796875 + ], + [ + 2.015625, + -1.75 + ], + [ + 2.03125, + -1.71875 + ], + [ + 2.046875, + -1.671875 + ], + [ + 2.046875, + -1.640625 + ], + [ + 2.0625, + -1.609375 + ], + [ + 2.078125, + -1.5625 + ], + [ + 2.078125, + -1.53125 + ], + [ + 2.078125, + -1.5 + ], + [ + 2.078125, + -1.453125 + ], + [ + 2.09375, + -1.421875 + ], + [ + 2.09375, + -1.375 + ], + [ + 2.09375, + -1.34375 + ], + [ + 2.078125, + -1.3125 + ], + [ + 2.078125, + -1.265625 + ], + [ + 2.078125, + -1.234375 + ], + [ + 2.078125, + -1.203125 + ], + [ + 2.078125, + -1.171875 + ], + [ + 2.078125, + -1.125 + ], + [ + 2.09375, + -1.09375 + ], + [ + 2.09375, + -1.0625 + ], + [ + 2.09375, + -1.015625 + ], + [ + 2.09375, + -0.984375 + ], + [ + 2.09375, + -0.953125 + ], + [ + 2.09375, + -0.90625 + ], + [ + 2.09375, + -0.875 + ], + [ + 2.09375, + -0.828125 + ], + [ + 2.078125, + -0.796875 + ], + [ + 2.078125, + -0.765625 + ], + [ + 2.0625, + -0.71875 + ], + [ + 2.0625, + -0.6875 + ], + [ + 2.046875, + -0.640625 + ], + [ + 2.03125, + -0.609375 + ], + [ + 2.03125, + -0.578125 + ], + [ + 2.015625, + -0.53125 + ], + [ + 2, + -0.5 + ], + [ + 1.96875, + -0.46875 + ], + [ + 1.953125, + -0.421875 + ], + [ + 1.9375, + -0.390625 + ], + [ + 1.921875, + -0.359375 + ], + [ + 1.890625, + -0.3125 + ], + [ + 1.875, + -0.28125 + ], + [ + 1.84375, + -0.25 + ], + [ + 1.8125, + -0.21875 + ], + [ + 1.796875, + -0.1875 + ], + [ + 1.765625, + -0.140625 + ], + [ + 1.734375, + -0.109375 + ], + [ + 1.703125, + -0.078125 + ], + [ + 1.671875, + -0.046875 + ], + [ + 1.625, + -0.015625 + ], + [ + 1.59375, + 0 + ], + [ + 1.5625, + 0.03125 + ], + [ + 1.515625, + 0.0625 + ], + [ + 1.484375, + 0.09375 + ], + [ + 1.4375, + 0.125 + ], + [ + 1.40625, + 0.15625 + ], + [ + 1.359375, + 0.171875 + ], + [ + 1.3125, + 0.203125 + ], + [ + 1.265625, + 0.234375 + ], + [ + 1.21875, + 0.25 + ], + [ + 1.171875, + 0.28125 + ], + [ + 1.125, + 0.3125 + ], + [ + 1.078125, + 0.328125 + ], + [ + 1.03125, + 0.359375 + ], + [ + 0.984375, + 0.375 + ], + [ + 0.921875, + 0.390625 + ], + [ + 0.875, + 0.421875 + ], + [ + 0.828125, + 0.4375 + ], + [ + 0.765625, + 0.453125 + ], + [ + 0.71875, + 0.46875 + ], + [ + 0.65625, + 0.484375 + ], + [ + 0.59375, + 0.5 + ], + [ + 0.546875, + 0.515625 + ], + [ + 0.484375, + 0.53125 + ], + [ + 0.421875, + 0.546875 + ], + [ + 0.359375, + 0.5625 + ], + [ + 0.3125, + 0.5625 + ], + [ + 0.25, + 0.578125 + ], + [ + 0.1875, + 0.59375 + ], + [ + 0.125, + 0.59375 + ] + ], + "cannon_barrel_recoil_shiftings": [ + { + "x": 0, + "y": 0.04, + "z": 0 + }, + { + "x": -0.789, + "y": 0.037, + "z": -0.351 + }, + { + "x": -1.578, + "y": 0.035, + "z": -0.702 + }, + { + "x": -2.367, + "y": 0.033, + "z": -1.054 + }, + { + "x": -3.155, + "y": 0.031, + "z": -1.405 + }, + { + "x": -3.944, + "y": 0.028, + "z": -1.756 + }, + { + "x": -3.931, + "y": 0.028, + "z": -1.75 + }, + { + "x": -3.901, + "y": 0.028, + "z": -1.737 + }, + { + "x": -3.854, + "y": 0.029, + "z": -1.716 + }, + { + "x": -3.79, + "y": 0.029, + "z": -1.688 + }, + { + "x": -3.711, + "y": 0.029, + "z": -1.652 + }, + { + "x": -3.617, + "y": 0.029, + "z": -1.61 + }, + { + "x": -3.508, + "y": 0.03, + "z": -1.562 + }, + { + "x": -3.385, + "y": 0.03, + "z": -1.507 + }, + { + "x": -3.249, + "y": 0.03, + "z": -1.447 + }, + { + "x": -3.102, + "y": 0.031, + "z": -1.381 + }, + { + "x": -2.944, + "y": 0.031, + "z": -1.311 + }, + { + "x": -2.776, + "y": 0.032, + "z": -1.236 + }, + { + "x": -2.599, + "y": 0.032, + "z": -1.157 + }, + { + "x": -2.416, + "y": 0.033, + "z": -1.076 + }, + { + "x": -2.226, + "y": 0.033, + "z": -0.991 + }, + { + "x": -2.032, + "y": 0.034, + "z": -0.905 + }, + { + "x": -1.835, + "y": 0.034, + "z": -0.817 + }, + { + "x": -1.635, + "y": 0.035, + "z": -0.728 + }, + { + "x": -1.436, + "y": 0.035, + "z": -0.639 + }, + { + "x": -1.238, + "y": 0.036, + "z": -0.551 + }, + { + "x": -1.042, + "y": 0.037, + "z": -0.464 + }, + { + "x": -0.851, + "y": 0.037, + "z": -0.379 + }, + { + "x": -0.665, + "y": 0.038, + "z": -0.296 + }, + { + "x": -0.485, + "y": 0.038, + "z": -0.216 + }, + { + "x": -0.314, + "y": 0.039, + "z": -0.14 + }, + { + "x": -0.152, + "y": 0.039, + "z": -0.068 + } + ], + "cannon_barrel_light_direction": [ + 0.5976251, + 0.0242053, + -0.8014102 + ], + "cannon_barrel_recoil_shiftings_load_correction_matrix": [ + [ + 0, + 0.25, + 0 + ], + [ + -0.25, + 0, + 0 + ], + [ + 0, + 0, + 0.25 + ] + ], + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "size": { + "width": 3, + "height": 3 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "laser-turret": { + "type": "electric-turret", + "name": "laser-turret", + "icon": "entity:icons/laser-turret", + "icon_size": 32, + "flags": [ + "placeable-player", + "placeable-enemy", + "player-creation" + ], + "minable": { + "mining_time": 0.5, + "result": "laser-turret" + }, + "max_health": 1000, + "corpse": "medium-remnants", + "collision_box": [ + [ + -0.7, + -0.7 + ], + [ + 0.7, + 0.7 + ] + ], + "selection_box": [ + [ + -1, + -1 + ], + [ + 1, + 1 + ] + ], + "rotation_speed": 0.01, + "preparing_speed": 0.05, + "dying_explosion": "medium-explosion", + "folding_speed": 0.05, + "energy_source": { + "type": "electric", + "buffer_capacity": "801kJ", + "input_flow_limit": "9600kW", + "drain": "24kW", + "usage_priority": "primary-input" + }, + "folded_animation": { + "layers": [ + { + "filename": "entity:laser-turret/laser-turret-gun-start", + "priority": "medium", + "width": 66, + "height": 67, + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "axially_symmetrical": false, + "direction_count": 4, + "shift": [ + -0.03125, + -0.984375 + ] + }, + { + "filename": "entity:laser-turret/laser-turret-gun-start-shadow", + "width": 92, + "height": 50, + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "axially_symmetrical": false, + "direction_count": 4, + "draw_as_shadow": true, + "shift": [ + 1.375, + 0 + ] + }, + { + "filename": "entity:laser-turret/laser-turret-gun-start-mask", + "flags": [ + "mask" + ], + "width": 51, + "height": 47, + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "axially_symmetrical": false, + "apply_runtime_tint": true, + "direction_count": 4, + "shift": [ + -0.015625, + -1.26563 + ] + } + ] + }, + "preparing_animation": { + "layers": [ + { + "filename": "entity:laser-turret/laser-turret-gun-start", + "priority": "medium", + "width": 66, + "height": 67, + "frame_count": 15, + "line_length": 0, + "run_mode": "forward", + "axially_symmetrical": false, + "direction_count": 4, + "shift": [ + -0.03125, + -0.984375 + ] + }, + { + "filename": "entity:laser-turret/laser-turret-gun-start-shadow", + "width": 92, + "height": 50, + "frame_count": 15, + "line_length": 0, + "run_mode": "forward", + "axially_symmetrical": false, + "direction_count": 4, + "draw_as_shadow": true, + "shift": [ + 1.375, + 0 + ] + }, + { + "filename": "entity:laser-turret/laser-turret-gun-start-mask", + "flags": [ + "mask" + ], + "width": 51, + "height": 47, + "frame_count": 15, + "line_length": 0, + "run_mode": "forward", + "axially_symmetrical": false, + "apply_runtime_tint": true, + "direction_count": 4, + "shift": [ + -0.015625, + -1.26563 + ] + } + ] + }, + "prepared_animation": { + "layers": [ + { + "filename": "entity:laser-turret/laser-turret-gun", + "line_length": 8, + "width": 68, + "height": 68, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + -0.03125, + -1 + ] + }, + { + "filename": "entity:laser-turret/laser-turret-gun-mask", + "flags": [ + "mask" + ], + "line_length": 8, + "width": 54, + "height": 44, + "frame_count": 1, + "axially_symmetrical": false, + "apply_runtime_tint": true, + "direction_count": 64, + "shift": [ + -0.03125, + -1.3125 + ] + }, + { + "filename": "entity:laser-turret/laser-turret-gun-shadow", + "line_length": 8, + "width": 88, + "height": 52, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "draw_as_shadow": true, + "shift": [ + 1.5, + 0 + ] + } + ] + }, + "folding_animation": { + "layers": [ + { + "filename": "entity:laser-turret/laser-turret-gun-start", + "priority": "medium", + "width": 66, + "height": 67, + "frame_count": 15, + "line_length": 0, + "run_mode": "backward", + "axially_symmetrical": false, + "direction_count": 4, + "shift": [ + -0.03125, + -0.984375 + ] + }, + { + "filename": "entity:laser-turret/laser-turret-gun-start-shadow", + "width": 92, + "height": 50, + "frame_count": 15, + "line_length": 0, + "run_mode": "backward", + "axially_symmetrical": false, + "direction_count": 4, + "draw_as_shadow": true, + "shift": [ + 1.375, + 0 + ] + }, + { + "filename": "entity:laser-turret/laser-turret-gun-start-mask", + "flags": [ + "mask" + ], + "width": 51, + "height": 47, + "frame_count": 15, + "line_length": 0, + "run_mode": "backward", + "axially_symmetrical": false, + "apply_runtime_tint": true, + "direction_count": 4, + "shift": [ + -0.015625, + -1.26563 + ] + } + ] + }, + "base_picture": { + "layers": [ + { + "filename": "entity:laser-turret/laser-turret-base", + "priority": "high", + "width": 98, + "height": 82, + "axially_symmetrical": false, + "direction_count": 1, + "frame_count": 1, + "shift": [ + 0.015625, + 0.03125 + ] + }, + { + "filename": "entity:laser-turret/laser-turret-base-mask", + "flags": [ + "mask" + ], + "line_length": 1, + "width": 54, + "height": 46, + "axially_symmetrical": false, + "apply_runtime_tint": true, + "direction_count": 1, + "frame_count": 1, + "shift": [ + -0.046875, + -0.109375 + ] + } + ] + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "attack_parameters": { + "type": "projectile", + "ammo_category": "electric", + "cooldown": 20, + "projectile_center": [ + -0.09375, + -0.2 + ], + "projectile_creation_distance": 1.4, + "range": 24, + "damage_modifier": 4, + "ammo_type": { + "type": "projectile", + "category": "laser-turret", + "energy_consumption": "800kJ", + "action": [ + { + "type": "direct", + "action_delivery": [ + { + "type": "projectile", + "projectile": "laser", + "starting_speed": 0.35 + } + ] + } + ] + }, + "sound": [ + { + "filename": "entity:fight/laser-1", + "volume": 0.5 + }, + { + "filename": "entity:fight/laser-2", + "volume": 0.5 + }, + { + "filename": "entity:fight/laser-3", + "volume": 0.5 + } + ] + }, + "call_for_help_radius": 40, + "size": { + "width": 2, + "height": 2 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + }, + "flamethrower-turret": { + "type": "fluid-turret", + "name": "flamethrower-turret", + "icon": "entity:icons/flamethrower-turret", + "icon_size": 32, + "flags": [ + "placeable-player", + "player-creation" + ], + "minable": { + "mining_time": 0.5, + "result": "flamethrower-turret" + }, + "max_health": 1400, + "corpse": "medium-remnants", + "collision_box": [ + [ + -0.7, + -1.2 + ], + [ + 0.7, + 1.2 + ] + ], + "selection_box": [ + [ + -1, + -1.5 + ], + [ + 1, + 1.5 + ] + ], + "rotation_speed": 0.015, + "preparing_speed": 0.08, + "folding_speed": 0.08, + "attacking_speed": 1, + "ending_attack_speed": 0.2, + "dying_explosion": "medium-explosion", + "inventory_size": 1, + "automated_ammo_count": 10, + "attacking_animation_fade_out": 10, + "turret_base_has_direction": true, + "resistances": [ + { + "type": "fire", + "percent": 100 + } + ], + "fluid_box": { + "secondary_draw_order": 0, + "render_layer": "lower-object", + "pipe_picture": { + "0": { + "filename": "entity:pipe/pipe-straight-vertical", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-straight-vertical", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "shift": [ + 0, + 1 + ] + }, + "shift": [ + 0, + 1 + ] + }, + "2": { + "filename": "entity:pipe/pipe-straight-horizontal", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-straight-horizontal", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "shift": [ + -1, + 0 + ] + }, + "shift": [ + -1, + 0 + ] + }, + "4": { + "filename": "entity:pipe/pipe-straight-vertical", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-straight-vertical", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "shift": [ + 0, + -1 + ] + }, + "shift": [ + 0, + -1 + ] + }, + "6": { + "filename": "entity:pipe/pipe-straight-horizontal", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe/hr-pipe-straight-horizontal", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "shift": [ + 1, + 0 + ] + }, + "shift": [ + 1, + 0 + ] + } + }, + "pipe_covers": { + "0": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-north", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-north-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-north-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-east", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-east-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-east-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-south", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-south-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-south-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:pipe-covers/pipe-cover-west", + "priority": "extra-high", + "width": 64, + "height": 64, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5 + } + }, + { + "filename": "entity:pipe-covers/pipe-cover-west-shadow", + "priority": "extra-high", + "width": 64, + "height": 64, + "draw_as_shadow": true, + "hr_version": { + "filename": "entity:pipe-covers/hr-pipe-cover-west-shadow", + "priority": "extra-high", + "width": 128, + "height": 128, + "scale": 0.5, + "draw_as_shadow": true + } + } + ] + } + }, + "base_area": 1, + "pipe_connections": [ + { + "position": [ + -1.5, + 1 + ] + }, + { + "position": [ + 1.5, + 1 + ] + } + ] + }, + "fluid_buffer_size": 100, + "fluid_buffer_input_flow": 0.8333333333333334, + "activation_buffer_ratio": 0.25, + "folded_animation": { + "0": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -1.109375 + ], + "y": 0 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -1.109375 + ], + "apply_runtime_tint": true, + "y": 0 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 1.04688, + -0.3125 + ], + "draw_as_shadow": true, + "y": 0 + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0.625, + -0.484375 + ], + "y": 585 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0.625, + -0.484375 + ], + "apply_runtime_tint": true, + "y": 549 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 1.67188, + 0.3125 + ], + "draw_as_shadow": true, + "y": 504 + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -0.171875 + ], + "y": 390 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -0.171875 + ], + "apply_runtime_tint": true, + "y": 366 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 1.04688, + 0.625 + ], + "draw_as_shadow": true, + "y": 336 + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + -0.46875, + -0.484375 + ], + "y": 195 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + -0.46875, + -0.484375 + ], + "apply_runtime_tint": true, + "y": 183 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 1, + "line_length": 1, + "run_mode": "forward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0.57813, + 0.3125 + ], + "draw_as_shadow": true, + "y": 168 + } + ] + } + }, + "preparing_animation": { + "0": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -1.109375 + ], + "y": 0 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -1.109375 + ], + "apply_runtime_tint": true, + "y": 0 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 1.04688, + -0.3125 + ], + "draw_as_shadow": true, + "y": 0 + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0.625, + -0.484375 + ], + "y": 585 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0.625, + -0.484375 + ], + "apply_runtime_tint": true, + "y": 549 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 1.67188, + 0.3125 + ], + "draw_as_shadow": true, + "y": 504 + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -0.171875 + ], + "y": 390 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -0.171875 + ], + "apply_runtime_tint": true, + "y": 366 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 1.04688, + 0.625 + ], + "draw_as_shadow": true, + "y": 336 + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + -0.46875, + -0.484375 + ], + "y": 195 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + -0.46875, + -0.484375 + ], + "apply_runtime_tint": true, + "y": 183 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 15, + "line_length": 5, + "run_mode": "forward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0.57813, + 0.3125 + ], + "draw_as_shadow": true, + "y": 168 + } + ] + } + }, + "prepared_animation": { + "0": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -1.0625 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -1.171875 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.984375, + -0.296875 + ], + "draw_as_shadow": true + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.625, + -0.4375 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.625, + -0.546875 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 1.609375, + 0.328125 + ], + "draw_as_shadow": true + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -0.125 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -0.234375 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.984375, + 0.640625 + ], + "draw_as_shadow": true + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + -0.46875, + -0.4375 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + -0.46875, + -0.546875 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.515625, + 0.328125 + ], + "draw_as_shadow": true + } + ] + } + }, + "attacking_animation": { + "0": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -1.0625 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-active", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 63, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -1.078125 + ], + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "blend_mode": "additive" + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -1.171875 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.984375, + -0.296875 + ], + "draw_as_shadow": true + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.625, + -0.4375 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-active", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 63, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.625, + -0.453125 + ], + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "blend_mode": "additive" + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.625, + -0.546875 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 1.609375, + 0.328125 + ], + "draw_as_shadow": true + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -0.125 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-active", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 63, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -0.140625 + ], + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "blend_mode": "additive" + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -0.234375 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.984375, + 0.640625 + ], + "draw_as_shadow": true + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + -0.46875, + -0.4375 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-active", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 63, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + -0.46875, + -0.453125 + ], + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "blend_mode": "additive" + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + -0.46875, + -0.546875 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.515625, + 0.328125 + ], + "draw_as_shadow": true + } + ] + } + }, + "ending_attack_animation": { + "0": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -1.0625 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-active", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 63, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -1.078125 + ], + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "blend_mode": "additive" + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -1.171875 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.984375, + -0.296875 + ], + "draw_as_shadow": true + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.625, + -0.4375 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-active", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 63, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.625, + -0.453125 + ], + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "blend_mode": "additive" + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.625, + -0.546875 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 1.609375, + 0.328125 + ], + "draw_as_shadow": true + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -0.125 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-active", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 63, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -0.140625 + ], + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "blend_mode": "additive" + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0, + -0.234375 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.984375, + 0.640625 + ], + "draw_as_shadow": true + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun", + "priority": "medium", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 64, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + -0.46875, + -0.4375 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-active", + "counterclockwise": true, + "line_length": 8, + "width": 78, + "height": 63, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + -0.46875, + -0.453125 + ], + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.5 + }, + "blend_mode": "additive" + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-mask", + "flags": [ + "mask" + ], + "counterclockwise": true, + "line_length": 8, + "width": 72, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + -0.46875, + -0.546875 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-shadow", + "counterclockwise": true, + "line_length": 8, + "width": 91, + "height": 57, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 64, + "shift": [ + 0.515625, + 0.328125 + ], + "draw_as_shadow": true + } + ] + } + }, + "folding_animation": { + "0": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -1.109375 + ], + "y": 0 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -1.109375 + ], + "apply_runtime_tint": true, + "y": 0 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 1.04688, + -0.3125 + ], + "draw_as_shadow": true, + "y": 0 + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0.625, + -0.484375 + ], + "y": 585 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0.625, + -0.484375 + ], + "apply_runtime_tint": true, + "y": 549 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 1.67188, + 0.3125 + ], + "draw_as_shadow": true, + "y": 504 + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -0.171875 + ], + "y": 390 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0, + -0.171875 + ], + "apply_runtime_tint": true, + "y": 366 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 1.04688, + 0.625 + ], + "draw_as_shadow": true, + "y": 336 + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension", + "priority": "medium", + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 78, + "height": 65, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + -0.46875, + -0.484375 + ], + "y": 195 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask", + "flags": [ + "mask" + ], + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 74, + "height": 61, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + -0.46875, + -0.484375 + ], + "apply_runtime_tint": true, + "y": 183 + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-gun-extension-shadow", + "frame_count": 15, + "line_length": 5, + "run_mode": "backward", + "width": 91, + "height": 56, + "direction_count": 1, + "axially_symmetrical": false, + "shift": [ + 0.57813, + 0.3125 + ], + "draw_as_shadow": true, + "y": 168 + } + ] + } + }, + "not_enough_fuel_indicator_picture": { + "0": { + "filename": "entity:flamethrower-turret/flamethrower-turret-led-indicator-north", + "line_length": 2, + "width": 5, + "height": 9, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.234375, + 0.640625 + ] + }, + "2": { + "filename": "entity:flamethrower-turret/flamethrower-turret-led-indicator-east", + "line_length": 2, + "width": 10, + "height": 6, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + -1.03125, + -0.15625 + ] + }, + "4": { + "filename": "entity:flamethrower-turret/flamethrower-turret-led-indicator-south", + "line_length": 2, + "width": 5, + "height": 8, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + -0.234375, + -1.375 + ] + }, + "6": { + "filename": "entity:flamethrower-turret/flamethrower-turret-led-indicator-west", + "line_length": 2, + "width": 10, + "height": 6, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 1.03125, + -0.46875 + ] + } + }, + "enough_fuel_indicator_picture": { + "0": { + "filename": "entity:flamethrower-turret/flamethrower-turret-led-indicator-north", + "line_length": 2, + "width": 5, + "height": 9, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.234375, + 0.640625 + ], + "x": 5 + }, + "2": { + "filename": "entity:flamethrower-turret/flamethrower-turret-led-indicator-east", + "line_length": 2, + "width": 10, + "height": 6, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + -1.03125, + -0.15625 + ], + "x": 10 + }, + "4": { + "filename": "entity:flamethrower-turret/flamethrower-turret-led-indicator-south", + "line_length": 2, + "width": 5, + "height": 8, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + -0.234375, + -1.375 + ], + "x": 5 + }, + "6": { + "filename": "entity:flamethrower-turret/flamethrower-turret-led-indicator-west", + "line_length": 2, + "width": 10, + "height": 6, + "frame_count": 2, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 1.03125, + -0.46875 + ], + "x": 10 + } + }, + "indicator_light": { + "intensity": 0.8, + "size": 0.9 + }, + "gun_animation_render_layer": "object", + "gun_animation_secondary_draw_order": 1, + "base_picture_render_layer": "lower-object", + "base_picture_secondary_draw_order": 1, + "base_picture": { + "0": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-north", + "line_length": 1, + "width": 69, + "height": 86, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + -0.015625, + 0.34375 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-north-mask", + "flags": [ + "mask" + ], + "line_length": 1, + "width": 37, + "height": 37, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + -0.015625, + 1.04688 + ], + "apply_runtime_tint": true + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-north-shadow", + "draw_as_shadow": true, + "line_length": 1, + "width": 71, + "height": 78, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.140625, + 0.46875 + ] + } + ] + }, + "2": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-east", + "line_length": 1, + "width": 95, + "height": 60, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + -0.140625, + 0.125 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-east-mask", + "flags": [ + "mask" + ], + "apply_runtime_tint": true, + "line_length": 1, + "width": 33, + "height": 42, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + -1.01563, + 0.03125 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-east-shadow", + "draw_as_shadow": true, + "line_length": 1, + "width": 100, + "height": 44, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.03125, + 0.28125 + ] + } + ] + }, + "4": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-south", + "line_length": 1, + "width": 70, + "height": 90, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0, + -0.15625 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-south-mask", + "flags": [ + "mask" + ], + "apply_runtime_tint": true, + "line_length": 1, + "width": 37, + "height": 37, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.015625, + -0.953125 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-south-shadow", + "draw_as_shadow": true, + "line_length": 1, + "width": 67, + "height": 70, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.140625, + -0.0625 + ] + } + ] + }, + "6": { + "layers": [ + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-west", + "line_length": 1, + "width": 93, + "height": 59, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.140625, + 0.203125 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-west-mask", + "flags": [ + "mask" + ], + "apply_runtime_tint": true, + "line_length": 1, + "width": 33, + "height": 40, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 1.01563, + 0.09375 + ] + }, + { + "filename": "entity:flamethrower-turret/flamethrower-turret-base-west-shadow", + "draw_as_shadow": true, + "line_length": 1, + "width": 103, + "height": 45, + "frame_count": 1, + "axially_symmetrical": false, + "direction_count": 1, + "shift": [ + 0.484375, + 0.296875 + ] + } + ] + } + }, + "muzzle_animation": { + "filename": "entity:flamethrower-turret/flamethrower-turret-muzzle-fire", + "line_length": 8, + "width": 17, + "height": 41, + "frame_count": 32, + "axially_symmetrical": false, + "direction_count": 1, + "blend_mode": "additive", + "scale": 0.5, + "shift": [ + 0.0078125, + -0.2234375 + ] + }, + "muzzle_light": { + "intensity": 0.7, + "size": 3 + }, + "folded_muzzle_animation_shift": { + "rotations": [ + { + "frames": [ + [ + 6.547803732916165e-17, + -1.4590777198723306 + ] + ], + "render_layer": "object" + }, + { + "frames": [ + [ + 1.0693375, + -0.7029419222453116 + ] + ] + }, + { + "frames": [ + [ + 6.547803732916165e-17, + 0.05319387538170744 + ] + ] + }, + { + "frames": [ + [ + -1.0693375, + -0.7029419222453115 + ] + ] + } + ], + "direction_shift": { + "0": [ + 0, + -0.3125 + ], + "2": [ + 0.625, + 0.3125 + ], + "4": [ + 0, + 0.625 + ], + "6": [ + -0.46875, + 0.3125 + ] + } + }, + "preparing_muzzle_animation_shift": { + "rotations": [ + { + "frames": [ + [ + 6.547803732916165e-17, + -1.4590777198723306 + ], + [ + 6.430237263876306e-17, + -1.4914130973926114 + ], + [ + 6.295363094513917e-17, + -1.5211108176413644 + ], + [ + 6.143440298106037e-17, + -1.548113835702266 + ], + [ + 5.974760695813893e-17, + -1.5723702827822625 + ], + [ + 5.789648296137726e-17, + -1.593833565843828 + ], + [ + 5.588458672544502e-17, + -1.6124624571032795 + ], + [ + 5.371578280464032e-17, + -1.6282211732232355 + ], + [ + 5.139423714965394e-17, + -1.641079444047103 + ], + [ + 4.8924409105395874e-17, + -1.6510125707435543 + ], + [ + 4.631104284525516e-17, + -1.6580014732493227 + ], + [ + 4.355915825824629e-17, + -1.6620327269191726 + ], + [ + 4.067404130654696e-17, + -1.6630985883126534 + ], + [ + 3.7661233871948606e-17, + -1.6611970100680988 + ], + [ + 3.452652311072337e-17, + -1.6563316448353067 + ] + ], + "render_layer": "object" + }, + { + "frames": [ + [ + 1.0693375, + -0.7029419222453116 + ], + [ + 1.0501374385420006, + -0.7488537934217412 + ], + [ + 1.0281108151177947, + -0.7941266884603916 + ], + [ + 1.003299939604356, + -0.83867364484402 + ], + [ + 0.9757524700140081, + -0.8824090944758805 + ], + [ + 0.9455213209504496, + -0.9252490280433479 + ], + [ + 0.9126645619676474, + -0.967111156387349 + ], + [ + 0.8772453060268373, + -1.0079150685676326 + ], + [ + 0.8393315882658836, + -1.0475823863202611 + ], + [ + 0.7989962353138709, + -1.0860369146106317 + ], + [ + 0.7563167254019478, + -1.1232047879928373 + ], + [ + 0.7113750395391369, + -1.1590146124942344 + ], + [ + 0.6642575040389737, + -1.1933976027526763 + ], + [ + 0.6150546246994615, + -1.226287714142992 + ], + [ + 0.5638609129548549, + -1.257621769638918 + ] + ] + }, + { + "frames": [ + [ + 6.547803732916165e-17, + 0.05319387538170744 + ], + [ + 6.430237263876306e-17, + -0.006294489450871084 + ], + [ + 6.295363094513917e-17, + -0.06714255927941898 + ], + [ + 6.143440298106037e-17, + -0.1292334539857739 + ], + [ + 5.974760695813893e-17, + -0.19244790616949825 + ], + [ + 5.789648296137726e-17, + -0.25666449024286786 + ], + [ + 5.588458672544502e-17, + -0.32175985567141885 + ], + [ + 5.371578280464032e-17, + -0.3876089639120295 + ], + [ + 5.139423714965394e-17, + -0.4540853285934194 + ], + [ + 4.8924409105395874e-17, + -0.5210612584777091 + ], + [ + 4.631104284525516e-17, + -0.5884081027363519 + ], + [ + 4.355915825824629e-17, + -0.655996498069296 + ], + [ + 4.067404130654696e-17, + -0.7236966171926988 + ], + [ + 3.7661233871948606e-17, + -0.791378418217885 + ], + [ + 3.452652311072337e-17, + -0.8589118944425292 + ] + ] + }, + { + "frames": [ + [ + -1.0693375, + -0.7029419222453115 + ], + [ + -1.0501374385420006, + -0.748853793421741 + ], + [ + -1.0281108151177947, + -0.7941266884603915 + ], + [ + -1.003299939604356, + -0.8386736448440198 + ], + [ + -0.9757524700140081, + -0.8824090944758802 + ], + [ + -0.9455213209504496, + -0.9252490280433477 + ], + [ + -0.9126645619676474, + -0.9671111563873489 + ], + [ + -0.8772453060268373, + -1.0079150685676326 + ], + [ + -0.8393315882658836, + -1.0475823863202611 + ], + [ + -0.7989962353138709, + -1.0860369146106317 + ], + [ + -0.7563167254019478, + -1.1232047879928373 + ], + [ + -0.7113750395391369, + -1.1590146124942344 + ], + [ + -0.6642575040389737, + -1.1933976027526763 + ], + [ + -0.6150546246994615, + -1.226287714142992 + ], + [ + -0.5638609129548549, + -1.257621769638918 + ] + ] + } + ], + "direction_shift": { + "0": [ + 0, + -0.3125 + ], + "2": [ + 0.625, + 0.3125 + ], + "4": [ + 0, + 0.625 + ], + "6": [ + -0.46875, + 0.3125 + ] + } + }, + "prepared_muzzle_animation_shift": { + "rotations": [ + { + "frames": [ + [ + 3.452652311072337e-17, + -1.6563316448353067 + ] + ] + }, + { + "frames": [ + [ + 0.055268034231450255, + -1.6544117478077418 + ] + ] + }, + { + "frames": [ + [ + 0.11000380708067072, + -1.648670546382945 + ] + ] + }, + { + "frames": [ + [ + 0.16368018313350652, + -1.6391633314690972 + ] + ] + }, + { + "frames": [ + [ + 0.215780229546077, + -1.6259816627429913 + ] + ] + }, + { + "frames": [ + [ + 0.26580219439064656, + -1.609252486880292 + ] + ] + }, + { + "frames": [ + [ + 0.31326433880097443, + -1.5891369149896557 + ] + ] + }, + { + "frames": [ + [ + 0.3577095763809419, + -1.5658286710246785 + ] + ] + }, + { + "frames": [ + [ + 0.39870987519641543, + -1.5395522261163266 + ] + ] + }, + { + "frames": [ + [ + 0.43587037995675915, + -1.5105606367932323 + ] + ] + }, + { + "frames": [ + [ + 0.46883321468713246, + -1.4791331079089922 + ] + ] + }, + { + "frames": [ + [ + 0.4972809292697634, + -1.4455723037467965 + ] + ] + }, + { + "frames": [ + [ + 0.5209395566621187, + -1.4102014331969286 + ] + ] + }, + { + "frames": [ + [ + 0.5395812513492886, + -1.3733611370784686 + ] + ] + }, + { + "frames": [ + [ + 0.5530264836208488, + -1.3354062075819917 + ] + ] + }, + { + "frames": [ + [ + 0.5611457685401126, + -1.296702171426824 + ] + ] + }, + { + "frames": [ + [ + 0.5638609129548549, + -1.257621769638918 + ] + ] + }, + { + "frames": [ + [ + 0.5611457685401126, + -1.218541367851012 + ] + ] + }, + { + "frames": [ + [ + 0.5530264836208488, + -1.1798373316958441 + ] + ] + }, + { + "frames": [ + [ + 0.5395812513492886, + -1.1418824021993674 + ] + ] + }, + { + "frames": [ + [ + 0.5209395566621187, + -1.1050421060809075 + ] + ] + }, + { + "frames": [ + [ + 0.4972809292697634, + -1.0696712355310394 + ] + ] + }, + { + "frames": [ + [ + 0.46883321468713246, + -1.0361104313688438 + ] + ] + }, + { + "frames": [ + [ + 0.43587037995675915, + -1.0046829024846036 + ] + ] + }, + { + "frames": [ + [ + 0.39870987519641543, + -0.9756913131615094 + ] + ] + }, + { + "frames": [ + [ + 0.3577095763809419, + -0.9494148682531574 + ] + ] + }, + { + "frames": [ + [ + 0.31326433880097443, + -0.9261066242881804 + ] + ] + }, + { + "frames": [ + [ + 0.26580219439064656, + -0.9059910523975441 + ] + ] + }, + { + "frames": [ + [ + 0.215780229546077, + -0.8892618765348449 + ] + ] + }, + { + "frames": [ + [ + 0.16368018313350652, + -0.8760802078087386 + ] + ] + }, + { + "frames": [ + [ + 0.11000380708067072, + -0.866572992894891 + ] + ] + }, + { + "frames": [ + [ + 0.055268034231450255, + -0.8608317914700941 + ] + ] + }, + { + "frames": [ + [ + 3.452652311072337e-17, + -0.8589118944425292 + ] + ] + }, + { + "frames": [ + [ + -0.055268034231450186, + -0.8608317914700941 + ] + ] + }, + { + "frames": [ + [ + -0.11000380708067065, + -0.866572992894891 + ] + ] + }, + { + "frames": [ + [ + -0.16368018313350646, + -0.8760802078087386 + ] + ] + }, + { + "frames": [ + [ + -0.21578022954607695, + -0.8892618765348449 + ] + ] + }, + { + "frames": [ + [ + -0.26580219439064656, + -0.9059910523975441 + ] + ] + }, + { + "frames": [ + [ + -0.31326433880097426, + -0.9261066242881804 + ] + ] + }, + { + "frames": [ + [ + -0.3577095763809418, + -0.949414868253157 + ] + ] + }, + { + "frames": [ + [ + -0.39870987519641543, + -0.9756913131615094 + ] + ] + }, + { + "frames": [ + [ + -0.43587037995675915, + -1.0046829024846036 + ] + ] + }, + { + "frames": [ + [ + -0.4688332146871325, + -1.0361104313688438 + ] + ] + }, + { + "frames": [ + [ + -0.4972809292697633, + -1.0696712355310394 + ] + ] + }, + { + "frames": [ + [ + -0.5209395566621187, + -1.1050421060809072 + ] + ] + }, + { + "frames": [ + [ + -0.5395812513492886, + -1.1418824021993672 + ] + ] + }, + { + "frames": [ + [ + -0.5530264836208488, + -1.179837331695844 + ] + ] + }, + { + "frames": [ + [ + -0.5611457685401126, + -1.218541367851012 + ] + ] + }, + { + "frames": [ + [ + -0.5638609129548549, + -1.257621769638918 + ] + ] + }, + { + "frames": [ + [ + -0.5611457685401126, + -1.296702171426824 + ] + ] + }, + { + "frames": [ + [ + -0.5530264836208488, + -1.335406207581992 + ] + ] + }, + { + "frames": [ + [ + -0.5395812513492887, + -1.3733611370784686 + ] + ] + }, + { + "frames": [ + [ + -0.5209395566621186, + -1.4102014331969286 + ] + ] + }, + { + "frames": [ + [ + -0.4972809292697634, + -1.4455723037467965 + ] + ] + }, + { + "frames": [ + [ + -0.46883321468713246, + -1.479133107908992 + ] + ] + }, + { + "frames": [ + [ + -0.43587037995675926, + -1.510560636793232 + ] + ] + }, + { + "frames": [ + [ + -0.39870987519641554, + -1.5395522261163266 + ] + ] + }, + { + "frames": [ + [ + -0.3577095763809421, + -1.5658286710246785 + ] + ] + }, + { + "frames": [ + [ + -0.3132643388009744, + -1.5891369149896557 + ] + ] + }, + { + "frames": [ + [ + -0.2658021943906467, + -1.609252486880292 + ] + ] + }, + { + "frames": [ + [ + -0.21578022954607723, + -1.6259816627429908 + ] + ] + }, + { + "frames": [ + [ + -0.16368018313350657, + -1.6391633314690972 + ] + ] + }, + { + "frames": [ + [ + -0.11000380708067092, + -1.648670546382945 + ] + ] + }, + { + "frames": [ + [ + -0.05526803423145008, + -1.6544117478077418 + ] + ] + } + ], + "direction_shift": { + "0": [ + 0, + -0.3125 + ], + "2": [ + 0.625, + 0.3125 + ], + "4": [ + 0, + 0.625 + ], + "6": [ + -0.46875, + 0.3125 + ] + } + }, + "attacking_muzzle_animation_shift": { + "rotations": [ + { + "frames": [ + [ + 3.452652311072337e-17, + -1.6563316448353067 + ] + ] + }, + { + "frames": [ + [ + 0.055268034231450255, + -1.6544117478077418 + ] + ] + }, + { + "frames": [ + [ + 0.11000380708067072, + -1.648670546382945 + ] + ] + }, + { + "frames": [ + [ + 0.16368018313350652, + -1.6391633314690972 + ] + ] + }, + { + "frames": [ + [ + 0.215780229546077, + -1.6259816627429913 + ] + ] + }, + { + "frames": [ + [ + 0.26580219439064656, + -1.609252486880292 + ] + ] + }, + { + "frames": [ + [ + 0.31326433880097443, + -1.5891369149896557 + ] + ] + }, + { + "frames": [ + [ + 0.3577095763809419, + -1.5658286710246785 + ] + ] + }, + { + "frames": [ + [ + 0.39870987519641543, + -1.5395522261163266 + ] + ] + }, + { + "frames": [ + [ + 0.43587037995675915, + -1.5105606367932323 + ] + ] + }, + { + "frames": [ + [ + 0.46883321468713246, + -1.4791331079089922 + ] + ] + }, + { + "frames": [ + [ + 0.4972809292697634, + -1.4455723037467965 + ] + ] + }, + { + "frames": [ + [ + 0.5209395566621187, + -1.4102014331969286 + ] + ] + }, + { + "frames": [ + [ + 0.5395812513492886, + -1.3733611370784686 + ] + ] + }, + { + "frames": [ + [ + 0.5530264836208488, + -1.3354062075819917 + ] + ] + }, + { + "frames": [ + [ + 0.5611457685401126, + -1.296702171426824 + ] + ] + }, + { + "frames": [ + [ + 0.5638609129548549, + -1.257621769638918 + ] + ] + }, + { + "frames": [ + [ + 0.5611457685401126, + -1.218541367851012 + ] + ] + }, + { + "frames": [ + [ + 0.5530264836208488, + -1.1798373316958441 + ] + ] + }, + { + "frames": [ + [ + 0.5395812513492886, + -1.1418824021993674 + ] + ] + }, + { + "frames": [ + [ + 0.5209395566621187, + -1.1050421060809075 + ] + ] + }, + { + "frames": [ + [ + 0.4972809292697634, + -1.0696712355310394 + ] + ] + }, + { + "frames": [ + [ + 0.46883321468713246, + -1.0361104313688438 + ] + ] + }, + { + "frames": [ + [ + 0.43587037995675915, + -1.0046829024846036 + ] + ] + }, + { + "frames": [ + [ + 0.39870987519641543, + -0.9756913131615094 + ] + ] + }, + { + "frames": [ + [ + 0.3577095763809419, + -0.9494148682531574 + ] + ] + }, + { + "frames": [ + [ + 0.31326433880097443, + -0.9261066242881804 + ] + ] + }, + { + "frames": [ + [ + 0.26580219439064656, + -0.9059910523975441 + ] + ] + }, + { + "frames": [ + [ + 0.215780229546077, + -0.8892618765348449 + ] + ] + }, + { + "frames": [ + [ + 0.16368018313350652, + -0.8760802078087386 + ] + ] + }, + { + "frames": [ + [ + 0.11000380708067072, + -0.866572992894891 + ] + ] + }, + { + "frames": [ + [ + 0.055268034231450255, + -0.8608317914700941 + ] + ] + }, + { + "frames": [ + [ + 3.452652311072337e-17, + -0.8589118944425292 + ] + ] + }, + { + "frames": [ + [ + -0.055268034231450186, + -0.8608317914700941 + ] + ] + }, + { + "frames": [ + [ + -0.11000380708067065, + -0.866572992894891 + ] + ] + }, + { + "frames": [ + [ + -0.16368018313350646, + -0.8760802078087386 + ] + ] + }, + { + "frames": [ + [ + -0.21578022954607695, + -0.8892618765348449 + ] + ] + }, + { + "frames": [ + [ + -0.26580219439064656, + -0.9059910523975441 + ] + ] + }, + { + "frames": [ + [ + -0.31326433880097426, + -0.9261066242881804 + ] + ] + }, + { + "frames": [ + [ + -0.3577095763809418, + -0.949414868253157 + ] + ] + }, + { + "frames": [ + [ + -0.39870987519641543, + -0.9756913131615094 + ] + ] + }, + { + "frames": [ + [ + -0.43587037995675915, + -1.0046829024846036 + ] + ] + }, + { + "frames": [ + [ + -0.4688332146871325, + -1.0361104313688438 + ] + ] + }, + { + "frames": [ + [ + -0.4972809292697633, + -1.0696712355310394 + ] + ] + }, + { + "frames": [ + [ + -0.5209395566621187, + -1.1050421060809072 + ] + ] + }, + { + "frames": [ + [ + -0.5395812513492886, + -1.1418824021993672 + ] + ] + }, + { + "frames": [ + [ + -0.5530264836208488, + -1.179837331695844 + ] + ] + }, + { + "frames": [ + [ + -0.5611457685401126, + -1.218541367851012 + ] + ] + }, + { + "frames": [ + [ + -0.5638609129548549, + -1.257621769638918 + ] + ] + }, + { + "frames": [ + [ + -0.5611457685401126, + -1.296702171426824 + ] + ] + }, + { + "frames": [ + [ + -0.5530264836208488, + -1.335406207581992 + ] + ] + }, + { + "frames": [ + [ + -0.5395812513492887, + -1.3733611370784686 + ] + ] + }, + { + "frames": [ + [ + -0.5209395566621186, + -1.4102014331969286 + ] + ] + }, + { + "frames": [ + [ + -0.4972809292697634, + -1.4455723037467965 + ] + ] + }, + { + "frames": [ + [ + -0.46883321468713246, + -1.479133107908992 + ] + ] + }, + { + "frames": [ + [ + -0.43587037995675926, + -1.510560636793232 + ] + ] + }, + { + "frames": [ + [ + -0.39870987519641554, + -1.5395522261163266 + ] + ] + }, + { + "frames": [ + [ + -0.3577095763809421, + -1.5658286710246785 + ] + ] + }, + { + "frames": [ + [ + -0.3132643388009744, + -1.5891369149896557 + ] + ] + }, + { + "frames": [ + [ + -0.2658021943906467, + -1.609252486880292 + ] + ] + }, + { + "frames": [ + [ + -0.21578022954607723, + -1.6259816627429908 + ] + ] + }, + { + "frames": [ + [ + -0.16368018313350657, + -1.6391633314690972 + ] + ] + }, + { + "frames": [ + [ + -0.11000380708067092, + -1.648670546382945 + ] + ] + }, + { + "frames": [ + [ + -0.05526803423145008, + -1.6544117478077418 + ] + ] + } + ], + "direction_shift": { + "0": [ + 0, + -0.3125 + ], + "2": [ + 0.625, + 0.3125 + ], + "4": [ + 0, + 0.625 + ], + "6": [ + -0.46875, + 0.3125 + ] + } + }, + "ending_attack_muzzle_animation_shift": { + "rotations": [ + { + "frames": [ + [ + 3.452652311072337e-17, + -1.6563316448353067 + ] + ] + }, + { + "frames": [ + [ + 0.055268034231450255, + -1.6544117478077418 + ] + ] + }, + { + "frames": [ + [ + 0.11000380708067072, + -1.648670546382945 + ] + ] + }, + { + "frames": [ + [ + 0.16368018313350652, + -1.6391633314690972 + ] + ] + }, + { + "frames": [ + [ + 0.215780229546077, + -1.6259816627429913 + ] + ] + }, + { + "frames": [ + [ + 0.26580219439064656, + -1.609252486880292 + ] + ] + }, + { + "frames": [ + [ + 0.31326433880097443, + -1.5891369149896557 + ] + ] + }, + { + "frames": [ + [ + 0.3577095763809419, + -1.5658286710246785 + ] + ] + }, + { + "frames": [ + [ + 0.39870987519641543, + -1.5395522261163266 + ] + ] + }, + { + "frames": [ + [ + 0.43587037995675915, + -1.5105606367932323 + ] + ] + }, + { + "frames": [ + [ + 0.46883321468713246, + -1.4791331079089922 + ] + ] + }, + { + "frames": [ + [ + 0.4972809292697634, + -1.4455723037467965 + ] + ] + }, + { + "frames": [ + [ + 0.5209395566621187, + -1.4102014331969286 + ] + ] + }, + { + "frames": [ + [ + 0.5395812513492886, + -1.3733611370784686 + ] + ] + }, + { + "frames": [ + [ + 0.5530264836208488, + -1.3354062075819917 + ] + ] + }, + { + "frames": [ + [ + 0.5611457685401126, + -1.296702171426824 + ] + ] + }, + { + "frames": [ + [ + 0.5638609129548549, + -1.257621769638918 + ] + ] + }, + { + "frames": [ + [ + 0.5611457685401126, + -1.218541367851012 + ] + ] + }, + { + "frames": [ + [ + 0.5530264836208488, + -1.1798373316958441 + ] + ] + }, + { + "frames": [ + [ + 0.5395812513492886, + -1.1418824021993674 + ] + ] + }, + { + "frames": [ + [ + 0.5209395566621187, + -1.1050421060809075 + ] + ] + }, + { + "frames": [ + [ + 0.4972809292697634, + -1.0696712355310394 + ] + ] + }, + { + "frames": [ + [ + 0.46883321468713246, + -1.0361104313688438 + ] + ] + }, + { + "frames": [ + [ + 0.43587037995675915, + -1.0046829024846036 + ] + ] + }, + { + "frames": [ + [ + 0.39870987519641543, + -0.9756913131615094 + ] + ] + }, + { + "frames": [ + [ + 0.3577095763809419, + -0.9494148682531574 + ] + ] + }, + { + "frames": [ + [ + 0.31326433880097443, + -0.9261066242881804 + ] + ] + }, + { + "frames": [ + [ + 0.26580219439064656, + -0.9059910523975441 + ] + ] + }, + { + "frames": [ + [ + 0.215780229546077, + -0.8892618765348449 + ] + ] + }, + { + "frames": [ + [ + 0.16368018313350652, + -0.8760802078087386 + ] + ] + }, + { + "frames": [ + [ + 0.11000380708067072, + -0.866572992894891 + ] + ] + }, + { + "frames": [ + [ + 0.055268034231450255, + -0.8608317914700941 + ] + ] + }, + { + "frames": [ + [ + 3.452652311072337e-17, + -0.8589118944425292 + ] + ] + }, + { + "frames": [ + [ + -0.055268034231450186, + -0.8608317914700941 + ] + ] + }, + { + "frames": [ + [ + -0.11000380708067065, + -0.866572992894891 + ] + ] + }, + { + "frames": [ + [ + -0.16368018313350646, + -0.8760802078087386 + ] + ] + }, + { + "frames": [ + [ + -0.21578022954607695, + -0.8892618765348449 + ] + ] + }, + { + "frames": [ + [ + -0.26580219439064656, + -0.9059910523975441 + ] + ] + }, + { + "frames": [ + [ + -0.31326433880097426, + -0.9261066242881804 + ] + ] + }, + { + "frames": [ + [ + -0.3577095763809418, + -0.949414868253157 + ] + ] + }, + { + "frames": [ + [ + -0.39870987519641543, + -0.9756913131615094 + ] + ] + }, + { + "frames": [ + [ + -0.43587037995675915, + -1.0046829024846036 + ] + ] + }, + { + "frames": [ + [ + -0.4688332146871325, + -1.0361104313688438 + ] + ] + }, + { + "frames": [ + [ + -0.4972809292697633, + -1.0696712355310394 + ] + ] + }, + { + "frames": [ + [ + -0.5209395566621187, + -1.1050421060809072 + ] + ] + }, + { + "frames": [ + [ + -0.5395812513492886, + -1.1418824021993672 + ] + ] + }, + { + "frames": [ + [ + -0.5530264836208488, + -1.179837331695844 + ] + ] + }, + { + "frames": [ + [ + -0.5611457685401126, + -1.218541367851012 + ] + ] + }, + { + "frames": [ + [ + -0.5638609129548549, + -1.257621769638918 + ] + ] + }, + { + "frames": [ + [ + -0.5611457685401126, + -1.296702171426824 + ] + ] + }, + { + "frames": [ + [ + -0.5530264836208488, + -1.335406207581992 + ] + ] + }, + { + "frames": [ + [ + -0.5395812513492887, + -1.3733611370784686 + ] + ] + }, + { + "frames": [ + [ + -0.5209395566621186, + -1.4102014331969286 + ] + ] + }, + { + "frames": [ + [ + -0.4972809292697634, + -1.4455723037467965 + ] + ] + }, + { + "frames": [ + [ + -0.46883321468713246, + -1.479133107908992 + ] + ] + }, + { + "frames": [ + [ + -0.43587037995675926, + -1.510560636793232 + ] + ] + }, + { + "frames": [ + [ + -0.39870987519641554, + -1.5395522261163266 + ] + ] + }, + { + "frames": [ + [ + -0.3577095763809421, + -1.5658286710246785 + ] + ] + }, + { + "frames": [ + [ + -0.3132643388009744, + -1.5891369149896557 + ] + ] + }, + { + "frames": [ + [ + -0.2658021943906467, + -1.609252486880292 + ] + ] + }, + { + "frames": [ + [ + -0.21578022954607723, + -1.6259816627429908 + ] + ] + }, + { + "frames": [ + [ + -0.16368018313350657, + -1.6391633314690972 + ] + ] + }, + { + "frames": [ + [ + -0.11000380708067092, + -1.648670546382945 + ] + ] + }, + { + "frames": [ + [ + -0.05526803423145008, + -1.6544117478077418 + ] + ] + } + ], + "direction_shift": { + "0": [ + 0, + -0.3125 + ], + "2": [ + 0.625, + 0.3125 + ], + "4": [ + 0, + 0.625 + ], + "6": [ + -0.46875, + 0.3125 + ] + } + }, + "folding_muzzle_animation_shift": { + "rotations": [ + { + "frames": [ + [ + 3.452652311072337e-17, + -1.6563316448353067 + ], + [ + 3.7661233871948606e-17, + -1.6611970100680988 + ], + [ + 4.067404130654696e-17, + -1.6630985883126534 + ], + [ + 4.355915825824629e-17, + -1.6620327269191726 + ], + [ + 4.631104284525516e-17, + -1.6580014732493227 + ], + [ + 4.8924409105395874e-17, + -1.6510125707435543 + ], + [ + 5.139423714965394e-17, + -1.641079444047103 + ], + [ + 5.371578280464032e-17, + -1.6282211732232355 + ], + [ + 5.588458672544502e-17, + -1.6124624571032795 + ], + [ + 5.789648296137726e-17, + -1.593833565843828 + ], + [ + 5.974760695813893e-17, + -1.5723702827822625 + ], + [ + 6.143440298106037e-17, + -1.548113835702266 + ], + [ + 6.295363094513917e-17, + -1.5211108176413644 + ], + [ + 6.430237263876306e-17, + -1.4914130973926114 + ], + [ + 6.547803732916165e-17, + -1.4590777198723306 + ] + ], + "render_layer": "object" + }, + { + "frames": [ + [ + 0.5638609129548549, + -1.257621769638918 + ], + [ + 0.6150546246994615, + -1.226287714142992 + ], + [ + 0.6642575040389737, + -1.1933976027526763 + ], + [ + 0.7113750395391369, + -1.1590146124942344 + ], + [ + 0.7563167254019478, + -1.1232047879928373 + ], + [ + 0.7989962353138709, + -1.0860369146106317 + ], + [ + 0.8393315882658836, + -1.0475823863202611 + ], + [ + 0.8772453060268373, + -1.0079150685676326 + ], + [ + 0.9126645619676474, + -0.967111156387349 + ], + [ + 0.9455213209504496, + -0.9252490280433479 + ], + [ + 0.9757524700140081, + -0.8824090944758805 + ], + [ + 1.003299939604356, + -0.83867364484402 + ], + [ + 1.0281108151177947, + -0.7941266884603916 + ], + [ + 1.0501374385420006, + -0.7488537934217412 + ], + [ + 1.0693375, + -0.7029419222453116 + ] + ] + }, + { + "frames": [ + [ + 3.452652311072337e-17, + -0.8589118944425292 + ], + [ + 3.7661233871948606e-17, + -0.791378418217885 + ], + [ + 4.067404130654696e-17, + -0.7236966171926988 + ], + [ + 4.355915825824629e-17, + -0.655996498069296 + ], + [ + 4.631104284525516e-17, + -0.5884081027363519 + ], + [ + 4.8924409105395874e-17, + -0.5210612584777091 + ], + [ + 5.139423714965394e-17, + -0.4540853285934194 + ], + [ + 5.371578280464032e-17, + -0.3876089639120295 + ], + [ + 5.588458672544502e-17, + -0.32175985567141885 + ], + [ + 5.789648296137726e-17, + -0.25666449024286786 + ], + [ + 5.974760695813893e-17, + -0.19244790616949825 + ], + [ + 6.143440298106037e-17, + -0.1292334539857739 + ], + [ + 6.295363094513917e-17, + -0.06714255927941898 + ], + [ + 6.430237263876306e-17, + -0.006294489450871084 + ], + [ + 6.547803732916165e-17, + 0.05319387538170744 + ] + ] + }, + { + "frames": [ + [ + -0.5638609129548549, + -1.257621769638918 + ], + [ + -0.6150546246994615, + -1.226287714142992 + ], + [ + -0.6642575040389737, + -1.1933976027526763 + ], + [ + -0.7113750395391369, + -1.1590146124942344 + ], + [ + -0.7563167254019478, + -1.1232047879928373 + ], + [ + -0.7989962353138709, + -1.0860369146106317 + ], + [ + -0.8393315882658836, + -1.0475823863202611 + ], + [ + -0.8772453060268373, + -1.0079150685676326 + ], + [ + -0.9126645619676474, + -0.9671111563873489 + ], + [ + -0.9455213209504496, + -0.9252490280433477 + ], + [ + -0.9757524700140081, + -0.8824090944758802 + ], + [ + -1.003299939604356, + -0.8386736448440198 + ], + [ + -1.0281108151177947, + -0.7941266884603915 + ], + [ + -1.0501374385420006, + -0.748853793421741 + ], + [ + -1.0693375, + -0.7029419222453115 + ] + ] + } + ], + "direction_shift": { + "0": [ + 0, + -0.3125 + ], + "2": [ + 0.625, + 0.3125 + ], + "4": [ + 0, + 0.625 + ], + "6": [ + -0.46875, + 0.3125 + ] + } + }, + "vehicle_impact_sound": { + "filename": "entity:sound/car-metal-impact", + "volume": 0.65 + }, + "prepare_range": 35, + "shoot_in_prepare_state": false, + "attack_parameters": { + "type": "stream", + "ammo_category": "flamethrower", + "cooldown": 4, + "range": 30, + "min_range": 6, + "turn_range": 0.3333333333333333, + "fire_penalty": 15, + "fluids": [ + { + "type": "crude-oil" + }, + { + "type": "heavy-oil", + "damage_modifier": 1.05 + }, + { + "type": "light-oil", + "damage_modifier": 1.1 + } + ], + "fluid_consumption": 0.2, + "gun_center_shift": { + "0": [ + 0, + -1.6625 + ], + "2": [ + 0.625, + -1.0375 + ], + "4": [ + 0, + -0.7250000000000001 + ], + "6": [ + -0.46875, + -1.0375 + ] + }, + "gun_barrel_length": 0.4, + "ammo_type": { + "category": "flamethrower", + "action": { + "type": "direct", + "action_delivery": { + "type": "stream", + "stream": "flamethrower-fire-stream", + "duration": 160, + "source_offset": [ + 0.15, + -0.5 + ] + } + } + }, + "cyclic_sound": { + "begin_sound": [ + { + "filename": "entity:fight/flamethrower-start", + "volume": 0.7 + } + ], + "middle_sound": [ + { + "filename": "entity:fight/flamethrower-mid", + "volume": 0.7 + } + ], + "end_sound": [ + { + "filename": "entity:fight/flamethrower-end", + "volume": 0.7 + } + ] + } + }, + "call_for_help_radius": 40, + "size": { + "width": 2, + "height": 3 + }, + "possible_rotations": [ + 0, + 2, + 4, + 6 + ] + } +} \ No newline at end of file diff --git a/src/bundles/inventoryBundle.json b/src/bundles/inventoryBundle.json new file mode 100644 index 00000000..0193d4ac --- /dev/null +++ b/src/bundles/inventoryBundle.json @@ -0,0 +1,1908 @@ +[ + { + "name": "logistics", + "icon": "icon:item-group/logistics", + "subgroups": [ + { + "name": "storage", + "items": [ + { + "name": "wooden-chest", + "icon": "icon:icons/wooden-chest" + }, + { + "name": "iron-chest", + "icon": "icon:icons/iron-chest" + }, + { + "name": "steel-chest", + "icon": "icon:icons/steel-chest" + }, + { + "name": "storage-tank", + "icon": "icon:icons/storage-tank" + } + ] + }, + { + "name": "belt", + "items": [ + { + "name": "transport-belt", + "icon": "icon:icons/transport-belt" + }, + { + "name": "fast-transport-belt", + "icon": "icon:icons/fast-transport-belt" + }, + { + "name": "express-transport-belt", + "icon": "icon:icons/express-transport-belt" + }, + { + "name": "underground-belt", + "icon": "icon:icons/underground-belt" + }, + { + "name": "fast-underground-belt", + "icon": "icon:icons/fast-underground-belt" + }, + { + "name": "express-underground-belt", + "icon": "icon:icons/express-underground-belt" + }, + { + "name": "splitter", + "icon": "icon:icons/splitter" + }, + { + "name": "fast-splitter", + "icon": "icon:icons/fast-splitter" + }, + { + "name": "express-splitter", + "icon": "icon:icons/express-splitter" + } + ] + }, + { + "name": "inserter", + "items": [ + { + "name": "burner-inserter", + "icon": "icon:icons/burner-inserter" + }, + { + "name": "inserter", + "icon": "icon:icons/inserter" + }, + { + "name": "long-handed-inserter", + "icon": "icon:icons/long-handed-inserter" + }, + { + "name": "fast-inserter", + "icon": "icon:icons/fast-inserter" + }, + { + "name": "filter-inserter", + "icon": "icon:icons/filter-inserter" + }, + { + "name": "stack-inserter", + "icon": "icon:icons/stack-inserter" + }, + { + "name": "stack-filter-inserter", + "icon": "icon:icons/stack-filter-inserter" + } + ] + }, + { + "name": "energy-pipe-distribution", + "items": [ + { + "name": "small-electric-pole", + "icon": "icon:icons/small-electric-pole" + }, + { + "name": "medium-electric-pole", + "icon": "icon:icons/medium-electric-pole" + }, + { + "name": "big-electric-pole", + "icon": "icon:icons/big-electric-pole" + }, + { + "name": "substation", + "icon": "icon:icons/substation" + }, + { + "name": "pipe", + "icon": "icon:icons/pipe" + }, + { + "name": "pipe-to-ground", + "icon": "icon:icons/pipe-to-ground" + }, + { + "name": "pump", + "icon": "icon:icons/pump" + } + ] + }, + { + "name": "transport", + "items": [ + { + "name": "rail", + "icon": "icon:icons/rail" + }, + { + "name": "train-stop", + "icon": "icon:icons/train-stop" + }, + { + "name": "rail-signal", + "icon": "icon:icons/rail-signal" + }, + { + "name": "rail-chain-signal", + "icon": "icon:icons/rail-chain-signal" + }, + { + "name": "locomotive", + "icon": "icon:icons/diesel-locomotive" + }, + { + "name": "cargo-wagon", + "icon": "icon:icons/cargo-wagon" + }, + { + "name": "fluid-wagon", + "icon": "icon:icons/fluid-wagon" + }, + { + "name": "artillery-wagon", + "icon": "icon:icons/artillery-wagon" + }, + { + "name": "car", + "icon": "icon:icons/car" + }, + { + "name": "tank", + "icon": "icon:icons/tank" + } + ] + }, + { + "name": "logistic-network", + "items": [ + { + "name": "logistic-robot", + "icon": "icon:icons/logistic-robot" + }, + { + "name": "construction-robot", + "icon": "icon:icons/construction-robot" + }, + { + "name": "logistic-chest-active-provider", + "icon": "icon:icons/logistic-chest-active-provider" + }, + { + "name": "logistic-chest-passive-provider", + "icon": "icon:icons/logistic-chest-passive-provider" + }, + { + "name": "logistic-chest-storage", + "icon": "icon:icons/logistic-chest-storage" + }, + { + "name": "logistic-chest-buffer", + "icon": "icon:icons/logistic-chest-buffer" + }, + { + "name": "logistic-chest-requester", + "icon": "icon:icons/logistic-chest-requester" + }, + { + "name": "roboport", + "icon": "icon:icons/roboport" + } + ] + }, + { + "name": "circuit-network", + "items": [ + { + "name": "small-lamp", + "icon": "icon:icons/small-lamp" + }, + { + "name": "red-wire", + "icon": "icon:icons/red-wire" + }, + { + "name": "green-wire", + "icon": "icon:icons/green-wire" + }, + { + "name": "arithmetic-combinator", + "icon": "icon:icons/arithmetic-combinator" + }, + { + "name": "decider-combinator", + "icon": "icon:icons/decider-combinator" + }, + { + "name": "constant-combinator", + "icon": "icon:icons/constant-combinator" + }, + { + "name": "power-switch", + "icon": "icon:icons/power-switch" + }, + { + "name": "programmable-speaker", + "icon": "icon:icons/programmable-speaker" + } + ] + }, + { + "name": "terrain", + "items": [ + { + "name": "stone-brick", + "icon": "icon:icons/stone-brick" + }, + { + "name": "concrete", + "icon": "icon:icons/concrete" + }, + { + "name": "hazard-concrete", + "icon": "icon:icons/hazard-concrete" + }, + { + "name": "refined-concrete", + "icon": "icon:icons/refined-concrete" + }, + { + "name": "refined-hazard-concrete", + "icon": "icon:icons/refined-hazard-concrete" + }, + { + "name": "landfill", + "icon": "icon:icons/landfill" + }, + { + "name": "cliff-explosives", + "icon": "icon:icons/cliff-explosives" + } + ] + } + ] + }, + { + "name": "production", + "icon": "icon:item-group/production", + "subgroups": [ + { + "name": "tool", + "items": [ + { + "name": "iron-axe", + "icon": "icon:icons/iron-axe" + }, + { + "name": "steel-axe", + "icon": "icon:icons/steel-axe" + }, + { + "name": "repair-pack", + "icon": "icon:icons/repair-pack" + }, + { + "name": "blueprint", + "icon": "icon:icons/blueprint" + }, + { + "name": "deconstruction-planner", + "icon": "icon:icons/deconstruction-planner" + }, + { + "name": "blueprint-book", + "icon": "icon:icons/blueprint-book" + } + ] + }, + { + "name": "energy", + "items": [ + { + "name": "boiler", + "icon": "icon:icons/boiler" + }, + { + "name": "steam-engine", + "icon": "icon:icons/steam-engine" + }, + { + "name": "steam-turbine", + "icon": "icon:icons/steam-turbine" + }, + { + "name": "solar-panel", + "icon": "icon:icons/solar-panel" + }, + { + "name": "accumulator", + "icon": "icon:icons/accumulator" + }, + { + "name": "nuclear-reactor", + "icon": "icon:icons/nuclear-reactor" + }, + { + "name": "heat-exchanger", + "icon": "icon:icons/heat-boiler" + }, + { + "name": "heat-pipe", + "icon": "icon:icons/heat-pipe" + } + ] + }, + { + "name": "extraction-machine", + "items": [ + { + "name": "burner-mining-drill", + "icon": "icon:icons/burner-mining-drill" + }, + { + "name": "electric-mining-drill", + "icon": "icon:icons/electric-mining-drill" + }, + { + "name": "offshore-pump", + "icon": "icon:icons/offshore-pump" + }, + { + "name": "pumpjack", + "icon": "icon:icons/pumpjack" + } + ] + }, + { + "name": "smelting-machine", + "items": [ + { + "name": "stone-furnace", + "icon": "icon:icons/stone-furnace" + }, + { + "name": "steel-furnace", + "icon": "icon:icons/steel-furnace" + }, + { + "name": "electric-furnace", + "icon": "icon:icons/electric-furnace" + } + ] + }, + { + "name": "production-machine", + "items": [ + { + "name": "assembling-machine-1", + "icon": "icon:icons/assembling-machine-1" + }, + { + "name": "assembling-machine-2", + "icon": "icon:icons/assembling-machine-2" + }, + { + "name": "assembling-machine-3", + "icon": "icon:icons/assembling-machine-3" + }, + { + "name": "oil-refinery", + "icon": "icon:icons/oil-refinery" + }, + { + "name": "chemical-plant", + "icon": "icon:icons/chemical-plant" + }, + { + "name": "centrifuge", + "icon": "icon:icons/centrifuge" + }, + { + "name": "lab", + "icon": "icon:icons/lab" + } + ] + }, + { + "name": "module", + "items": [ + { + "name": "beacon", + "icon": "icon:icons/beacon" + }, + { + "name": "speed-module", + "icon": "icon:icons/speed-module" + }, + { + "name": "speed-module-2", + "icon": "icon:icons/speed-module-2" + }, + { + "name": "speed-module-3", + "icon": "icon:icons/speed-module-3" + }, + { + "name": "effectivity-module", + "icon": "icon:icons/effectivity-module" + }, + { + "name": "effectivity-module-2", + "icon": "icon:icons/effectivity-module-2" + }, + { + "name": "effectivity-module-3", + "icon": "icon:icons/effectivity-module-3" + }, + { + "name": "productivity-module", + "icon": "icon:icons/productivity-module" + }, + { + "name": "productivity-module-2", + "icon": "icon:icons/productivity-module-2" + }, + { + "name": "productivity-module-3", + "icon": "icon:icons/productivity-module-3" + } + ] + } + ] + }, + { + "name": "intermediate-products", + "icon": "icon:item-group/intermediate-products", + "subgroups": [ + { + "name": "fluid-recipes", + "items": [ + { + "name": "basic-oil-processing", + "icon": "icon:fluid/basic-oil-processing" + }, + { + "name": "advanced-oil-processing", + "icon": "icon:fluid/advanced-oil-processing" + }, + { + "name": "coal-liquefaction", + "icon": "icon:fluid/coal-liquefaction" + }, + { + "name": "heavy-oil-cracking", + "icon": "icon:fluid/heavy-oil-cracking" + }, + { + "name": "light-oil-cracking", + "icon": "icon:fluid/light-oil-cracking" + }, + { + "name": "solid-fuel-from-light-oil", + "icon": "icon:icons/solid-fuel-from-light-oil" + }, + { + "name": "solid-fuel-from-petroleum-gas", + "icon": "icon:icons/solid-fuel-from-petroleum-gas" + }, + { + "name": "solid-fuel-from-heavy-oil", + "icon": "icon:icons/solid-fuel-from-heavy-oil" + } + ] + }, + { + "name": "raw-resource", + "items": [ + { + "name": "raw-wood", + "icon": "icon:icons/raw-wood" + }, + { + "name": "coal", + "icon": "icon:icons/coal" + }, + { + "name": "stone", + "icon": "icon:icons/stone" + }, + { + "name": "iron-ore", + "icon": "icon:icons/iron-ore" + }, + { + "name": "copper-ore", + "icon": "icon:icons/copper-ore" + }, + { + "name": "uranium-ore", + "icon": "icon:icons/uranium-ore" + }, + { + "name": "raw-fish", + "icon": "icon:icons/fish" + } + ] + }, + { + "name": "raw-material", + "items": [ + { + "name": "wood", + "icon": "icon:icons/wood" + }, + { + "name": "iron-plate", + "icon": "icon:icons/iron-plate" + }, + { + "name": "copper-plate", + "icon": "icon:icons/copper-plate" + }, + { + "name": "solid-fuel", + "icon": "icon:icons/solid-fuel" + }, + { + "name": "steel-plate", + "icon": "icon:icons/steel-plate" + }, + { + "name": "plastic-bar", + "icon": "icon:icons/plastic-bar" + }, + { + "name": "sulfur", + "icon": "icon:icons/sulfur" + }, + { + "name": "battery", + "icon": "icon:icons/battery" + }, + { + "name": "explosives", + "icon": "icon:icons/explosives" + }, + { + "name": "uranium-processing", + "icon": "icon:icons/uranium-processing" + } + ] + }, + { + "name": "fill-barrel", + "items": [ + { + "name": "crude-oil-barrel", + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.75 + } + } + ] + }, + { + "name": "fill-crude-oil-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/crude-oil", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ] + }, + { + "name": "fill-heavy-oil-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0.5, + "g": 0.04, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.85, + "g": 0.6, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/heavy-oil", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ] + }, + { + "name": "fill-light-oil-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0.57, + "g": 0.33, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 1, + "g": 0.73, + "b": 0.07, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/light-oil", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ] + }, + { + "name": "fill-lubricant-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0.15, + "g": 0.32, + "b": 0.03, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.43, + "g": 0.75, + "b": 0.31, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/lubricant", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ] + }, + { + "name": "fill-petroleum-gas-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0.3, + "g": 0.1, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.8, + "g": 0.8, + "b": 0.8, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/petroleum-gas", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ] + }, + { + "name": "fill-sulfuric-acid-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0.75, + "g": 0.65, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.7, + "g": 1, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/sulfuric-acid", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ] + }, + { + "name": "fill-water-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0, + "g": 0.34, + "b": 0.6, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.7, + "g": 0.7, + "b": 0.7, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/water", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ] + }, + { + "name": "heavy-oil-barrel", + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0.5, + "g": 0.04, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.85, + "g": 0.6, + "b": 0.3, + "a": 0.75 + } + } + ] + }, + { + "name": "light-oil-barrel", + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0.57, + "g": 0.33, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 1, + "g": 0.73, + "b": 0.07, + "a": 0.75 + } + } + ] + }, + { + "name": "lubricant-barrel", + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0.15, + "g": 0.32, + "b": 0.03, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.43, + "g": 0.75, + "b": 0.31, + "a": 0.75 + } + } + ] + }, + { + "name": "petroleum-gas-barrel", + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0.3, + "g": 0.1, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.8, + "g": 0.8, + "b": 0.8, + "a": 0.75 + } + } + ] + }, + { + "name": "sulfuric-acid-barrel", + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0.75, + "g": 0.65, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.7, + "g": 1, + "b": 0.1, + "a": 0.75 + } + } + ] + }, + { + "name": "water-barrel", + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0, + "g": 0.34, + "b": 0.6, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.7, + "g": 0.7, + "b": 0.7, + "a": 0.75 + } + } + ] + } + ] + }, + { + "name": "empty-barrel", + "items": [ + { + "name": "empty-crude-oil-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/crude-oil", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ] + }, + { + "name": "empty-heavy-oil-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0.5, + "g": 0.04, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.85, + "g": 0.6, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/heavy-oil", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ] + }, + { + "name": "empty-light-oil-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0.57, + "g": 0.33, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 1, + "g": 0.73, + "b": 0.07, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/light-oil", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ] + }, + { + "name": "empty-lubricant-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0.15, + "g": 0.32, + "b": 0.03, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.43, + "g": 0.75, + "b": 0.31, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/lubricant", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ] + }, + { + "name": "empty-petroleum-gas-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0.3, + "g": 0.1, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.8, + "g": 0.8, + "b": 0.8, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/petroleum-gas", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ] + }, + { + "name": "empty-sulfuric-acid-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0.75, + "g": 0.65, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.7, + "g": 1, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/sulfuric-acid", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ] + }, + { + "name": "empty-water-barrel", + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0, + "g": 0.34, + "b": 0.6, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.7, + "g": 0.7, + "b": 0.7, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/water", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ] + } + ] + }, + { + "name": "intermediate-product", + "items": [ + { + "name": "copper-cable", + "icon": "icon:icons/copper-cable" + }, + { + "name": "iron-stick", + "icon": "icon:icons/iron-stick" + }, + { + "name": "iron-gear-wheel", + "icon": "icon:icons/iron-gear-wheel" + }, + { + "name": "empty-barrel", + "icon": "icon:barreling/empty-barrel" + }, + { + "name": "electronic-circuit", + "icon": "icon:icons/electronic-circuit" + }, + { + "name": "advanced-circuit", + "icon": "icon:icons/advanced-circuit" + }, + { + "name": "processing-unit", + "icon": "icon:icons/processing-unit" + }, + { + "name": "engine-unit", + "icon": "icon:icons/engine-unit" + }, + { + "name": "electric-engine-unit", + "icon": "icon:icons/electric-engine-unit" + }, + { + "name": "flying-robot-frame", + "icon": "icon:icons/flying-robot-frame" + }, + { + "name": "satellite", + "icon": "icon:icons/satellite" + }, + { + "name": "rocket-control-unit", + "icon": "icon:icons/rocket-control-unit" + }, + { + "name": "low-density-structure", + "icon": "icon:icons/rocket-structure" + }, + { + "name": "rocket-fuel", + "icon": "icon:icons/rocket-fuel" + }, + { + "name": "nuclear-fuel", + "icon": "icon:icons/nuclear-fuel" + }, + { + "name": "uranium-235", + "icon": "icon:icons/uranium-235" + }, + { + "name": "uranium-238", + "icon": "icon:icons/uranium-238" + }, + { + "name": "uranium-fuel-cell", + "icon": "icon:icons/uranium-fuel-cell" + }, + { + "name": "nuclear-fuel-reprocessing", + "icon": "icon:icons/nuclear-fuel-reprocessing" + }, + { + "name": "kovarex-enrichment-process", + "icon": "icon:icons/kovarex-enrichment-process" + }, + { + "name": "used-up-uranium-fuel-cell", + "icon": "icon:icons/used-up-uranium-fuel-cell" + } + ] + }, + { + "name": "science-pack", + "items": [ + { + "name": "science-pack-1", + "icon": "icon:icons/science-pack-1" + }, + { + "name": "science-pack-2", + "icon": "icon:icons/science-pack-2" + }, + { + "name": "science-pack-3", + "icon": "icon:icons/science-pack-3" + }, + { + "name": "military-science-pack", + "icon": "icon:icons/military-science-pack" + }, + { + "name": "production-science-pack", + "icon": "icon:icons/production-science-pack" + }, + { + "name": "high-tech-science-pack", + "icon": "icon:icons/high-tech-science-pack" + }, + { + "name": "space-science-pack", + "icon": "icon:icons/space-science-pack" + } + ] + } + ] + }, + { + "name": "combat", + "icon": "icon:item-group/military", + "subgroups": [ + { + "name": "gun", + "items": [ + { + "name": "pistol", + "icon": "icon:icons/pistol" + }, + { + "name": "submachine-gun", + "icon": "icon:icons/submachine-gun" + }, + { + "name": "shotgun", + "icon": "icon:icons/shotgun" + }, + { + "name": "combat-shotgun", + "icon": "icon:icons/combat-shotgun" + }, + { + "name": "rocket-launcher", + "icon": "icon:icons/rocket-launcher" + }, + { + "name": "flamethrower", + "icon": "icon:icons/flamethrower" + }, + { + "name": "land-mine", + "icon": "icon:icons/land-mine" + } + ] + }, + { + "name": "ammo", + "items": [ + { + "name": "firearm-magazine", + "icon": "icon:icons/firearm-magazine" + }, + { + "name": "piercing-rounds-magazine", + "icon": "icon:icons/piercing-rounds-magazine" + }, + { + "name": "uranium-rounds-magazine", + "icon": "icon:icons/uranium-rounds-magazine" + }, + { + "name": "shotgun-shell", + "icon": "icon:icons/shotgun-shell" + }, + { + "name": "piercing-shotgun-shell", + "icon": "icon:icons/piercing-shotgun-shell" + }, + { + "name": "cannon-shell", + "icon": "icon:icons/cannon-shell" + }, + { + "name": "explosive-cannon-shell", + "icon": "icon:icons/explosive-cannon-shell" + }, + { + "name": "uranium-cannon-shell", + "icon": "icon:icons/uranium-cannon-shell" + }, + { + "name": "explosive-uranium-cannon-shell", + "icon": "icon:icons/explosive-uranium-cannon-shell" + }, + { + "name": "artillery-shell", + "icon": "icon:icons/artillery-shell" + }, + { + "name": "rocket", + "icon": "icon:icons/rocket" + }, + { + "name": "explosive-rocket", + "icon": "icon:icons/explosive-rocket" + }, + { + "name": "atomic-bomb", + "icon": "icon:icons/atomic-bomb" + }, + { + "name": "flamethrower-ammo", + "icon": "icon:icons/flamethrower-ammo" + } + ] + }, + { + "name": "capsule", + "items": [ + { + "name": "grenade", + "icon": "icon:icons/grenade" + }, + { + "name": "cluster-grenade", + "icon": "icon:icons/cluster-grenade" + }, + { + "name": "poison-capsule", + "icon": "icon:icons/poison-capsule" + }, + { + "name": "slowdown-capsule", + "icon": "icon:icons/slowdown-capsule" + }, + { + "name": "defender-capsule", + "icon": "icon:icons/defender" + }, + { + "name": "distractor-capsule", + "icon": "icon:icons/distractor" + }, + { + "name": "destroyer-capsule", + "icon": "icon:icons/destroyer" + }, + { + "name": "discharge-defense-remote", + "icon": "icon:equipment/discharge-defense-equipment-ability" + }, + { + "name": "artillery-targeting-remote", + "icon": "icon:icons/artillery-targeting-remote" + } + ] + }, + { + "name": "armor", + "items": [ + { + "name": "light-armor", + "icon": "icon:icons/light-armor" + }, + { + "name": "heavy-armor", + "icon": "icon:icons/heavy-armor" + }, + { + "name": "modular-armor", + "icon": "icon:icons/modular-armor" + }, + { + "name": "power-armor", + "icon": "icon:icons/power-armor" + }, + { + "name": "power-armor-mk2", + "icon": "icon:icons/power-armor-mk2" + } + ] + }, + { + "name": "equipment", + "items": [ + { + "name": "solar-panel-equipment", + "icon": "icon:icons/solar-panel-equipment" + }, + { + "name": "fusion-reactor-equipment", + "icon": "icon:icons/fusion-reactor-equipment" + }, + { + "name": "energy-shield-equipment", + "icon": "icon:icons/energy-shield-equipment" + }, + { + "name": "energy-shield-mk2-equipment", + "icon": "icon:icons/energy-shield-mk2-equipment" + }, + { + "name": "battery-equipment", + "icon": "icon:icons/battery-equipment" + }, + { + "name": "battery-mk2-equipment", + "icon": "icon:icons/battery-mk2-equipment" + }, + { + "name": "personal-laser-defense-equipment", + "icon": "icon:icons/personal-laser-defense-equipment" + }, + { + "name": "discharge-defense-equipment", + "icon": "icon:icons/discharge-defense-equipment" + }, + { + "name": "exoskeleton-equipment", + "icon": "icon:icons/exoskeleton-equipment" + }, + { + "name": "personal-roboport-equipment", + "icon": "icon:icons/personal-roboport-equipment" + }, + { + "name": "personal-roboport-mk2-equipment", + "icon": "icon:icons/personal-roboport-mk2-equipment" + }, + { + "name": "night-vision-equipment", + "icon": "icon:icons/night-vision-equipment" + } + ] + }, + { + "name": "defensive-structure", + "items": [ + { + "name": "stone-wall", + "icon": "icon:icons/stone-wall" + }, + { + "name": "gate", + "icon": "icon:icons/gate" + }, + { + "name": "gun-turret", + "icon": "icon:icons/gun-turret" + }, + { + "name": "laser-turret", + "icon": "icon:icons/laser-turret" + }, + { + "name": "flamethrower-turret", + "icon": "icon:icons/flamethrower-turret" + }, + { + "name": "artillery-turret", + "icon": "icon:icons/artillery-turret" + }, + { + "name": "radar", + "icon": "icon:icons/radar" + }, + { + "name": "rocket-silo", + "icon": "icon:icons/rocket-silo" + } + ] + } + ] + }, + { + "name": "fluids", + "icon": "icon:item-group/fluids", + "subgroups": [ + { + "name": "fluid", + "items": [ + { + "name": "water", + "icon": "icon:fluid/water" + }, + { + "name": "crude-oil", + "icon": "icon:fluid/crude-oil" + }, + { + "name": "steam", + "icon": "icon:fluid/steam" + }, + { + "name": "heavy-oil", + "icon": "icon:fluid/heavy-oil" + }, + { + "name": "light-oil", + "icon": "icon:fluid/light-oil" + }, + { + "name": "petroleum-gas", + "icon": "icon:fluid/petroleum-gas" + }, + { + "name": "sulfuric-acid", + "icon": "icon:fluid/sulfuric-acid" + }, + { + "name": "lubricant", + "icon": "icon:fluid/lubricant" + } + ] + } + ] + }, + { + "name": "signals", + "icon": "icon:item-group/signals", + "subgroups": [ + { + "name": "virtual-signal-special", + "items": [ + { + "name": "signal-everything", + "icon": "icon:signal/signal_everything" + }, + { + "name": "signal-anything", + "icon": "icon:signal/signal_anything" + }, + { + "name": "signal-each", + "icon": "icon:signal/signal_each" + } + ] + }, + { + "name": "virtual-signal-number", + "items": [ + { + "name": "signal-0", + "icon": "icon:signal/signal_0" + }, + { + "name": "signal-1", + "icon": "icon:signal/signal_1" + }, + { + "name": "signal-2", + "icon": "icon:signal/signal_2" + }, + { + "name": "signal-3", + "icon": "icon:signal/signal_3" + }, + { + "name": "signal-4", + "icon": "icon:signal/signal_4" + }, + { + "name": "signal-5", + "icon": "icon:signal/signal_5" + }, + { + "name": "signal-6", + "icon": "icon:signal/signal_6" + }, + { + "name": "signal-7", + "icon": "icon:signal/signal_7" + }, + { + "name": "signal-8", + "icon": "icon:signal/signal_8" + }, + { + "name": "signal-9", + "icon": "icon:signal/signal_9" + } + ] + }, + { + "name": "virtual-signal-letter", + "items": [ + { + "name": "signal-A", + "icon": "icon:signal/signal_A" + }, + { + "name": "signal-B", + "icon": "icon:signal/signal_B" + }, + { + "name": "signal-C", + "icon": "icon:signal/signal_C" + }, + { + "name": "signal-D", + "icon": "icon:signal/signal_D" + }, + { + "name": "signal-E", + "icon": "icon:signal/signal_E" + }, + { + "name": "signal-F", + "icon": "icon:signal/signal_F" + }, + { + "name": "signal-G", + "icon": "icon:signal/signal_G" + }, + { + "name": "signal-H", + "icon": "icon:signal/signal_H" + }, + { + "name": "signal-I", + "icon": "icon:signal/signal_I" + }, + { + "name": "signal-J", + "icon": "icon:signal/signal_J" + }, + { + "name": "signal-K", + "icon": "icon:signal/signal_K" + }, + { + "name": "signal-L", + "icon": "icon:signal/signal_L" + }, + { + "name": "signal-M", + "icon": "icon:signal/signal_M" + }, + { + "name": "signal-N", + "icon": "icon:signal/signal_N" + }, + { + "name": "signal-O", + "icon": "icon:signal/signal_O" + }, + { + "name": "signal-P", + "icon": "icon:signal/signal_P" + }, + { + "name": "signal-Q", + "icon": "icon:signal/signal_Q" + }, + { + "name": "signal-R", + "icon": "icon:signal/signal_R" + }, + { + "name": "signal-S", + "icon": "icon:signal/signal_S" + }, + { + "name": "signal-T", + "icon": "icon:signal/signal_T" + }, + { + "name": "signal-U", + "icon": "icon:signal/signal_U" + }, + { + "name": "signal-V", + "icon": "icon:signal/signal_V" + }, + { + "name": "signal-W", + "icon": "icon:signal/signal_W" + }, + { + "name": "signal-X", + "icon": "icon:signal/signal_X" + }, + { + "name": "signal-Y", + "icon": "icon:signal/signal_Y" + }, + { + "name": "signal-Z", + "icon": "icon:signal/signal_Z" + } + ] + }, + { + "name": "virtual-signal-color", + "items": [ + { + "name": "signal-red", + "icon": "icon:signal/signal_red" + }, + { + "name": "signal-green", + "icon": "icon:signal/signal_green" + }, + { + "name": "signal-blue", + "icon": "icon:signal/signal_blue" + }, + { + "name": "signal-yellow", + "icon": "icon:signal/signal_yellow" + }, + { + "name": "signal-pink", + "icon": "icon:signal/signal_pink" + }, + { + "name": "signal-cyan", + "icon": "icon:signal/signal_cyan" + }, + { + "name": "signal-white", + "icon": "icon:signal/signal_white" + }, + { + "name": "signal-grey", + "icon": "icon:signal/signal_grey" + }, + { + "name": "signal-black", + "icon": "icon:signal/signal_black" + } + ] + }, + { + "name": "virtual-signal", + "items": [] + } + ] + } +] \ No newline at end of file diff --git a/src/bundles/itemBundle.json b/src/bundles/itemBundle.json new file mode 100644 index 00000000..9015513a --- /dev/null +++ b/src/bundles/itemBundle.json @@ -0,0 +1,5976 @@ +{ + "firearm-magazine": { + "type": "ammo", + "name": "firearm-magazine", + "icon": "icon:icons/firearm-magazine", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "bullet", + "action": [ + { + "type": "direct", + "action_delivery": [ + { + "type": "instant", + "source_effects": [ + { + "type": "create-explosion", + "entity_name": "explosion-gunshot" + } + ], + "target_effects": [ + { + "type": "create-entity", + "entity_name": "explosion-hit" + }, + { + "type": "damage", + "damage": { + "amount": 5, + "type": "physical" + } + } + ] + } + ] + } + ] + }, + "magazine_size": 10, + "subgroup": "ammo", + "order": "a[basic-clips]-a[firearm-magazine]", + "stack_size": 200 + }, + "piercing-rounds-magazine": { + "type": "ammo", + "name": "piercing-rounds-magazine", + "icon": "icon:icons/piercing-rounds-magazine", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "bullet", + "action": { + "type": "direct", + "action_delivery": { + "type": "instant", + "source_effects": { + "type": "create-explosion", + "entity_name": "explosion-gunshot" + }, + "target_effects": [ + { + "type": "create-entity", + "entity_name": "explosion-hit" + }, + { + "type": "damage", + "damage": { + "amount": 8, + "type": "physical" + } + } + ] + } + } + }, + "magazine_size": 10, + "subgroup": "ammo", + "order": "a[basic-clips]-b[piercing-rounds-magazine]", + "stack_size": 200 + }, + "uranium-rounds-magazine": { + "type": "ammo", + "name": "uranium-rounds-magazine", + "icon": "icon:icons/uranium-rounds-magazine", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "bullet", + "action": { + "type": "direct", + "action_delivery": { + "type": "instant", + "source_effects": { + "type": "create-explosion", + "entity_name": "explosion-gunshot" + }, + "target_effects": [ + { + "type": "create-entity", + "entity_name": "explosion-hit" + }, + { + "type": "damage", + "damage": { + "amount": 24, + "type": "physical" + } + } + ] + } + } + }, + "magazine_size": 10, + "subgroup": "ammo", + "order": "a[basic-clips]-c[uranium-rounds-magazine]", + "stack_size": 200 + }, + "flamethrower-ammo": { + "type": "ammo", + "name": "flamethrower-ammo", + "icon": "icon:icons/flamethrower-ammo", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": [ + { + "source_type": "default", + "category": "flamethrower", + "target_type": "position", + "clamp_position": true, + "action": { + "type": "direct", + "action_delivery": { + "type": "stream", + "stream": "handheld-flamethrower-fire-stream", + "max_length": 15, + "duration": 160 + } + } + }, + { + "source_type": "vehicle", + "consumption_modifier": 1.125, + "category": "flamethrower", + "target_type": "position", + "clamp_position": true, + "action": { + "type": "direct", + "action_delivery": { + "type": "stream", + "stream": "tank-flamethrower-fire-stream", + "max_length": 9, + "duration": 160 + } + } + } + ], + "magazine_size": 100, + "subgroup": "ammo", + "order": "e[flamethrower]", + "stack_size": 100 + }, + "rocket": { + "type": "ammo", + "name": "rocket", + "icon": "icon:icons/rocket", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "rocket", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "rocket", + "starting_speed": 0.1, + "source_effects": { + "type": "create-entity", + "entity_name": "explosion-hit" + } + } + } + }, + "subgroup": "ammo", + "order": "d[rocket-launcher]-a[basic]", + "stack_size": 200 + }, + "explosive-rocket": { + "type": "ammo", + "name": "explosive-rocket", + "icon": "icon:icons/explosive-rocket", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "rocket", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "explosive-rocket", + "starting_speed": 0.1, + "source_effects": { + "type": "create-entity", + "entity_name": "explosion-hit" + } + } + } + }, + "subgroup": "ammo", + "order": "d[rocket-launcher]-b[explosive]", + "stack_size": 200 + }, + "atomic-bomb": { + "type": "ammo", + "name": "atomic-bomb", + "icon": "icon:icons/atomic-bomb", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "range_modifier": 3, + "cooldown_modifier": 3, + "target_type": "position", + "category": "rocket", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "atomic-rocket", + "starting_speed": 0.05, + "source_effects": { + "type": "create-entity", + "entity_name": "explosion-hit" + } + } + } + }, + "subgroup": "ammo", + "order": "d[rocket-launcher]-c[atomic-bomb]", + "stack_size": 10 + }, + "shotgun-shell": { + "type": "ammo", + "name": "shotgun-shell", + "icon": "icon:icons/shotgun-shell", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "shotgun-shell", + "target_type": "direction", + "clamp_position": true, + "action": [ + { + "type": "direct", + "action_delivery": { + "type": "instant", + "source_effects": [ + { + "type": "create-explosion", + "entity_name": "explosion-gunshot" + } + ] + } + }, + { + "type": "direct", + "repeat_count": 12, + "action_delivery": { + "type": "projectile", + "projectile": "shotgun-pellet", + "starting_speed": 1, + "direction_deviation": 0.3, + "range_deviation": 0.3, + "max_range": 15 + } + } + ] + }, + "magazine_size": 10, + "subgroup": "ammo", + "order": "b[shotgun]-a[basic]", + "stack_size": 200 + }, + "piercing-shotgun-shell": { + "type": "ammo", + "name": "piercing-shotgun-shell", + "icon": "icon:icons/piercing-shotgun-shell", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "shotgun-shell", + "target_type": "direction", + "clamp_position": true, + "action": [ + { + "type": "direct", + "action_delivery": { + "type": "instant", + "source_effects": [ + { + "type": "create-explosion", + "entity_name": "explosion-gunshot" + } + ] + } + }, + { + "type": "direct", + "repeat_count": 16, + "action_delivery": { + "type": "projectile", + "projectile": "piercing-shotgun-pellet", + "starting_speed": 1, + "direction_deviation": 0.3, + "range_deviation": 0.3, + "max_range": 15 + } + } + ] + }, + "magazine_size": 10, + "subgroup": "ammo", + "order": "b[shotgun]-b[piercing]", + "stack_size": 200 + }, + "cannon-shell": { + "type": "ammo", + "name": "cannon-shell", + "icon": "icon:icons/cannon-shell", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "cannon-shell", + "target_type": "direction", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "cannon-projectile", + "starting_speed": 1, + "direction_deviation": 0.1, + "range_deviation": 0.1, + "max_range": 30, + "min_range": 5, + "source_effects": { + "type": "create-explosion", + "entity_name": "explosion-gunshot" + } + } + } + }, + "subgroup": "ammo", + "order": "d[cannon-shell]-a[basic]", + "stack_size": 200 + }, + "explosive-cannon-shell": { + "type": "ammo", + "name": "explosive-cannon-shell", + "icon": "icon:icons/explosive-cannon-shell", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "cannon-shell", + "target_type": "direction", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "explosive-cannon-projectile", + "starting_speed": 1, + "direction_deviation": 0.1, + "range_deviation": 0.1, + "max_range": 30, + "min_range": 5, + "source_effects": { + "type": "create-explosion", + "entity_name": "explosion-gunshot" + } + } + } + }, + "subgroup": "ammo", + "order": "d[cannon-shell]-c[explosive]", + "stack_size": 200 + }, + "uranium-cannon-shell": { + "type": "ammo", + "name": "uranium-cannon-shell", + "icon": "icon:icons/uranium-cannon-shell", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "cannon-shell", + "target_type": "direction", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "uranium-cannon-projectile", + "starting_speed": 1, + "direction_deviation": 0.1, + "range_deviation": 0.1, + "max_range": 30, + "source_effects": { + "type": "create-explosion", + "entity_name": "explosion-gunshot" + } + } + } + }, + "subgroup": "ammo", + "order": "d[cannon-shell]-c[uranium]", + "stack_size": 200 + }, + "explosive-uranium-cannon-shell": { + "type": "ammo", + "name": "explosive-uranium-cannon-shell", + "icon": "icon:icons/explosive-uranium-cannon-shell", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "cannon-shell", + "target_type": "direction", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "explosive-uranium-cannon-projectile", + "starting_speed": 1, + "direction_deviation": 0.1, + "range_deviation": 0.1, + "max_range": 30, + "source_effects": { + "type": "create-explosion", + "entity_name": "explosion-gunshot" + } + } + } + }, + "subgroup": "ammo", + "order": "d[explosive-cannon-shell]-c[uranium]", + "stack_size": 200 + }, + "artillery-shell": { + "type": "ammo", + "name": "artillery-shell", + "icon": "icon:icons/artillery-shell", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "ammo_type": { + "category": "artillery-shell", + "target_type": "position", + "action": { + "type": "direct", + "action_delivery": { + "type": "artillery", + "projectile": "artillery-projectile", + "starting_speed": 1, + "direction_deviation": 0, + "range_deviation": 0, + "source_effects": { + "type": "create-explosion", + "entity_name": "artillery-cannon-muzzle-flash" + } + } + } + }, + "subgroup": "ammo", + "order": "d[explosive-cannon-shell]-d[artillery]", + "stack_size": 1 + }, + "light-armor": { + "type": "armor", + "name": "light-armor", + "icon": "icon:icons/light-armor", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "resistances": [ + { + "type": "physical", + "decrease": 3, + "percent": 20 + }, + { + "type": "acid", + "decrease": 0, + "percent": 10 + }, + { + "type": "explosion", + "decrease": 2, + "percent": 20 + }, + { + "type": "fire", + "decrease": 0, + "percent": 10 + } + ], + "durability": 1000, + "subgroup": "armor", + "order": "a[light-armor]", + "stack_size": 10 + }, + "heavy-armor": { + "type": "armor", + "name": "heavy-armor", + "icon": "icon:icons/heavy-armor", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "resistances": [ + { + "type": "physical", + "decrease": 6, + "percent": 30 + }, + { + "type": "explosion", + "decrease": 20, + "percent": 30 + }, + { + "type": "acid", + "decrease": 3, + "percent": 30 + }, + { + "type": "fire", + "decrease": 0, + "percent": 30 + } + ], + "durability": 5000, + "subgroup": "armor", + "order": "b[heavy-armor]", + "stack_size": 10 + }, + "modular-armor": { + "type": "armor", + "name": "modular-armor", + "icon": "icon:icons/modular-armor", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "resistances": [ + { + "type": "physical", + "decrease": 6, + "percent": 30 + }, + { + "type": "acid", + "decrease": 5, + "percent": 30 + }, + { + "type": "explosion", + "decrease": 30, + "percent": 35 + }, + { + "type": "fire", + "decrease": 0, + "percent": 40 + } + ], + "durability": 10000, + "subgroup": "armor", + "order": "c[modular-armor]", + "stack_size": 1, + "equipment_grid": "small-equipment-grid", + "inventory_size_bonus": 10 + }, + "power-armor": { + "type": "armor", + "name": "power-armor", + "icon": "icon:icons/power-armor", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "resistances": [ + { + "type": "physical", + "decrease": 8, + "percent": 30 + }, + { + "type": "acid", + "decrease": 7, + "percent": 30 + }, + { + "type": "explosion", + "decrease": 40, + "percent": 40 + }, + { + "type": "fire", + "decrease": 0, + "percent": 60 + } + ], + "durability": 15000, + "subgroup": "armor", + "order": "d[power-armor]", + "stack_size": 1, + "equipment_grid": "medium-equipment-grid", + "inventory_size_bonus": 20 + }, + "power-armor-mk2": { + "type": "armor", + "name": "power-armor-mk2", + "icon": "icon:icons/power-armor-mk2", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "resistances": [ + { + "type": "physical", + "decrease": 10, + "percent": 40 + }, + { + "type": "acid", + "decrease": 10, + "percent": 40 + }, + { + "type": "explosion", + "decrease": 60, + "percent": 50 + }, + { + "type": "fire", + "decrease": 0, + "percent": 70 + } + ], + "durability": 20000, + "subgroup": "armor", + "order": "e[power-armor-mk2]", + "stack_size": 1, + "equipment_grid": "large-equipment-grid", + "inventory_size_bonus": 30 + }, + "pistol": { + "type": "gun", + "name": "pistol", + "icon": "icon:icons/pistol", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "gun", + "order": "a[basic-clips]-a[pistol]", + "attack_parameters": { + "type": "projectile", + "ammo_category": "bullet", + "cooldown": 15, + "movement_slow_down_factor": 0.2, + "shell_particle": { + "name": "shell-particle", + "direction_deviation": 0.1, + "speed": 0.1, + "speed_deviation": 0.03, + "center": [ + 0, + 0.1 + ], + "creation_distance": -0.5, + "starting_frame_speed": 0.4, + "starting_frame_speed_deviation": 0.1 + }, + "projectile_creation_distance": 1.125, + "range": 15, + "sound": [ + { + "filename": "icon:fight/light-gunshot-1", + "volume": 0.3 + }, + { + "filename": "icon:fight/light-gunshot-2", + "volume": 0.3 + }, + { + "filename": "icon:fight/light-gunshot-3", + "volume": 0.3 + } + ] + }, + "stack_size": 5 + }, + "submachine-gun": { + "type": "gun", + "name": "submachine-gun", + "icon": "icon:icons/submachine-gun", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "gun", + "order": "a[basic-clips]-b[submachine-gun]", + "attack_parameters": { + "type": "projectile", + "ammo_category": "bullet", + "cooldown": 6, + "movement_slow_down_factor": 0.7, + "shell_particle": { + "name": "shell-particle", + "direction_deviation": 0.1, + "speed": 0.1, + "speed_deviation": 0.03, + "center": [ + 0, + 0.1 + ], + "creation_distance": -0.5, + "starting_frame_speed": 0.4, + "starting_frame_speed_deviation": 0.1 + }, + "projectile_creation_distance": 1.125, + "range": 18, + "sound": [ + { + "filename": "icon:fight/light-gunshot-1", + "volume": 0.3 + }, + { + "filename": "icon:fight/light-gunshot-2", + "volume": 0.3 + }, + { + "filename": "icon:fight/light-gunshot-3", + "volume": 0.3 + } + ] + }, + "stack_size": 5 + }, + "flamethrower": { + "type": "gun", + "name": "flamethrower", + "icon": "icon:icons/flamethrower", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "gun", + "order": "e[flamethrower]", + "attack_parameters": { + "type": "stream", + "ammo_category": "flamethrower", + "cooldown": 1, + "movement_slow_down_factor": 0.4, + "projectile_creation_distance": 0.6, + "gun_barrel_length": 0.8, + "gun_center_shift": [ + 0, + -1 + ], + "range": 15, + "min_range": 3, + "cyclic_sound": { + "begin_sound": [ + { + "filename": "icon:fight/flamethrower-start", + "volume": 0.7 + } + ], + "middle_sound": [ + { + "filename": "icon:fight/flamethrower-mid", + "volume": 0.7 + } + ], + "end_sound": [ + { + "filename": "icon:fight/flamethrower-end", + "volume": 0.7 + } + ] + } + }, + "stack_size": 5 + }, + "rocket-launcher": { + "type": "gun", + "name": "rocket-launcher", + "icon": "icon:icons/rocket-launcher", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "gun", + "order": "d[rocket-launcher]", + "attack_parameters": { + "type": "projectile", + "ammo_category": "rocket", + "movement_slow_down_factor": 0.8, + "cooldown": 60, + "projectile_creation_distance": 0.6, + "range": 22, + "projectile_center": [ + -0.17, + 0 + ], + "sound": [ + { + "filename": "icon:fight/rocket-launcher", + "volume": 0.7 + } + ] + }, + "stack_size": 5 + }, + "shotgun": { + "type": "gun", + "name": "shotgun", + "icon": "icon:icons/shotgun", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "gun", + "order": "b[shotgun]-a[basic]", + "attack_parameters": { + "type": "projectile", + "ammo_category": "shotgun-shell", + "cooldown": 60, + "movement_slow_down_factor": 0.6, + "projectile_creation_distance": 1.125, + "range": 20, + "min_range": 1, + "sound": [ + { + "filename": "icon:sound/pump-shotgun", + "volume": 0.5 + } + ] + }, + "stack_size": 5 + }, + "combat-shotgun": { + "type": "gun", + "name": "combat-shotgun", + "icon": "icon:icons/combat-shotgun", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "gun", + "order": "b[shotgun]-a[combat]", + "attack_parameters": { + "type": "projectile", + "ammo_category": "shotgun-shell", + "cooldown": 30, + "movement_slow_down_factor": 0.5, + "damage_modifier": 1.2, + "projectile_creation_distance": 1.125, + "range": 20, + "sound": [ + { + "filename": "icon:sound/pump-shotgun", + "volume": 0.5 + } + ] + }, + "stack_size": 5 + }, + "stone-brick": { + "type": "item", + "name": "stone-brick", + "icon": "icon:icons/stone-brick", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "terrain", + "order": "a[stone-brick]", + "stack_size": 100, + "place_as_tile": { + "result": "stone-path", + "condition_size": 1, + "condition": [ + "water-tile" + ] + } + }, + "raw-wood": { + "type": "item", + "name": "raw-wood", + "icon": "icon:icons/raw-wood", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "fuel_value": "4MJ", + "fuel_category": "chemical", + "subgroup": "raw-resource", + "order": "a[raw-wood]", + "stack_size": 100 + }, + "coal": { + "type": "item", + "name": "coal", + "icon": "icon:icons/coal", + "icon_size": 32, + "dark_background_icon": "icon:icons/coal-dark-background", + "flags": [ + "goes-to-main-inventory" + ], + "fuel_category": "chemical", + "fuel_value": "8MJ", + "subgroup": "raw-resource", + "order": "b[coal]", + "stack_size": 50 + }, + "stone": { + "type": "item", + "name": "stone", + "icon": "icon:icons/stone", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "raw-resource", + "order": "d[stone]", + "stack_size": 50 + }, + "iron-ore": { + "type": "item", + "name": "iron-ore", + "icon": "icon:icons/iron-ore", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "raw-resource", + "order": "e[iron-ore]", + "stack_size": 50 + }, + "copper-ore": { + "type": "item", + "name": "copper-ore", + "icon": "icon:icons/copper-ore", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "raw-resource", + "order": "f[copper-ore]", + "stack_size": 50 + }, + "wood": { + "type": "item", + "name": "wood", + "icon": "icon:icons/wood", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "fuel_category": "chemical", + "fuel_value": "2MJ", + "subgroup": "raw-material", + "order": "a[wood]", + "stack_size": 50 + }, + "iron-plate": { + "type": "item", + "name": "iron-plate", + "icon": "icon:icons/iron-plate", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "raw-material", + "order": "b[iron-plate]", + "stack_size": 100 + }, + "copper-plate": { + "type": "item", + "name": "copper-plate", + "icon": "icon:icons/copper-plate", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "raw-material", + "order": "c[copper-plate]", + "stack_size": 100 + }, + "copper-cable": { + "type": "item", + "name": "copper-cable", + "icon": "icon:icons/copper-cable", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "a[copper-cable]", + "stack_size": 200 + }, + "iron-stick": { + "type": "item", + "name": "iron-stick", + "icon": "icon:icons/iron-stick", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "b[iron-stick]", + "stack_size": 100 + }, + "iron-gear-wheel": { + "type": "item", + "name": "iron-gear-wheel", + "icon": "icon:icons/iron-gear-wheel", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "c[iron-gear-wheel]", + "stack_size": 100 + }, + "electronic-circuit": { + "type": "item", + "name": "electronic-circuit", + "icon": "icon:icons/electronic-circuit", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "e[electronic-circuit]", + "stack_size": 200 + }, + "wooden-chest": { + "type": "item", + "name": "wooden-chest", + "icon": "icon:icons/wooden-chest", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "fuel_category": "chemical", + "fuel_value": "4MJ", + "subgroup": "storage", + "order": "a[items]-a[wooden-chest]", + "place_result": "wooden-chest", + "stack_size": 50 + }, + "stone-furnace": { + "type": "item", + "name": "stone-furnace", + "icon": "icon:icons/stone-furnace", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "smelting-machine", + "order": "a[stone-furnace]", + "place_result": "stone-furnace", + "stack_size": 50 + }, + "burner-mining-drill": { + "type": "item", + "name": "burner-mining-drill", + "icon": "icon:icons/burner-mining-drill", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "extraction-machine", + "order": "a[items]-a[burner-mining-drill]", + "place_result": "burner-mining-drill", + "stack_size": 50 + }, + "electric-mining-drill": { + "type": "item", + "name": "electric-mining-drill", + "icon": "icon:icons/electric-mining-drill", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "extraction-machine", + "order": "a[items]-b[electric-mining-drill]", + "place_result": "electric-mining-drill", + "stack_size": 50 + }, + "transport-belt": { + "type": "item", + "name": "transport-belt", + "icon": "icon:icons/transport-belt", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "belt", + "order": "a[transport-belt]-a[transport-belt]", + "place_result": "transport-belt", + "stack_size": 100 + }, + "burner-inserter": { + "type": "item", + "name": "burner-inserter", + "icon": "icon:icons/burner-inserter", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "inserter", + "order": "a[burner-inserter]", + "place_result": "burner-inserter", + "stack_size": 50 + }, + "inserter": { + "type": "item", + "name": "inserter", + "icon": "icon:icons/inserter", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "inserter", + "order": "b[inserter]", + "place_result": "inserter", + "stack_size": 50 + }, + "offshore-pump": { + "type": "item", + "name": "offshore-pump", + "icon": "icon:icons/offshore-pump", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "extraction-machine", + "order": "b[fluids]-a[offshore-pump]", + "place_result": "offshore-pump", + "stack_size": 20 + }, + "pipe": { + "type": "item", + "name": "pipe", + "icon": "icon:icons/pipe", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy-pipe-distribution", + "order": "a[pipe]-a[pipe]", + "place_result": "pipe", + "stack_size": 100 + }, + "boiler": { + "type": "item", + "name": "boiler", + "icon": "icon:icons/boiler", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy", + "order": "b[steam-power]-a[boiler]", + "place_result": "boiler", + "stack_size": 50 + }, + "steam-engine": { + "type": "item", + "name": "steam-engine", + "icon": "icon:icons/steam-engine", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy", + "order": "b[steam-power]-b[steam-engine]", + "place_result": "steam-engine", + "stack_size": 10 + }, + "small-electric-pole": { + "type": "item", + "name": "small-electric-pole", + "icon": "icon:icons/small-electric-pole", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy-pipe-distribution", + "order": "a[energy]-a[small-electric-pole]", + "place_result": "small-electric-pole", + "fuel_category": "chemical", + "fuel_value": "4MJ", + "stack_size": 50 + }, + "radar": { + "type": "item", + "name": "radar", + "icon": "icon:icons/radar", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "defensive-structure", + "order": "d[radar]-a[radar]", + "place_result": "radar", + "stack_size": 50 + }, + "small-lamp": { + "type": "item", + "name": "small-lamp", + "icon": "icon:icons/small-lamp", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "circuit-network", + "order": "a[light]-a[small-lamp]", + "place_result": "small-lamp", + "stack_size": 50 + }, + "pipe-to-ground": { + "type": "item", + "name": "pipe-to-ground", + "icon": "icon:icons/pipe-to-ground", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy-pipe-distribution", + "order": "a[pipe]-b[pipe-to-ground]", + "place_result": "pipe-to-ground", + "stack_size": 50 + }, + "assembling-machine-1": { + "type": "item", + "name": "assembling-machine-1", + "icon": "icon:icons/assembling-machine-1", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "production-machine", + "order": "a[assembling-machine-1]", + "place_result": "assembling-machine-1", + "stack_size": 50 + }, + "red-wire": { + "type": "item", + "name": "red-wire", + "icon": "icon:icons/red-wire", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "circuit-network", + "order": "b[wires]-a[red-wire]", + "stack_size": 200 + }, + "green-wire": { + "type": "item", + "name": "green-wire", + "icon": "icon:icons/green-wire", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "circuit-network", + "order": "b[wires]-b[green-wire]", + "stack_size": 200 + }, + "stone-wall": { + "type": "item", + "name": "stone-wall", + "icon": "icon:icons/stone-wall", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "defensive-structure", + "order": "a[stone-wall]-a[stone-wall]", + "place_result": "stone-wall", + "stack_size": 100 + }, + "gun-turret": { + "type": "item", + "name": "gun-turret", + "icon": "icon:icons/gun-turret", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "defensive-structure", + "order": "b[turret]-a[gun-turret]", + "place_result": "gun-turret", + "stack_size": 50 + }, + "solar-panel-equipment": { + "type": "item", + "name": "solar-panel-equipment", + "icon": "icon:icons/solar-panel-equipment", + "icon_size": 32, + "placed_as_equipment_result": "solar-panel-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "a[energy-source]-a[solar-panel]", + "stack_size": 20 + }, + "fusion-reactor-equipment": { + "type": "item", + "name": "fusion-reactor-equipment", + "icon": "icon:icons/fusion-reactor-equipment", + "icon_size": 32, + "placed_as_equipment_result": "fusion-reactor-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "a[energy-source]-b[fusion-reactor]", + "stack_size": 20 + }, + "energy-shield-equipment": { + "type": "item", + "name": "energy-shield-equipment", + "icon": "icon:icons/energy-shield-equipment", + "icon_size": 32, + "placed_as_equipment_result": "energy-shield-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "b[shield]-a[energy-shield-equipment]", + "stack_size": 50, + "default_request_amount": 10 + }, + "energy-shield-mk2-equipment": { + "type": "item", + "name": "energy-shield-mk2-equipment", + "localised_description": [ + "item-description.energy-shield-equipment" + ], + "icon": "icon:icons/energy-shield-mk2-equipment", + "icon_size": 32, + "placed_as_equipment_result": "energy-shield-mk2-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "b[shield]-b[energy-shield-equipment-mk2]", + "stack_size": 50, + "default_request_amount": 10 + }, + "battery-equipment": { + "type": "item", + "name": "battery-equipment", + "icon": "icon:icons/battery-equipment", + "icon_size": 32, + "placed_as_equipment_result": "battery-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "c[battery]-a[battery-equipment]", + "stack_size": 50, + "default_request_amount": 10 + }, + "battery-mk2-equipment": { + "type": "item", + "name": "battery-mk2-equipment", + "localised_description": [ + "item-description.battery-equipment" + ], + "icon": "icon:icons/battery-mk2-equipment", + "icon_size": 32, + "placed_as_equipment_result": "battery-mk2-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "c[battery]-b[battery-equipment-mk2]", + "stack_size": 50, + "default_request_amount": 10 + }, + "personal-laser-defense-equipment": { + "type": "item", + "name": "personal-laser-defense-equipment", + "icon": "icon:icons/personal-laser-defense-equipment", + "icon_size": 32, + "placed_as_equipment_result": "personal-laser-defense-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "d[active-defense]-a[personal-laser-defense-equipment]", + "stack_size": 20 + }, + "discharge-defense-equipment": { + "type": "item", + "name": "discharge-defense-equipment", + "icon": "icon:icons/discharge-defense-equipment", + "icon_size": 32, + "placed_as_equipment_result": "discharge-defense-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "d[active-defense]-b[discharge-defense-equipment]", + "stack_size": 20 + }, + "exoskeleton-equipment": { + "type": "item", + "name": "exoskeleton-equipment", + "icon": "icon:icons/exoskeleton-equipment", + "icon_size": 32, + "placed_as_equipment_result": "exoskeleton-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "e[exoskeleton]-a[exoskeleton-equipment]", + "stack_size": 10 + }, + "personal-roboport-equipment": { + "type": "item", + "name": "personal-roboport-equipment", + "icon": "icon:icons/personal-roboport-equipment", + "icon_size": 32, + "placed_as_equipment_result": "personal-roboport-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "e[robotics]-a[personal-roboport-equipment]", + "stack_size": 5 + }, + "personal-roboport-mk2-equipment": { + "type": "item", + "name": "personal-roboport-mk2-equipment", + "localised_description": [ + "item-description.personal-roboport-equipment" + ], + "icon": "icon:icons/personal-roboport-mk2-equipment", + "icon_size": 32, + "placed_as_equipment_result": "personal-roboport-mk2-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "e[robotics]-b[personal-roboport-mk2-equipment]", + "stack_size": 5 + }, + "night-vision-equipment": { + "type": "item", + "name": "night-vision-equipment", + "icon": "icon:icons/night-vision-equipment", + "icon_size": 32, + "placed_as_equipment_result": "night-vision-equipment", + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "equipment", + "order": "f[night-vision]-a[night-vision-equipment]", + "stack_size": 20 + }, + "land-mine": { + "type": "item", + "name": "land-mine", + "icon": "icon:icons/land-mine", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "damage_radius": 5, + "subgroup": "gun", + "order": "f[land-mine]", + "place_result": "land-mine", + "stack_size": 100, + "trigger_radius": 1 + }, + "iron-chest": { + "type": "item", + "name": "iron-chest", + "icon": "icon:icons/iron-chest", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "storage", + "order": "a[items]-b[iron-chest]", + "place_result": "iron-chest", + "stack_size": 50 + }, + "steel-chest": { + "type": "item", + "name": "steel-chest", + "icon": "icon:icons/steel-chest", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "storage", + "order": "a[items]-c[steel-chest]", + "place_result": "steel-chest", + "stack_size": 50 + }, + "fast-transport-belt": { + "type": "item", + "name": "fast-transport-belt", + "icon": "icon:icons/fast-transport-belt", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "belt", + "order": "a[transport-belt]-b[fast-transport-belt]", + "place_result": "fast-transport-belt", + "stack_size": 100 + }, + "express-transport-belt": { + "type": "item", + "name": "express-transport-belt", + "icon": "icon:icons/express-transport-belt", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "belt", + "order": "a[transport-belt]-c[express-transport-belt]", + "place_result": "express-transport-belt", + "stack_size": 100 + }, + "long-handed-inserter": { + "type": "item", + "name": "long-handed-inserter", + "icon": "icon:icons/long-handed-inserter", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "inserter", + "order": "c[long-handed-inserter]", + "place_result": "long-handed-inserter", + "stack_size": 50 + }, + "fast-inserter": { + "type": "item", + "name": "fast-inserter", + "icon": "icon:icons/fast-inserter", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "inserter", + "order": "d[fast-inserter]", + "place_result": "fast-inserter", + "stack_size": 50 + }, + "filter-inserter": { + "type": "item", + "name": "filter-inserter", + "icon": "icon:icons/filter-inserter", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "inserter", + "order": "e[filter-inserter]", + "place_result": "filter-inserter", + "stack_size": 50 + }, + "stack-inserter": { + "type": "item", + "name": "stack-inserter", + "icon": "icon:icons/stack-inserter", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "inserter", + "order": "f[stack-inserter]", + "place_result": "stack-inserter", + "stack_size": 50 + }, + "stack-filter-inserter": { + "type": "item", + "name": "stack-filter-inserter", + "icon": "icon:icons/stack-filter-inserter", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "inserter", + "order": "g[stack-filter-inserter]", + "place_result": "stack-filter-inserter", + "stack_size": 50 + }, + "assembling-machine-2": { + "type": "item", + "name": "assembling-machine-2", + "icon": "icon:icons/assembling-machine-2", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "production-machine", + "order": "b[assembling-machine-2]", + "place_result": "assembling-machine-2", + "stack_size": 50 + }, + "assembling-machine-3": { + "type": "item", + "name": "assembling-machine-3", + "icon": "icon:icons/assembling-machine-3", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "production-machine", + "order": "c[assembling-machine-3]", + "place_result": "assembling-machine-3", + "stack_size": 50 + }, + "solar-panel": { + "type": "item", + "name": "solar-panel", + "icon": "icon:icons/solar-panel", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy", + "order": "d[solar-panel]-a[solar-panel]", + "place_result": "solar-panel", + "stack_size": 50 + }, + "gate": { + "type": "item", + "name": "gate", + "icon": "icon:icons/gate", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "defensive-structure", + "order": "a[wall]-b[gate]", + "place_result": "gate", + "stack_size": 50 + }, + "lab": { + "type": "item", + "name": "lab", + "icon": "icon:icons/lab", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "production-machine", + "order": "g[lab]", + "place_result": "lab", + "stack_size": 10 + }, + "train-stop": { + "type": "item", + "name": "train-stop", + "icon": "icon:icons/train-stop", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "transport", + "order": "a[train-system]-c[train-stop]", + "place_result": "train-stop", + "stack_size": 10 + }, + "rail-signal": { + "type": "item", + "name": "rail-signal", + "icon": "icon:icons/rail-signal", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "transport", + "order": "a[train-system]-d[rail-signal]", + "place_result": "rail-signal", + "stack_size": 50 + }, + "rail-chain-signal": { + "type": "item", + "name": "rail-chain-signal", + "icon": "icon:icons/rail-chain-signal", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "transport", + "order": "a[train-system]-e[rail-signal-chain]", + "place_result": "rail-chain-signal", + "stack_size": 50 + }, + "steel-plate": { + "type": "item", + "name": "steel-plate", + "icon": "icon:icons/steel-plate", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "raw-material", + "order": "d[steel-plate]", + "stack_size": 100 + }, + "underground-belt": { + "type": "item", + "name": "underground-belt", + "icon": "icon:icons/underground-belt", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "belt", + "order": "b[underground-belt]-a[underground-belt]", + "place_result": "underground-belt", + "stack_size": 50 + }, + "fast-underground-belt": { + "type": "item", + "name": "fast-underground-belt", + "icon": "icon:icons/fast-underground-belt", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "belt", + "order": "b[underground-belt]-b[fast-underground-belt]", + "place_result": "fast-underground-belt", + "stack_size": 50 + }, + "express-underground-belt": { + "type": "item", + "name": "express-underground-belt", + "icon": "icon:icons/express-underground-belt", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "belt", + "order": "b[underground-belt]-c[express-underground-belt]", + "place_result": "express-underground-belt", + "stack_size": 50 + }, + "splitter": { + "type": "item", + "name": "splitter", + "icon": "icon:icons/splitter", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "belt", + "order": "c[splitter]-a[splitter]", + "place_result": "splitter", + "stack_size": 50 + }, + "fast-splitter": { + "type": "item", + "name": "fast-splitter", + "icon": "icon:icons/fast-splitter", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "belt", + "order": "c[splitter]-b[fast-splitter]", + "place_result": "fast-splitter", + "stack_size": 50 + }, + "express-splitter": { + "type": "item", + "name": "express-splitter", + "icon": "icon:icons/express-splitter", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "belt", + "order": "c[splitter]-c[express-splitter]", + "place_result": "express-splitter", + "stack_size": 50 + }, + "advanced-circuit": { + "type": "item", + "name": "advanced-circuit", + "icon": "icon:icons/advanced-circuit", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "f[advanced-circuit]", + "stack_size": 200 + }, + "processing-unit": { + "type": "item", + "name": "processing-unit", + "icon": "icon:icons/processing-unit", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "g[processing-unit]", + "stack_size": 100 + }, + "logistic-robot": { + "type": "item", + "name": "logistic-robot", + "icon": "icon:icons/logistic-robot", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "logistic-network", + "order": "a[robot]-a[logistic-robot]", + "place_result": "logistic-robot", + "stack_size": 50 + }, + "construction-robot": { + "type": "item", + "name": "construction-robot", + "icon": "icon:icons/construction-robot", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "logistic-network", + "order": "a[robot]-b[construction-robot]", + "place_result": "construction-robot", + "stack_size": 50 + }, + "logistic-chest-passive-provider": { + "type": "item", + "name": "logistic-chest-passive-provider", + "icon": "icon:icons/logistic-chest-passive-provider", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "logistic-network", + "order": "b[storage]-c[logistic-chest-passive-provider]", + "place_result": "logistic-chest-passive-provider", + "stack_size": 50 + }, + "logistic-chest-active-provider": { + "type": "item", + "name": "logistic-chest-active-provider", + "icon": "icon:icons/logistic-chest-active-provider", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "logistic-network", + "order": "b[storage]-c[logistic-chest-active-provider]", + "place_result": "logistic-chest-active-provider", + "stack_size": 50 + }, + "logistic-chest-storage": { + "type": "item", + "name": "logistic-chest-storage", + "icon": "icon:icons/logistic-chest-storage", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "logistic-network", + "order": "b[storage]-c[logistic-chest-storage]", + "place_result": "logistic-chest-storage", + "stack_size": 50 + }, + "logistic-chest-buffer": { + "type": "item", + "name": "logistic-chest-buffer", + "icon": "icon:icons/logistic-chest-buffer", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "logistic-network", + "order": "b[storage]-d[logistic-chest-buffer]", + "place_result": "logistic-chest-buffer", + "stack_size": 50 + }, + "logistic-chest-requester": { + "type": "item", + "name": "logistic-chest-requester", + "icon": "icon:icons/logistic-chest-requester", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "logistic-network", + "order": "b[storage]-e[logistic-chest-requester]", + "place_result": "logistic-chest-requester", + "stack_size": 50 + }, + "rocket-silo": { + "type": "item", + "name": "rocket-silo", + "icon": "icon:icons/rocket-silo", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "defensive-structure", + "order": "e[rocket-silo]", + "place_result": "rocket-silo", + "stack_size": 1 + }, + "roboport": { + "type": "item", + "name": "roboport", + "icon": "icon:icons/roboport", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "logistic-network", + "order": "c[signal]-a[roboport]", + "place_result": "roboport", + "stack_size": 10 + }, + "big-electric-pole": { + "type": "item", + "name": "big-electric-pole", + "icon": "icon:icons/big-electric-pole", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy-pipe-distribution", + "order": "a[energy]-c[big-electric-pole]", + "place_result": "big-electric-pole", + "stack_size": 50 + }, + "medium-electric-pole": { + "type": "item", + "name": "medium-electric-pole", + "icon": "icon:icons/medium-electric-pole", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy-pipe-distribution", + "order": "a[energy]-b[medium-electric-pole]", + "place_result": "medium-electric-pole", + "stack_size": 50 + }, + "substation": { + "type": "item", + "name": "substation", + "icon": "icon:icons/substation", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy-pipe-distribution", + "order": "a[energy]-d[substation]", + "place_result": "substation", + "stack_size": 50 + }, + "accumulator": { + "type": "item", + "name": "accumulator", + "icon": "icon:icons/accumulator", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy", + "order": "e[accumulator]-a[accumulator]", + "place_result": "accumulator", + "stack_size": 50 + }, + "steel-furnace": { + "type": "item", + "name": "steel-furnace", + "icon": "icon:icons/steel-furnace", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "smelting-machine", + "order": "b[steel-furnace]", + "place_result": "steel-furnace", + "stack_size": 50 + }, + "electric-furnace": { + "type": "item", + "name": "electric-furnace", + "icon": "icon:icons/electric-furnace", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "smelting-machine", + "order": "c[electric-furnace]", + "place_result": "electric-furnace", + "stack_size": 50 + }, + "beacon": { + "type": "item", + "name": "beacon", + "icon": "icon:icons/beacon", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "module", + "order": "a[beacon]", + "place_result": "beacon", + "stack_size": 10 + }, + "storage-tank": { + "type": "item", + "name": "storage-tank", + "icon": "icon:icons/storage-tank", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "storage", + "order": "b[fluid]-a[storage-tank]", + "place_result": "storage-tank", + "stack_size": 50 + }, + "pump": { + "type": "item", + "name": "pump", + "icon": "icon:icons/pump", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy-pipe-distribution", + "order": "b[pipe]-c[pump]", + "place_result": "pump", + "stack_size": 50 + }, + "pumpjack": { + "type": "item", + "name": "pumpjack", + "icon": "icon:icons/pumpjack", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "extraction-machine", + "order": "b[fluids]-b[pumpjack]", + "place_result": "pumpjack", + "stack_size": 20 + }, + "oil-refinery": { + "type": "item", + "name": "oil-refinery", + "icon": "icon:icons/oil-refinery", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "production-machine", + "order": "d[refinery]", + "place_result": "oil-refinery", + "stack_size": 10 + }, + "chemical-plant": { + "type": "item", + "name": "chemical-plant", + "icon": "icon:icons/chemical-plant", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "production-machine", + "order": "e[chemical-plant]", + "place_result": "chemical-plant", + "stack_size": 10 + }, + "sulfur": { + "type": "item", + "name": "sulfur", + "icon": "icon:icons/sulfur", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "raw-material", + "order": "g[sulfur]", + "stack_size": 50 + }, + "empty-barrel": { + "type": "item", + "name": "empty-barrel", + "icon": "icon:barreling/empty-barrel", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "d[empty-barrel]", + "stack_size": 10 + }, + "solid-fuel": { + "type": "item", + "name": "solid-fuel", + "icon": "icon:icons/solid-fuel", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "fuel_category": "chemical", + "fuel_value": "25MJ", + "fuel_acceleration_multiplier": 1.2, + "fuel_top_speed_multiplier": 1.05, + "subgroup": "raw-material", + "order": "c[solid-fuel]", + "stack_size": 50 + }, + "plastic-bar": { + "type": "item", + "name": "plastic-bar", + "icon": "icon:icons/plastic-bar", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "raw-material", + "order": "f[plastic-bar]", + "stack_size": 100 + }, + "engine-unit": { + "type": "item", + "name": "engine-unit", + "icon": "icon:icons/engine-unit", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "h[engine-unit]", + "stack_size": 50 + }, + "electric-engine-unit": { + "type": "item", + "name": "electric-engine-unit", + "icon": "icon:icons/electric-engine-unit", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "i[electric-engine-unit]", + "stack_size": 50 + }, + "explosives": { + "type": "item", + "name": "explosives", + "icon": "icon:icons/explosives", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "raw-material", + "order": "j[explosives]", + "stack_size": 50 + }, + "battery": { + "type": "item", + "name": "battery", + "icon": "icon:icons/battery", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "raw-material", + "order": "h[battery]", + "stack_size": 200 + }, + "flying-robot-frame": { + "type": "item", + "name": "flying-robot-frame", + "icon": "icon:icons/flying-robot-frame", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "l[flying-robot-frame]", + "stack_size": 50 + }, + "arithmetic-combinator": { + "type": "item", + "name": "arithmetic-combinator", + "icon": "icon:icons/arithmetic-combinator", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "circuit-network", + "place_result": "arithmetic-combinator", + "order": "c[combinators]-a[arithmetic-combinator]", + "stack_size": 50 + }, + "decider-combinator": { + "type": "item", + "name": "decider-combinator", + "icon": "icon:icons/decider-combinator", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "circuit-network", + "place_result": "decider-combinator", + "order": "c[combinators]-b[decider-combinator]", + "stack_size": 50 + }, + "constant-combinator": { + "type": "item", + "name": "constant-combinator", + "icon": "icon:icons/constant-combinator", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "circuit-network", + "place_result": "constant-combinator", + "order": "c[combinators]-c[constant-combinator]", + "stack_size": 50 + }, + "power-switch": { + "type": "item", + "name": "power-switch", + "icon": "icon:icons/power-switch", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "circuit-network", + "place_result": "power-switch", + "order": "d[other]-a[power-switch]", + "stack_size": 50 + }, + "programmable-speaker": { + "type": "item", + "name": "programmable-speaker", + "icon": "icon:icons/programmable-speaker", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "circuit-network", + "order": "d[other]-b[programmable-speaker]", + "place_result": "programmable-speaker", + "stack_size": 50 + }, + "low-density-structure": { + "type": "item", + "name": "low-density-structure", + "icon": "icon:icons/rocket-structure", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "o[rocket-structure]", + "stack_size": 10 + }, + "rocket-fuel": { + "type": "item", + "name": "rocket-fuel", + "icon": "icon:icons/rocket-fuel", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "fuel_category": "chemical", + "fuel_value": "225MJ", + "fuel_acceleration_multiplier": 1.8, + "fuel_top_speed_multiplier": 1.15, + "subgroup": "intermediate-product", + "order": "p[rocket-fuel]", + "stack_size": 10 + }, + "nuclear-fuel": { + "type": "item", + "name": "nuclear-fuel", + "icon": "icon:icons/nuclear-fuel", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "fuel_category": "chemical", + "fuel_value": "1.21GJ", + "fuel_acceleration_multiplier": 2.5, + "fuel_top_speed_multiplier": 1.15, + "subgroup": "intermediate-product", + "order": "q[uranium-rocket-fuel]", + "stack_size": 1 + }, + "rocket-control-unit": { + "type": "item", + "name": "rocket-control-unit", + "icon": "icon:icons/rocket-control-unit", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "n[rocket-control-unit]", + "stack_size": 10 + }, + "satellite": { + "type": "item", + "name": "satellite", + "icon": "icon:icons/satellite", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "m[satellite]", + "stack_size": 1, + "rocket_launch_product": [ + "space-science-pack", + 1000 + ] + }, + "concrete": { + "type": "item", + "name": "concrete", + "icon": "icon:icons/concrete", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "terrain", + "order": "b[concrete]-a[plain]", + "stack_size": 100, + "place_as_tile": { + "result": "concrete", + "condition_size": 1, + "condition": [ + "water-tile" + ] + } + }, + "refined-concrete": { + "type": "item", + "name": "refined-concrete", + "icon": "icon:icons/refined-concrete", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "terrain", + "order": "b[concrete]-c[refined]", + "stack_size": 100, + "place_as_tile": { + "result": "refined-concrete", + "condition_size": 1, + "condition": [ + "water-tile" + ] + } + }, + "hazard-concrete": { + "type": "item", + "name": "hazard-concrete", + "icon": "icon:icons/hazard-concrete", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "terrain", + "order": "b[concrete]-b[hazard]", + "stack_size": 100, + "place_as_tile": { + "result": "hazard-concrete-left", + "condition_size": 1, + "condition": [ + "water-tile" + ] + } + }, + "refined-hazard-concrete": { + "type": "item", + "name": "refined-hazard-concrete", + "icon": "icon:icons/refined-hazard-concrete", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "terrain", + "order": "b[concrete]-d[refined-hazard]", + "stack_size": 100, + "place_as_tile": { + "result": "refined-hazard-concrete-left", + "condition_size": 1, + "condition": [ + "water-tile" + ] + } + }, + "landfill": { + "type": "item", + "name": "landfill", + "icon": "icon:icons/landfill", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "terrain", + "order": "c[landfill]-a[dirt]", + "stack_size": 100, + "place_as_tile": { + "result": "grass-1", + "condition_size": 1, + "condition": [ + "ground-tile" + ] + } + }, + "uranium-ore": { + "type": "item", + "name": "uranium-ore", + "icon": "icon:icons/uranium-ore", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "raw-resource", + "order": "g[uranium-ore]", + "stack_size": 50 + }, + "nuclear-reactor": { + "type": "item", + "name": "nuclear-reactor", + "icon": "icon:icons/nuclear-reactor", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy", + "order": "f[nuclear-energy]-a[reactor]", + "place_result": "nuclear-reactor", + "stack_size": 10 + }, + "uranium-235": { + "type": "item", + "name": "uranium-235", + "icon": "icon:icons/uranium-235", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "r[uranium-235]", + "stack_size": 100 + }, + "uranium-238": { + "type": "item", + "name": "uranium-238", + "icon": "icon:icons/uranium-238", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "r[uranium-238]", + "stack_size": 100 + }, + "centrifuge": { + "type": "item", + "name": "centrifuge", + "icon": "icon:icons/centrifuge", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "production-machine", + "order": "g[centrifuge]", + "place_result": "centrifuge", + "stack_size": 50 + }, + "uranium-fuel-cell": { + "type": "item", + "name": "uranium-fuel-cell", + "icon": "icon:icons/uranium-fuel-cell", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "r[uranium-processing]-a[uranium-fuel-cell]", + "fuel_category": "nuclear", + "burnt_result": "used-up-uranium-fuel-cell", + "fuel_value": "8GJ", + "stack_size": 50 + }, + "used-up-uranium-fuel-cell": { + "type": "item", + "name": "used-up-uranium-fuel-cell", + "icon": "icon:icons/used-up-uranium-fuel-cell", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "intermediate-product", + "order": "r[used-up-uranium-fuel-cell]", + "stack_size": 50 + }, + "heat-exchanger": { + "type": "item", + "name": "heat-exchanger", + "icon": "icon:icons/heat-boiler", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy", + "order": "f[nuclear-energy]-b[heat-exchanger]", + "place_result": "heat-exchanger", + "stack_size": 50 + }, + "steam-turbine": { + "type": "item", + "name": "steam-turbine", + "icon": "icon:icons/steam-turbine", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy", + "order": "b[steam-power]-c[steam-turbine]", + "place_result": "steam-turbine", + "stack_size": 10 + }, + "heat-pipe": { + "type": "item", + "name": "heat-pipe", + "icon": "icon:icons/heat-pipe", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "energy", + "order": "f[nuclear-energy]-c[heat-pipe]", + "place_result": "heat-pipe", + "stack_size": 50 + }, + "laser-turret": { + "type": "item", + "name": "laser-turret", + "icon": "icon:icons/laser-turret", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "defensive-structure", + "order": "b[turret]-b[laser-turret]", + "place_result": "laser-turret", + "stack_size": 50 + }, + "flamethrower-turret": { + "type": "item", + "name": "flamethrower-turret", + "icon": "icon:icons/flamethrower-turret", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "defensive-structure", + "order": "b[turret]-c[flamethrower-turret]", + "place_result": "flamethrower-turret", + "stack_size": 50 + }, + "artillery-turret": { + "type": "item", + "name": "artillery-turret", + "icon": "icon:icons/artillery-turret", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "defensive-structure", + "order": "b[turret]-d[artillery-turret]", + "place_result": "artillery-turret", + "stack_size": 10 + }, + "water-barrel": { + "type": "item", + "name": "water-barrel", + "localised_name": [ + "item-name.filled-barrel", + [ + "fluid-name.water" + ] + ], + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0, + "g": 0.34, + "b": 0.6, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.7, + "g": 0.7, + "b": 0.7, + "a": 0.75 + } + } + ], + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "fill-barrel", + "order": "b[water-barrel]", + "stack_size": 10 + }, + "crude-oil-barrel": { + "type": "item", + "name": "crude-oil-barrel", + "localised_name": [ + "item-name.filled-barrel", + [ + "fluid-name.crude-oil" + ] + ], + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.75 + } + } + ], + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "fill-barrel", + "order": "b[crude-oil-barrel]", + "stack_size": 10 + }, + "heavy-oil-barrel": { + "type": "item", + "name": "heavy-oil-barrel", + "localised_name": [ + "item-name.filled-barrel", + [ + "fluid-name.heavy-oil" + ] + ], + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0.5, + "g": 0.04, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.85, + "g": 0.6, + "b": 0.3, + "a": 0.75 + } + } + ], + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "fill-barrel", + "order": "b[heavy-oil-barrel]", + "stack_size": 10 + }, + "light-oil-barrel": { + "type": "item", + "name": "light-oil-barrel", + "localised_name": [ + "item-name.filled-barrel", + [ + "fluid-name.light-oil" + ] + ], + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0.57, + "g": 0.33, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 1, + "g": 0.73, + "b": 0.07, + "a": 0.75 + } + } + ], + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "fill-barrel", + "order": "b[light-oil-barrel]", + "stack_size": 10 + }, + "petroleum-gas-barrel": { + "type": "item", + "name": "petroleum-gas-barrel", + "localised_name": [ + "item-name.filled-barrel", + [ + "fluid-name.petroleum-gas" + ] + ], + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0.3, + "g": 0.1, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.8, + "g": 0.8, + "b": 0.8, + "a": 0.75 + } + } + ], + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "fill-barrel", + "order": "b[petroleum-gas-barrel]", + "stack_size": 10 + }, + "lubricant-barrel": { + "type": "item", + "name": "lubricant-barrel", + "localised_name": [ + "item-name.filled-barrel", + [ + "fluid-name.lubricant" + ] + ], + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0.15, + "g": 0.32, + "b": 0.03, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.43, + "g": 0.75, + "b": 0.31, + "a": 0.75 + } + } + ], + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "fill-barrel", + "order": "b[lubricant-barrel]", + "stack_size": 10 + }, + "sulfuric-acid-barrel": { + "type": "item", + "name": "sulfuric-acid-barrel", + "localised_name": [ + "item-name.filled-barrel", + [ + "fluid-name.sulfuric-acid" + ] + ], + "icons": [ + { + "icon": "icon:barreling/empty-barrel" + }, + { + "icon": "icon:barreling/barrel-side-mask", + "tint": { + "r": 0.75, + "g": 0.65, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-hoop-top-mask", + "tint": { + "r": 0.7, + "g": 1, + "b": 0.1, + "a": 0.75 + } + } + ], + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "fill-barrel", + "order": "b[sulfuric-acid-barrel]", + "stack_size": 10 + }, + "raw-fish": { + "type": "capsule", + "name": "raw-fish", + "icon": "icon:icons/fish", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "raw-resource", + "capsule_action": { + "type": "use-on-self", + "attack_parameters": { + "type": "projectile", + "ammo_category": "capsule", + "cooldown": 30, + "range": 0, + "ammo_type": { + "category": "capsule", + "target_type": "position", + "action": { + "type": "direct", + "action_delivery": { + "type": "instant", + "target_effects": { + "type": "damage", + "damage": { + "type": "physical", + "amount": -80 + } + } + } + } + } + } + }, + "order": "h[raw-fish]", + "stack_size": 100 + }, + "grenade": { + "type": "capsule", + "name": "grenade", + "icon": "icon:icons/grenade", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "capsule_action": { + "type": "throw", + "attack_parameters": { + "type": "projectile", + "ammo_category": "grenade", + "cooldown": 30, + "projectile_creation_distance": 0.6, + "range": 15, + "ammo_type": { + "category": "grenade", + "target_type": "position", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "grenade", + "starting_speed": 0.3 + } + } + } + } + }, + "subgroup": "capsule", + "order": "a[grenade]-a[normal]", + "stack_size": 100 + }, + "cluster-grenade": { + "type": "capsule", + "name": "cluster-grenade", + "icon": "icon:icons/cluster-grenade", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "capsule_action": { + "type": "throw", + "attack_parameters": { + "type": "projectile", + "ammo_category": "grenade", + "cooldown": 30, + "projectile_creation_distance": 0.6, + "range": 20, + "ammo_type": { + "category": "grenade", + "target_type": "position", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "cluster-grenade", + "starting_speed": 0.3 + } + } + } + } + }, + "subgroup": "capsule", + "order": "a[grenade]-b[cluster]", + "stack_size": 100 + }, + "poison-capsule": { + "type": "capsule", + "name": "poison-capsule", + "icon": "icon:icons/poison-capsule", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "capsule_action": { + "type": "throw", + "attack_parameters": { + "type": "projectile", + "ammo_category": "capsule", + "cooldown": 30, + "projectile_creation_distance": 0.6, + "range": 25, + "ammo_type": { + "category": "capsule", + "target_type": "position", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "poison-capsule", + "starting_speed": 0.3 + } + } + } + } + }, + "subgroup": "capsule", + "order": "b[poison-capsule]", + "stack_size": 100 + }, + "slowdown-capsule": { + "type": "capsule", + "name": "slowdown-capsule", + "icon": "icon:icons/slowdown-capsule", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "capsule_action": { + "type": "throw", + "attack_parameters": { + "type": "projectile", + "ammo_category": "capsule", + "cooldown": 30, + "projectile_creation_distance": 0.6, + "range": 25, + "ammo_type": { + "category": "capsule", + "target_type": "position", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "slowdown-capsule", + "starting_speed": 0.3 + } + } + } + } + }, + "subgroup": "capsule", + "order": "c[slowdown-capsule]", + "stack_size": 100 + }, + "defender-capsule": { + "type": "capsule", + "name": "defender-capsule", + "icon": "icon:icons/defender", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "capsule_action": { + "type": "throw", + "attack_parameters": { + "type": "projectile", + "ammo_category": "capsule", + "cooldown": 15, + "projectile_creation_distance": 0.6, + "range": 20, + "ammo_type": { + "category": "capsule", + "target_type": "position", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "defender-capsule", + "starting_speed": 0.3 + } + } + } + } + }, + "subgroup": "capsule", + "order": "d[defender-capsule]", + "stack_size": 100 + }, + "distractor-capsule": { + "type": "capsule", + "name": "distractor-capsule", + "icon": "icon:icons/distractor", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "capsule_action": { + "type": "throw", + "attack_parameters": { + "type": "projectile", + "ammo_category": "capsule", + "cooldown": 30, + "projectile_creation_distance": 0.6, + "range": 25, + "ammo_type": { + "category": "capsule", + "target_type": "position", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "distractor-capsule", + "starting_speed": 0.3 + } + } + } + } + }, + "subgroup": "capsule", + "order": "e[defender-capsule]", + "stack_size": 100 + }, + "destroyer-capsule": { + "type": "capsule", + "name": "destroyer-capsule", + "icon": "icon:icons/destroyer", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "capsule_action": { + "type": "throw", + "attack_parameters": { + "type": "projectile", + "ammo_category": "capsule", + "cooldown": 30, + "projectile_creation_distance": 0.6, + "range": 25, + "ammo_type": { + "category": "capsule", + "target_type": "position", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "destroyer-capsule", + "starting_speed": 0.3 + } + } + } + } + }, + "subgroup": "capsule", + "order": "f[destroyer-capsule]", + "stack_size": 100 + }, + "discharge-defense-remote": { + "type": "capsule", + "name": "discharge-defense-remote", + "icon": "icon:equipment/discharge-defense-equipment-ability", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "capsule_action": { + "type": "equipment-remote", + "equipment": "discharge-defense-equipment" + }, + "subgroup": "capsule", + "order": "z", + "stack_size": 1 + }, + "cliff-explosives": { + "type": "capsule", + "name": "cliff-explosives", + "icon": "icon:icons/cliff-explosives", + "icon_size": 32, + "flags": [ + "goes-to-quickbar", + "hide-from-bonus-gui" + ], + "capsule_action": { + "type": "destroy-cliffs", + "radius": 1.5, + "attack_parameters": { + "type": "projectile", + "ammo_category": "grenade", + "cooldown": 30, + "projectile_creation_distance": 0.6, + "range": 10, + "ammo_type": { + "category": "grenade", + "target_type": "position", + "action": { + "type": "direct", + "action_delivery": { + "type": "projectile", + "projectile": "cliff-explosives", + "starting_speed": 0.3 + } + } + } + } + }, + "subgroup": "terrain", + "order": "d[cliff-explosives]", + "stack_size": 20 + }, + "artillery-targeting-remote": { + "type": "capsule", + "name": "artillery-targeting-remote", + "icon": "icon:icons/artillery-targeting-remote", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "capsule_action": { + "type": "artillery-remote", + "flare": "artillery-flare" + }, + "subgroup": "capsule", + "order": "zz", + "stack_size": 1 + }, + "repair-pack": { + "type": "repair-tool", + "name": "repair-pack", + "icon": "icon:icons/repair-pack", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "tool", + "order": "b[repair]-a[repair-pack]", + "speed": 2, + "durability": 300, + "stack_size": 100 + }, + "iron-axe": { + "type": "mining-tool", + "name": "iron-axe", + "localised_description": [ + "item-description.mining-tool" + ], + "icon": "icon:icons/iron-axe", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "action": { + "type": "direct", + "action_delivery": { + "type": "instant", + "target_effects": { + "type": "damage", + "damage": { + "amount": 5, + "type": "physical" + } + } + } + }, + "durability": 4000, + "subgroup": "tool", + "order": "a[mining]-a[iron-axe]", + "speed": 2.5, + "stack_size": 20 + }, + "steel-axe": { + "type": "mining-tool", + "name": "steel-axe", + "localised_description": [ + "item-description.mining-tool" + ], + "icon": "icon:icons/steel-axe", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "action": { + "type": "direct", + "action_delivery": { + "type": "instant", + "target_effects": { + "type": "damage", + "damage": { + "amount": 8, + "type": "physical" + } + } + } + }, + "durability": 5000, + "subgroup": "tool", + "order": "a[mining]-b[steel-axe]", + "speed": 4, + "stack_size": 20 + }, + "basic-oil-processing": { + "type": "recipe", + "name": "basic-oil-processing", + "category": "oil-processing", + "enabled": false, + "energy_required": 5, + "ingredients": [ + { + "type": "fluid", + "name": "crude-oil", + "amount": 100 + } + ], + "results": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 30 + }, + { + "type": "fluid", + "name": "light-oil", + "amount": 30 + }, + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 40 + } + ], + "icon": "icon:fluid/basic-oil-processing", + "icon_size": 32, + "subgroup": "fluid-recipes", + "order": "a[oil-processing]-a[basic-oil-processing]" + }, + "advanced-oil-processing": { + "type": "recipe", + "name": "advanced-oil-processing", + "category": "oil-processing", + "enabled": false, + "energy_required": 5, + "ingredients": [ + { + "type": "fluid", + "name": "water", + "amount": 50 + }, + { + "type": "fluid", + "name": "crude-oil", + "amount": 100 + } + ], + "results": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 10 + }, + { + "type": "fluid", + "name": "light-oil", + "amount": 45 + }, + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 55 + } + ], + "icon": "icon:fluid/advanced-oil-processing", + "icon_size": 32, + "subgroup": "fluid-recipes", + "order": "a[oil-processing]-b[advanced-oil-processing]" + }, + "coal-liquefaction": { + "type": "recipe", + "name": "coal-liquefaction", + "category": "oil-processing", + "enabled": false, + "energy_required": 5, + "ingredients": [ + { + "type": "item", + "name": "coal", + "amount": 10 + }, + { + "type": "fluid", + "name": "heavy-oil", + "amount": 25 + }, + { + "type": "fluid", + "name": "steam", + "amount": 50 + } + ], + "results": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 35 + }, + { + "type": "fluid", + "name": "light-oil", + "amount": 15 + }, + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 20 + } + ], + "icon": "icon:fluid/coal-liquefaction", + "icon_size": 32, + "subgroup": "fluid-recipes", + "order": "a[oil-processing]-c[coal-liquefaction]", + "allow_decomposition": false + }, + "heavy-oil-cracking": { + "type": "recipe", + "name": "heavy-oil-cracking", + "category": "chemistry", + "enabled": false, + "energy_required": 3, + "ingredients": [ + { + "type": "fluid", + "name": "water", + "amount": 30 + }, + { + "type": "fluid", + "name": "heavy-oil", + "amount": 40 + } + ], + "results": [ + { + "type": "fluid", + "name": "light-oil", + "amount": 30 + } + ], + "main_product": "", + "icon": "icon:fluid/heavy-oil-cracking", + "icon_size": 32, + "subgroup": "fluid-recipes", + "order": "b[fluid-chemistry]-a[heavy-oil-cracking]", + "crafting_machine_tint": { + "primary": { + "r": 0.29, + "g": 0.027, + "b": 0, + "a": 0 + }, + "secondary": { + "r": 0.722, + "g": 0.465, + "b": 0.19, + "a": 0 + }, + "tertiary": { + "r": 0.87, + "g": 0.365, + "b": 0, + "a": 0 + } + } + }, + "light-oil-cracking": { + "type": "recipe", + "name": "light-oil-cracking", + "category": "chemistry", + "enabled": false, + "energy_required": 3, + "ingredients": [ + { + "type": "fluid", + "name": "water", + "amount": 30 + }, + { + "type": "fluid", + "name": "light-oil", + "amount": 30 + } + ], + "results": [ + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 20 + } + ], + "main_product": "", + "icon": "icon:fluid/light-oil-cracking", + "icon_size": 32, + "subgroup": "fluid-recipes", + "order": "b[fluid-chemistry]-b[light-oil-cracking]", + "crafting_machine_tint": { + "primary": { + "r": 0.785, + "g": 0.406, + "b": 0, + "a": 0 + }, + "secondary": { + "r": 0.795, + "g": 0.805, + "b": 0.605, + "a": 0 + }, + "tertiary": { + "r": 0.835, + "g": 0.551, + "b": 0, + "a": 0 + } + } + }, + "solid-fuel-from-light-oil": { + "type": "recipe", + "name": "solid-fuel-from-light-oil", + "category": "chemistry", + "energy_required": 3, + "ingredients": [ + { + "type": "fluid", + "name": "light-oil", + "amount": 10 + } + ], + "results": [ + { + "type": "item", + "name": "solid-fuel", + "amount": 1 + } + ], + "icon": "icon:icons/solid-fuel-from-light-oil", + "icon_size": 32, + "subgroup": "fluid-recipes", + "enabled": false, + "order": "b[fluid-chemistry]-c[solid-fuel-from-light-oil]", + "crafting_machine_tint": { + "primary": { + "r": 0.27, + "g": 0.122, + "b": 0, + "a": 0 + }, + "secondary": { + "r": 0.735, + "g": 0.546, + "b": 0.325, + "a": 0 + }, + "tertiary": { + "r": 0.61, + "g": 0.348, + "b": 0, + "a": 0 + } + } + }, + "solid-fuel-from-petroleum-gas": { + "type": "recipe", + "name": "solid-fuel-from-petroleum-gas", + "category": "chemistry", + "energy_required": 3, + "ingredients": [ + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 20 + } + ], + "results": [ + { + "type": "item", + "name": "solid-fuel", + "amount": 1 + } + ], + "icon": "icon:icons/solid-fuel-from-petroleum-gas", + "icon_size": 32, + "subgroup": "fluid-recipes", + "enabled": false, + "order": "b[fluid-chemistry]-d[solid-fuel-from-petroleum-gas]", + "crafting_machine_tint": { + "primary": { + "r": 0.331, + "g": 0.075, + "b": 0.51, + "a": 0 + }, + "secondary": { + "r": 0.589, + "g": 0.54, + "b": 0.615, + "a": 0.361 + }, + "tertiary": { + "r": 0.469, + "g": 0.145, + "b": 0.695, + "a": 0 + } + } + }, + "solid-fuel-from-heavy-oil": { + "type": "recipe", + "name": "solid-fuel-from-heavy-oil", + "category": "chemistry", + "energy_required": 3, + "ingredients": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 20 + } + ], + "results": [ + { + "type": "item", + "name": "solid-fuel", + "amount": 1 + } + ], + "icon": "icon:icons/solid-fuel-from-heavy-oil", + "icon_size": 32, + "subgroup": "fluid-recipes", + "enabled": false, + "order": "b[fluid-chemistry]-e[solid-fuel-from-heavy-oil]", + "crafting_machine_tint": { + "primary": { + "r": 0.16, + "g": 0.095, + "b": 0.095, + "a": 0 + }, + "secondary": { + "r": 0.47, + "g": 0.215, + "b": 0.19, + "a": 0 + }, + "tertiary": { + "r": 0.435, + "g": 0.144, + "b": 0.135, + "a": 0 + } + } + }, + "uranium-processing": { + "type": "recipe", + "name": "uranium-processing", + "energy_required": 10, + "enabled": false, + "category": "centrifuging", + "ingredients": [ + [ + "uranium-ore", + 10 + ] + ], + "icon": "icon:icons/uranium-processing", + "icon_size": 32, + "subgroup": "raw-material", + "order": "k[uranium-processing]", + "results": [ + { + "name": "uranium-235", + "probability": 0.007, + "amount": 1 + }, + { + "name": "uranium-238", + "probability": 0.993, + "amount": 1 + } + ] + }, + "kovarex-enrichment-process": { + "type": "recipe", + "name": "kovarex-enrichment-process", + "energy_required": 50, + "enabled": false, + "category": "centrifuging", + "ingredients": [ + [ + "uranium-235", + 40 + ], + [ + "uranium-238", + 5 + ] + ], + "icon": "icon:icons/kovarex-enrichment-process", + "icon_size": 32, + "subgroup": "intermediate-product", + "order": "r[uranium-processing]-c[kovarex-enrichment-process]", + "main_product": "", + "results": [ + { + "name": "uranium-235", + "amount": 41 + }, + { + "name": "uranium-238", + "amount": 2 + } + ], + "allow_decomposition": false + }, + "nuclear-fuel-reprocessing": { + "type": "recipe", + "name": "nuclear-fuel-reprocessing", + "energy_required": 50, + "enabled": false, + "category": "centrifuging", + "ingredients": [ + [ + "used-up-uranium-fuel-cell", + 5 + ] + ], + "icon": "icon:icons/nuclear-fuel-reprocessing", + "icon_size": 32, + "subgroup": "intermediate-product", + "order": "r[uranium-processing]-b[nuclear-fuel-reprocessing]", + "main_product": "", + "results": [ + { + "name": "uranium-238", + "amount": 3 + } + ], + "allow_decomposition": false + }, + "fill-water-barrel": { + "type": "recipe", + "name": "fill-water-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.water" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-water-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0, + "g": 0.34, + "b": 0.6, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.7, + "g": 0.7, + "b": 0.7, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/water", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "water", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "water-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-water-barrel": { + "type": "recipe", + "name": "empty-water-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.water" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-water-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0, + "g": 0.34, + "b": 0.6, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.7, + "g": 0.7, + "b": 0.7, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/water", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "water-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "water", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-crude-oil-barrel": { + "type": "recipe", + "name": "fill-crude-oil-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.crude-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-crude-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/crude-oil", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "crude-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "crude-oil-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-crude-oil-barrel": { + "type": "recipe", + "name": "empty-crude-oil-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.crude-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-crude-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/crude-oil", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "crude-oil-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "crude-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-heavy-oil-barrel": { + "type": "recipe", + "name": "fill-heavy-oil-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.heavy-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-heavy-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0.5, + "g": 0.04, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.85, + "g": 0.6, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/heavy-oil", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "heavy-oil-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-heavy-oil-barrel": { + "type": "recipe", + "name": "empty-heavy-oil-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.heavy-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-heavy-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0.5, + "g": 0.04, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.85, + "g": 0.6, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/heavy-oil", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "heavy-oil-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-light-oil-barrel": { + "type": "recipe", + "name": "fill-light-oil-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.light-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-light-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0.57, + "g": 0.33, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 1, + "g": 0.73, + "b": 0.07, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/light-oil", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "light-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "light-oil-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-light-oil-barrel": { + "type": "recipe", + "name": "empty-light-oil-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.light-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-light-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0.57, + "g": 0.33, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 1, + "g": 0.73, + "b": 0.07, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/light-oil", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "light-oil-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "light-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-petroleum-gas-barrel": { + "type": "recipe", + "name": "fill-petroleum-gas-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.petroleum-gas" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-petroleum-gas-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0.3, + "g": 0.1, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.8, + "g": 0.8, + "b": 0.8, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/petroleum-gas", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "petroleum-gas-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-petroleum-gas-barrel": { + "type": "recipe", + "name": "empty-petroleum-gas-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.petroleum-gas" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-petroleum-gas-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0.3, + "g": 0.1, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.8, + "g": 0.8, + "b": 0.8, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/petroleum-gas", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "petroleum-gas-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-lubricant-barrel": { + "type": "recipe", + "name": "fill-lubricant-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.lubricant" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-lubricant-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0.15, + "g": 0.32, + "b": 0.03, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.43, + "g": 0.75, + "b": 0.31, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/lubricant", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "lubricant", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "lubricant-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-lubricant-barrel": { + "type": "recipe", + "name": "empty-lubricant-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.lubricant" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-lubricant-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0.15, + "g": 0.32, + "b": 0.03, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.43, + "g": 0.75, + "b": 0.31, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/lubricant", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "lubricant-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "lubricant", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-sulfuric-acid-barrel": { + "type": "recipe", + "name": "fill-sulfuric-acid-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.sulfuric-acid" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-sulfuric-acid-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-fill" + }, + { + "icon": "icon:barreling/barrel-fill-side-mask", + "tint": { + "r": 0.75, + "g": 0.65, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-fill-top-mask", + "tint": { + "r": 0.7, + "g": 1, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/sulfuric-acid", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "sulfuric-acid", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "sulfuric-acid-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-sulfuric-acid-barrel": { + "type": "recipe", + "name": "empty-sulfuric-acid-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.sulfuric-acid" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-sulfuric-acid-barrel]", + "enabled": false, + "icons": [ + { + "icon": "icon:barreling/barrel-empty" + }, + { + "icon": "icon:barreling/barrel-empty-side-mask", + "tint": { + "r": 0.75, + "g": 0.65, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "icon:barreling/barrel-empty-top-mask", + "tint": { + "r": 0.7, + "g": 1, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "icon:fluid/sulfuric-acid", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "sulfuric-acid-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "sulfuric-acid", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "signal-everything": { + "type": "virtual-signal", + "name": "signal-everything", + "special_signal": true, + "icon": "icon:signal/signal_everything", + "icon_size": 32, + "subgroup": "virtual-signal-special", + "order": "a[special]-[1everything]" + }, + "signal-anything": { + "type": "virtual-signal", + "name": "signal-anything", + "special_signal": true, + "icon": "icon:signal/signal_anything", + "icon_size": 32, + "subgroup": "virtual-signal-special", + "order": "a[special]-[2anything]" + }, + "signal-each": { + "type": "virtual-signal", + "name": "signal-each", + "special_signal": true, + "icon": "icon:signal/signal_each", + "icon_size": 32, + "subgroup": "virtual-signal-special", + "order": "a[special]-[3each]" + }, + "signal-red": { + "type": "virtual-signal", + "name": "signal-red", + "icon": "icon:signal/signal_red", + "icon_size": 32, + "subgroup": "virtual-signal-color", + "order": "d[colors]-[1red]" + }, + "signal-green": { + "type": "virtual-signal", + "name": "signal-green", + "icon": "icon:signal/signal_green", + "icon_size": 32, + "subgroup": "virtual-signal-color", + "order": "d[colors]-[2green]" + }, + "signal-blue": { + "type": "virtual-signal", + "name": "signal-blue", + "icon": "icon:signal/signal_blue", + "icon_size": 32, + "subgroup": "virtual-signal-color", + "order": "d[colors]-[3blue]" + }, + "signal-yellow": { + "type": "virtual-signal", + "name": "signal-yellow", + "icon": "icon:signal/signal_yellow", + "icon_size": 32, + "subgroup": "virtual-signal-color", + "order": "d[colors]-[4yellow]" + }, + "signal-pink": { + "type": "virtual-signal", + "name": "signal-pink", + "icon": "icon:signal/signal_pink", + "icon_size": 32, + "subgroup": "virtual-signal-color", + "order": "d[colors]-[5pink]" + }, + "signal-cyan": { + "type": "virtual-signal", + "name": "signal-cyan", + "icon": "icon:signal/signal_cyan", + "icon_size": 32, + "subgroup": "virtual-signal-color", + "order": "d[colors]-[6cyan]" + }, + "signal-white": { + "type": "virtual-signal", + "name": "signal-white", + "icon": "icon:signal/signal_white", + "icon_size": 32, + "subgroup": "virtual-signal-color", + "order": "d[colors]-[7white]" + }, + "signal-grey": { + "type": "virtual-signal", + "name": "signal-grey", + "icon": "icon:signal/signal_grey", + "icon_size": 32, + "subgroup": "virtual-signal-color", + "order": "d[colors]-[8grey]" + }, + "signal-black": { + "type": "virtual-signal", + "name": "signal-black", + "icon": "icon:signal/signal_black", + "icon_size": 32, + "subgroup": "virtual-signal-color", + "order": "d[colors]-[9black]" + }, + "signal-1": { + "type": "virtual-signal", + "name": "signal-1", + "icon": "icon:signal/signal_1", + "icon_size": 32, + "subgroup": "virtual-signal-number", + "order": "b[numbers]-[1]" + }, + "signal-2": { + "type": "virtual-signal", + "name": "signal-2", + "icon": "icon:signal/signal_2", + "icon_size": 32, + "subgroup": "virtual-signal-number", + "order": "b[numbers]-[2]" + }, + "signal-3": { + "type": "virtual-signal", + "name": "signal-3", + "icon": "icon:signal/signal_3", + "icon_size": 32, + "subgroup": "virtual-signal-number", + "order": "b[numbers]-[3]" + }, + "signal-4": { + "type": "virtual-signal", + "name": "signal-4", + "icon": "icon:signal/signal_4", + "icon_size": 32, + "subgroup": "virtual-signal-number", + "order": "b[numbers]-[4]" + }, + "signal-5": { + "type": "virtual-signal", + "name": "signal-5", + "icon": "icon:signal/signal_5", + "icon_size": 32, + "subgroup": "virtual-signal-number", + "order": "b[numbers]-[5]" + }, + "signal-6": { + "type": "virtual-signal", + "name": "signal-6", + "icon": "icon:signal/signal_6", + "icon_size": 32, + "subgroup": "virtual-signal-number", + "order": "b[numbers]-[6]" + }, + "signal-7": { + "type": "virtual-signal", + "name": "signal-7", + "icon": "icon:signal/signal_7", + "icon_size": 32, + "subgroup": "virtual-signal-number", + "order": "b[numbers]-[7]" + }, + "signal-8": { + "type": "virtual-signal", + "name": "signal-8", + "icon": "icon:signal/signal_8", + "icon_size": 32, + "subgroup": "virtual-signal-number", + "order": "b[numbers]-[8]" + }, + "signal-9": { + "type": "virtual-signal", + "name": "signal-9", + "icon": "icon:signal/signal_9", + "icon_size": 32, + "subgroup": "virtual-signal-number", + "order": "b[numbers]-[9]" + }, + "signal-0": { + "type": "virtual-signal", + "name": "signal-0", + "icon": "icon:signal/signal_0", + "icon_size": 32, + "subgroup": "virtual-signal-number", + "order": "b[numbers]-[0]" + }, + "signal-A": { + "type": "virtual-signal", + "name": "signal-A", + "icon": "icon:signal/signal_A", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[A]" + }, + "signal-B": { + "type": "virtual-signal", + "name": "signal-B", + "icon": "icon:signal/signal_B", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[B]" + }, + "signal-C": { + "type": "virtual-signal", + "name": "signal-C", + "icon": "icon:signal/signal_C", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[C]" + }, + "signal-D": { + "type": "virtual-signal", + "name": "signal-D", + "icon": "icon:signal/signal_D", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[D]" + }, + "signal-E": { + "type": "virtual-signal", + "name": "signal-E", + "icon": "icon:signal/signal_E", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[E]" + }, + "signal-F": { + "type": "virtual-signal", + "name": "signal-F", + "icon": "icon:signal/signal_F", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[F]" + }, + "signal-G": { + "type": "virtual-signal", + "name": "signal-G", + "icon": "icon:signal/signal_G", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[G]" + }, + "signal-H": { + "type": "virtual-signal", + "name": "signal-H", + "icon": "icon:signal/signal_H", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[H]" + }, + "signal-I": { + "type": "virtual-signal", + "name": "signal-I", + "icon": "icon:signal/signal_I", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[I]" + }, + "signal-J": { + "type": "virtual-signal", + "name": "signal-J", + "icon": "icon:signal/signal_J", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[J]" + }, + "signal-K": { + "type": "virtual-signal", + "name": "signal-K", + "icon": "icon:signal/signal_K", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[K]" + }, + "signal-L": { + "type": "virtual-signal", + "name": "signal-L", + "icon": "icon:signal/signal_L", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[L]" + }, + "signal-M": { + "type": "virtual-signal", + "name": "signal-M", + "icon": "icon:signal/signal_M", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[M]" + }, + "signal-N": { + "type": "virtual-signal", + "name": "signal-N", + "icon": "icon:signal/signal_N", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[N]" + }, + "signal-O": { + "type": "virtual-signal", + "name": "signal-O", + "icon": "icon:signal/signal_O", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[O]" + }, + "signal-P": { + "type": "virtual-signal", + "name": "signal-P", + "icon": "icon:signal/signal_P", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[P]" + }, + "signal-Q": { + "type": "virtual-signal", + "name": "signal-Q", + "icon": "icon:signal/signal_Q", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[Q]" + }, + "signal-R": { + "type": "virtual-signal", + "name": "signal-R", + "icon": "icon:signal/signal_R", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[R]" + }, + "signal-S": { + "type": "virtual-signal", + "name": "signal-S", + "icon": "icon:signal/signal_S", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[S]" + }, + "signal-T": { + "type": "virtual-signal", + "name": "signal-T", + "icon": "icon:signal/signal_T", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[T]" + }, + "signal-U": { + "type": "virtual-signal", + "name": "signal-U", + "icon": "icon:signal/signal_U", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[U]" + }, + "signal-V": { + "type": "virtual-signal", + "name": "signal-V", + "icon": "icon:signal/signal_V", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[V]" + }, + "signal-W": { + "type": "virtual-signal", + "name": "signal-W", + "icon": "icon:signal/signal_W", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[W]" + }, + "signal-X": { + "type": "virtual-signal", + "name": "signal-X", + "icon": "icon:signal/signal_X", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[X]" + }, + "signal-Y": { + "type": "virtual-signal", + "name": "signal-Y", + "icon": "icon:signal/signal_Y", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[Y]" + }, + "signal-Z": { + "type": "virtual-signal", + "name": "signal-Z", + "icon": "icon:signal/signal_Z", + "icon_size": 32, + "subgroup": "virtual-signal-letter", + "order": "c[letters]-[Z]" + }, + "locomotive": { + "type": "item-with-entity-data", + "name": "locomotive", + "icon": "icon:icons/diesel-locomotive", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "transport", + "order": "a[train-system]-f[diesel-locomotive]", + "place_result": "locomotive", + "stack_size": 5 + }, + "cargo-wagon": { + "type": "item-with-entity-data", + "name": "cargo-wagon", + "icon": "icon:icons/cargo-wagon", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "transport", + "order": "a[train-system]-g[cargo-wagon]", + "place_result": "cargo-wagon", + "stack_size": 5 + }, + "fluid-wagon": { + "type": "item-with-entity-data", + "name": "fluid-wagon", + "icon": "icon:icons/fluid-wagon", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "transport", + "order": "a[train-system]-h[fluid-wagon]", + "place_result": "fluid-wagon", + "stack_size": 5 + }, + "artillery-wagon": { + "type": "item-with-entity-data", + "name": "artillery-wagon", + "icon": "icon:icons/artillery-wagon", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "transport", + "order": "a[train-system]-i[artillery-wagon]", + "place_result": "artillery-wagon", + "stack_size": 5 + }, + "car": { + "type": "item-with-entity-data", + "name": "car", + "icon": "icon:icons/car", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "transport", + "order": "b[personal-transport]-a[car]", + "place_result": "car", + "stack_size": 1 + }, + "tank": { + "type": "item-with-entity-data", + "name": "tank", + "icon": "icon:icons/tank", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "transport", + "order": "b[personal-transport]-b[tank]", + "place_result": "tank", + "stack_size": 1 + }, + "rail": { + "type": "rail-planner", + "name": "rail", + "icon": "icon:icons/rail", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "transport", + "order": "a[train-system]-a[rail]", + "place_result": "straight-rail", + "stack_size": 100, + "straight_rail": "straight-rail", + "curved_rail": "curved-rail" + }, + "science-pack-1": { + "type": "tool", + "name": "science-pack-1", + "localised_description": [ + "item-description.science-pack" + ], + "icon": "icon:icons/science-pack-1", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "science-pack", + "order": "a[science-pack-1]", + "stack_size": 200, + "durability": 1, + "durability_description_key": "description.science-pack-remaining-amount-key", + "durability_description_value": "description.science-pack-remaining-amount-value" + }, + "science-pack-2": { + "type": "tool", + "name": "science-pack-2", + "localised_description": [ + "item-description.science-pack" + ], + "icon": "icon:icons/science-pack-2", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "science-pack", + "order": "b[science-pack-2]", + "stack_size": 200, + "durability": 1, + "durability_description_key": "description.science-pack-remaining-amount-key", + "durability_description_value": "description.science-pack-remaining-amount-value" + }, + "science-pack-3": { + "type": "tool", + "name": "science-pack-3", + "localised_description": [ + "item-description.science-pack" + ], + "icon": "icon:icons/science-pack-3", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "science-pack", + "order": "c[science-pack-3]", + "stack_size": 200, + "durability": 1, + "durability_description_key": "description.science-pack-remaining-amount-key", + "durability_description_value": "description.science-pack-remaining-amount-value" + }, + "military-science-pack": { + "type": "tool", + "name": "military-science-pack", + "localised_description": [ + "item-description.science-pack" + ], + "icon": "icon:icons/military-science-pack", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "science-pack", + "order": "d[military-science-pack]", + "stack_size": 200, + "durability": 1, + "durability_description_key": "description.science-pack-remaining-amount-key", + "durability_description_value": "description.science-pack-remaining-amount-value" + }, + "production-science-pack": { + "type": "tool", + "name": "production-science-pack", + "localised_description": [ + "item-description.science-pack" + ], + "icon": "icon:icons/production-science-pack", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "science-pack", + "order": "e[production-science-pack]", + "stack_size": 200, + "durability": 1, + "durability_description_key": "description.science-pack-remaining-amount-key", + "durability_description_value": "description.science-pack-remaining-amount-value" + }, + "high-tech-science-pack": { + "type": "tool", + "name": "high-tech-science-pack", + "localised_description": [ + "item-description.science-pack" + ], + "icon": "icon:icons/high-tech-science-pack", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "science-pack", + "order": "f[high-tech-science-pack]", + "stack_size": 200, + "durability": 1, + "durability_description_key": "description.science-pack-remaining-amount-key", + "durability_description_value": "description.science-pack-remaining-amount-value" + }, + "space-science-pack": { + "type": "tool", + "name": "space-science-pack", + "icon": "icon:icons/space-science-pack", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "science-pack", + "order": "g[space-science-pack]", + "stack_size": 2000, + "durability": 1, + "durability_description_key": "description.science-pack-remaining-amount-key", + "durability_description_value": "description.science-pack-remaining-amount-value" + }, + "blueprint": { + "type": "blueprint", + "name": "blueprint", + "icon": "icon:icons/blueprint", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "tool", + "order": "c[automated-construction]-a[blueprint]", + "stack_size": 1, + "stackable": false, + "draw_label_for_cursor_render": true, + "item_to_clear": "electronic-circuit", + "selection_color": { + "r": 0, + "g": 1, + "b": 0 + }, + "alt_selection_color": { + "r": 0, + "g": 1, + "b": 0 + }, + "selection_mode": [ + "blueprint" + ], + "alt_selection_mode": [ + "blueprint" + ], + "selection_cursor_box_type": "copy", + "alt_selection_cursor_box_type": "copy" + }, + "deconstruction-planner": { + "type": "deconstruction-item", + "name": "deconstruction-planner", + "icon": "icon:icons/deconstruction-planner", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "tool", + "order": "c[automated-construction]-b[deconstruction-planner]", + "stack_size": 1, + "entity_filter_count": 30, + "tile_filter_count": 30, + "selection_color": { + "r": 1, + "g": 0, + "b": 0 + }, + "alt_selection_color": { + "r": 0, + "g": 0, + "b": 1 + }, + "selection_mode": [ + "deconstruct" + ], + "alt_selection_mode": [ + "cancel-deconstruct" + ], + "selection_cursor_box_type": "not-allowed", + "alt_selection_cursor_box_type": "not-allowed" + }, + "blueprint-book": { + "type": "blueprint-book", + "name": "blueprint-book", + "icon": "icon:icons/blueprint-book", + "icon_size": 32, + "flags": [ + "goes-to-quickbar" + ], + "subgroup": "tool", + "order": "c[automated-construction]-c[blueprint-book]", + "stack_size": 1, + "inventory_size": 1000 + }, + "speed-module": { + "type": "module", + "name": "speed-module", + "localised_description": [ + "item-description.speed-module" + ], + "icon": "icon:icons/speed-module", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "module", + "category": "speed", + "tier": 1, + "order": "a[speed]-a[speed-module-1]", + "stack_size": 50, + "default_request_amount": 10, + "effect": { + "speed": { + "bonus": 0.2 + }, + "consumption": { + "bonus": 0.5 + } + } + }, + "speed-module-2": { + "type": "module", + "name": "speed-module-2", + "localised_description": [ + "item-description.speed-module" + ], + "icon": "icon:icons/speed-module-2", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "module", + "category": "speed", + "tier": 2, + "order": "a[speed]-b[speed-module-2]", + "stack_size": 50, + "default_request_amount": 10, + "effect": { + "speed": { + "bonus": 0.3 + }, + "consumption": { + "bonus": 0.6 + } + } + }, + "speed-module-3": { + "type": "module", + "name": "speed-module-3", + "localised_description": [ + "item-description.speed-module" + ], + "icon": "icon:icons/speed-module-3", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "module", + "category": "speed", + "tier": 3, + "order": "a[speed]-c[speed-module-3]", + "stack_size": 50, + "default_request_amount": 10, + "effect": { + "speed": { + "bonus": 0.5 + }, + "consumption": { + "bonus": 0.7 + } + } + }, + "effectivity-module": { + "type": "module", + "name": "effectivity-module", + "localised_description": [ + "item-description.effectivity-module" + ], + "icon": "icon:icons/effectivity-module", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "module", + "category": "effectivity", + "tier": 1, + "order": "c[effectivity]-a[effectivity-module-1]", + "stack_size": 50, + "default_request_amount": 10, + "effect": { + "consumption": { + "bonus": -0.3 + } + } + }, + "effectivity-module-2": { + "type": "module", + "name": "effectivity-module-2", + "localised_description": [ + "item-description.effectivity-module" + ], + "icon": "icon:icons/effectivity-module-2", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "module", + "category": "effectivity", + "tier": 2, + "order": "c[effectivity]-b[effectivity-module-2]", + "stack_size": 50, + "default_request_amount": 10, + "effect": { + "consumption": { + "bonus": -0.4 + } + } + }, + "effectivity-module-3": { + "type": "module", + "name": "effectivity-module-3", + "localised_description": [ + "item-description.effectivity-module" + ], + "icon": "icon:icons/effectivity-module-3", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "module", + "category": "effectivity", + "tier": 3, + "order": "c[effectivity]-c[effectivity-module-3]", + "stack_size": 50, + "default_request_amount": 10, + "effect": { + "consumption": { + "bonus": -0.5 + } + } + }, + "productivity-module": { + "type": "module", + "name": "productivity-module", + "localised_description": [ + "item-description.productivity-module" + ], + "icon": "icon:icons/productivity-module", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "module", + "category": "productivity", + "tier": 1, + "order": "c[productivity]-a[productivity-module-1]", + "stack_size": 50, + "default_request_amount": 10, + "effect": { + "productivity": { + "bonus": 0.04 + }, + "consumption": { + "bonus": 0.4 + }, + "pollution": { + "bonus": 0.05 + }, + "speed": { + "bonus": -0.15 + } + }, + "limitation": [ + "sulfuric-acid", + "basic-oil-processing", + "advanced-oil-processing", + "coal-liquefaction", + "heavy-oil-cracking", + "light-oil-cracking", + "solid-fuel-from-light-oil", + "solid-fuel-from-heavy-oil", + "solid-fuel-from-petroleum-gas", + "lubricant", + "wood", + "iron-plate", + "copper-plate", + "steel-plate", + "stone-brick", + "sulfur", + "plastic-bar", + "empty-barrel", + "uranium-processing", + "copper-cable", + "iron-stick", + "iron-gear-wheel", + "electronic-circuit", + "advanced-circuit", + "processing-unit", + "engine-unit", + "electric-engine-unit", + "uranium-fuel-cell", + "explosives", + "battery", + "flying-robot-frame", + "low-density-structure", + "rocket-fuel", + "rocket-control-unit", + "rocket-part", + "science-pack-1", + "science-pack-2", + "science-pack-3", + "military-science-pack", + "production-science-pack", + "high-tech-science-pack" + ], + "limitation_message_key": "production-module-usable-only-on-intermediates" + }, + "productivity-module-2": { + "type": "module", + "name": "productivity-module-2", + "localised_description": [ + "item-description.productivity-module" + ], + "icon": "icon:icons/productivity-module-2", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "module", + "category": "productivity", + "tier": 2, + "order": "c[productivity]-b[productivity-module-2]", + "stack_size": 50, + "default_request_amount": 10, + "effect": { + "productivity": { + "bonus": 0.06 + }, + "consumption": { + "bonus": 0.6 + }, + "pollution": { + "bonus": 0.075 + }, + "speed": { + "bonus": -0.15 + } + }, + "limitation": [ + "sulfuric-acid", + "basic-oil-processing", + "advanced-oil-processing", + "coal-liquefaction", + "heavy-oil-cracking", + "light-oil-cracking", + "solid-fuel-from-light-oil", + "solid-fuel-from-heavy-oil", + "solid-fuel-from-petroleum-gas", + "lubricant", + "wood", + "iron-plate", + "copper-plate", + "steel-plate", + "stone-brick", + "sulfur", + "plastic-bar", + "empty-barrel", + "uranium-processing", + "copper-cable", + "iron-stick", + "iron-gear-wheel", + "electronic-circuit", + "advanced-circuit", + "processing-unit", + "engine-unit", + "electric-engine-unit", + "uranium-fuel-cell", + "explosives", + "battery", + "flying-robot-frame", + "low-density-structure", + "rocket-fuel", + "rocket-control-unit", + "rocket-part", + "science-pack-1", + "science-pack-2", + "science-pack-3", + "military-science-pack", + "production-science-pack", + "high-tech-science-pack" + ], + "limitation_message_key": "production-module-usable-only-on-intermediates" + }, + "productivity-module-3": { + "type": "module", + "name": "productivity-module-3", + "localised_description": [ + "item-description.productivity-module" + ], + "icon": "icon:icons/productivity-module-3", + "icon_size": 32, + "flags": [ + "goes-to-main-inventory" + ], + "subgroup": "module", + "category": "productivity", + "tier": 3, + "order": "c[productivity]-c[productivity-module-3]", + "stack_size": 50, + "default_request_amount": 10, + "effect": { + "productivity": { + "bonus": 0.1 + }, + "consumption": { + "bonus": 0.8 + }, + "pollution": { + "bonus": 0.1 + }, + "speed": { + "bonus": -0.15 + } + }, + "limitation": [ + "sulfuric-acid", + "basic-oil-processing", + "advanced-oil-processing", + "coal-liquefaction", + "heavy-oil-cracking", + "light-oil-cracking", + "solid-fuel-from-light-oil", + "solid-fuel-from-heavy-oil", + "solid-fuel-from-petroleum-gas", + "lubricant", + "wood", + "iron-plate", + "copper-plate", + "steel-plate", + "stone-brick", + "sulfur", + "plastic-bar", + "empty-barrel", + "uranium-processing", + "copper-cable", + "iron-stick", + "iron-gear-wheel", + "electronic-circuit", + "advanced-circuit", + "processing-unit", + "engine-unit", + "electric-engine-unit", + "uranium-fuel-cell", + "explosives", + "battery", + "flying-robot-frame", + "low-density-structure", + "rocket-fuel", + "rocket-control-unit", + "rocket-part", + "science-pack-1", + "science-pack-2", + "science-pack-3", + "military-science-pack", + "production-science-pack", + "high-tech-science-pack" + ], + "limitation_message_key": "production-module-usable-only-on-intermediates" + }, + "water": { + "type": "fluid", + "name": "water", + "default_temperature": 15, + "max_temperature": 100, + "heat_capacity": "0.2KJ", + "base_color": { + "r": 0, + "g": 0.34, + "b": 0.6 + }, + "flow_color": { + "r": 0.7, + "g": 0.7, + "b": 0.7 + }, + "icon": "icon:fluid/water", + "icon_size": 32, + "order": "a[fluid]-a[water]", + "pressure_to_speed_ratio": 0.4, + "flow_to_energy_ratio": 0.59, + "subgroup": "fluid" + }, + "steam": { + "type": "fluid", + "name": "steam", + "default_temperature": 15, + "max_temperature": 1000, + "heat_capacity": "0.2KJ", + "icon": "icon:fluid/steam", + "icon_size": 32, + "base_color": { + "r": 0.5, + "g": 0.5, + "b": 0.5 + }, + "flow_color": { + "r": 1, + "g": 1, + "b": 1 + }, + "order": "a[fluid]-b[steam]", + "pressure_to_speed_ratio": 0.4, + "flow_to_energy_ratio": 0.59, + "gas_temperature": 15, + "auto_barrel": false, + "subgroup": "fluid" + }, + "crude-oil": { + "type": "fluid", + "name": "crude-oil", + "default_temperature": 25, + "heat_capacity": "0.1KJ", + "base_color": { + "r": 0, + "g": 0, + "b": 0 + }, + "flow_color": { + "r": 0.5, + "g": 0.5, + "b": 0.5 + }, + "max_temperature": 100, + "icon": "icon:fluid/crude-oil", + "icon_size": 32, + "pressure_to_speed_ratio": 0.4, + "flow_to_energy_ratio": 0.59, + "order": "a[fluid]-b[crude-oil]", + "subgroup": "fluid" + }, + "heavy-oil": { + "type": "fluid", + "name": "heavy-oil", + "default_temperature": 25, + "heat_capacity": "0.1KJ", + "base_color": { + "r": 0.5, + "g": 0.04, + "b": 0 + }, + "flow_color": { + "r": 0.85, + "g": 0.6, + "b": 0.3 + }, + "max_temperature": 100, + "icon": "icon:fluid/heavy-oil", + "icon_size": 32, + "pressure_to_speed_ratio": 0.4, + "flow_to_energy_ratio": 0.59, + "order": "a[fluid]-c[heavy-oil]", + "subgroup": "fluid" + }, + "light-oil": { + "type": "fluid", + "name": "light-oil", + "default_temperature": 25, + "heat_capacity": "0.1KJ", + "base_color": { + "r": 0.57, + "g": 0.33, + "b": 0 + }, + "flow_color": { + "r": 1, + "g": 0.73, + "b": 0.07 + }, + "max_temperature": 100, + "icon": "icon:fluid/light-oil", + "icon_size": 32, + "pressure_to_speed_ratio": 0.4, + "flow_to_energy_ratio": 0.59, + "order": "a[fluid]-d[light-oil]", + "subgroup": "fluid" + }, + "petroleum-gas": { + "type": "fluid", + "name": "petroleum-gas", + "default_temperature": 25, + "heat_capacity": "0.1KJ", + "base_color": { + "r": 0.3, + "g": 0.1, + "b": 0.3 + }, + "flow_color": { + "r": 0.8, + "g": 0.8, + "b": 0.8 + }, + "max_temperature": 100, + "icon": "icon:fluid/petroleum-gas", + "icon_size": 32, + "pressure_to_speed_ratio": 0.4, + "flow_to_energy_ratio": 0.59, + "order": "a[fluid]-e[petroleum-gas]", + "subgroup": "fluid" + }, + "lubricant": { + "type": "fluid", + "name": "lubricant", + "default_temperature": 25, + "heat_capacity": "0.1KJ", + "base_color": { + "r": 0.15, + "g": 0.32, + "b": 0.03 + }, + "flow_color": { + "r": 0.43, + "g": 0.75, + "b": 0.31 + }, + "max_temperature": 100, + "icon": "icon:fluid/lubricant", + "icon_size": 32, + "pressure_to_speed_ratio": 0.4, + "flow_to_energy_ratio": 0.59, + "order": "e[lubricant]", + "subgroup": "fluid" + }, + "sulfuric-acid": { + "type": "fluid", + "name": "sulfuric-acid", + "default_temperature": 25, + "heat_capacity": "0.1KJ", + "base_color": { + "r": 0.75, + "g": 0.65, + "b": 0.1 + }, + "flow_color": { + "r": 0.7, + "g": 1, + "b": 0.1 + }, + "max_temperature": 100, + "icon": "icon:fluid/sulfuric-acid", + "icon_size": 32, + "pressure_to_speed_ratio": 0.4, + "flow_to_energy_ratio": 0.59, + "order": "a[fluid]-f[sulfuric-acid]", + "subgroup": "fluid" + } +} \ No newline at end of file diff --git a/src/bundles/recipeBundle.json b/src/bundles/recipeBundle.json new file mode 100644 index 00000000..7e4c1012 --- /dev/null +++ b/src/bundles/recipeBundle.json @@ -0,0 +1,5615 @@ +{ + "copper-plate": { + "type": "recipe", + "name": "copper-plate", + "category": "smelting", + "energy_required": 3.5, + "ingredients": [ + [ + "copper-ore", + 1 + ] + ], + "result": "copper-plate" + }, + "iron-plate": { + "type": "recipe", + "name": "iron-plate", + "category": "smelting", + "energy_required": 3.5, + "ingredients": [ + [ + "iron-ore", + 1 + ] + ], + "result": "iron-plate" + }, + "stone-brick": { + "type": "recipe", + "name": "stone-brick", + "category": "smelting", + "energy_required": 3.5, + "enabled": true, + "ingredients": [ + [ + "stone", + 2 + ] + ], + "result": "stone-brick" + }, + "wood": { + "type": "recipe", + "name": "wood", + "ingredients": [ + [ + "raw-wood", + 1 + ] + ], + "result": "wood", + "result_count": 2 + }, + "wooden-chest": { + "type": "recipe", + "name": "wooden-chest", + "ingredients": [ + [ + "wood", + 4 + ] + ], + "result": "wooden-chest" + }, + "iron-stick": { + "type": "recipe", + "name": "iron-stick", + "ingredients": [ + [ + "iron-plate", + 1 + ] + ], + "result": "iron-stick", + "result_count": 2 + }, + "iron-axe": { + "type": "recipe", + "name": "iron-axe", + "ingredients": [ + [ + "iron-stick", + 2 + ], + [ + "iron-plate", + 3 + ] + ], + "result": "iron-axe" + }, + "stone-furnace": { + "type": "recipe", + "name": "stone-furnace", + "ingredients": [ + [ + "stone", + 5 + ] + ], + "result": "stone-furnace" + }, + "boiler": { + "type": "recipe", + "name": "boiler", + "ingredients": [ + [ + "stone-furnace", + 1 + ], + [ + "pipe", + 4 + ] + ], + "result": "boiler" + }, + "steam-engine": { + "type": "recipe", + "name": "steam-engine", + "normal": { + "ingredients": [ + [ + "iron-gear-wheel", + 8 + ], + [ + "pipe", + 5 + ], + [ + "iron-plate", + 10 + ] + ], + "result": "steam-engine" + }, + "expensive": { + "ingredients": [ + [ + "iron-gear-wheel", + 10 + ], + [ + "pipe", + 5 + ], + [ + "iron-plate", + 50 + ] + ], + "result": "steam-engine" + } + }, + "iron-gear-wheel": { + "type": "recipe", + "name": "iron-gear-wheel", + "normal": { + "ingredients": [ + [ + "iron-plate", + 2 + ] + ], + "result": "iron-gear-wheel" + }, + "expensive": { + "ingredients": [ + [ + "iron-plate", + 4 + ] + ], + "result": "iron-gear-wheel" + } + }, + "electronic-circuit": { + "type": "recipe", + "name": "electronic-circuit", + "normal": { + "ingredients": [ + [ + "iron-plate", + 1 + ], + [ + "copper-cable", + 3 + ] + ], + "result": "electronic-circuit" + }, + "expensive": { + "ingredients": [ + [ + "iron-plate", + 2 + ], + [ + "copper-cable", + 10 + ] + ], + "result": "electronic-circuit" + } + }, + "transport-belt": { + "type": "recipe", + "name": "transport-belt", + "ingredients": [ + [ + "iron-plate", + 1 + ], + [ + "iron-gear-wheel", + 1 + ] + ], + "result": "transport-belt", + "result_count": 2 + }, + "electric-mining-drill": { + "type": "recipe", + "name": "electric-mining-drill", + "normal": { + "energy_required": 2, + "ingredients": [ + [ + "electronic-circuit", + 3 + ], + [ + "iron-gear-wheel", + 5 + ], + [ + "iron-plate", + 10 + ] + ], + "result": "electric-mining-drill" + }, + "expensive": { + "energy_required": 2, + "ingredients": [ + [ + "electronic-circuit", + 5 + ], + [ + "iron-gear-wheel", + 10 + ], + [ + "iron-plate", + 20 + ] + ], + "result": "electric-mining-drill" + } + }, + "burner-mining-drill": { + "type": "recipe", + "name": "burner-mining-drill", + "normal": { + "energy_required": 2, + "ingredients": [ + [ + "iron-gear-wheel", + 3 + ], + [ + "stone-furnace", + 1 + ], + [ + "iron-plate", + 3 + ] + ], + "result": "burner-mining-drill" + }, + "expensive": { + "energy_required": 4, + "ingredients": [ + [ + "iron-gear-wheel", + 6 + ], + [ + "stone-furnace", + 2 + ], + [ + "iron-plate", + 6 + ] + ], + "result": "burner-mining-drill" + } + }, + "inserter": { + "type": "recipe", + "name": "inserter", + "ingredients": [ + [ + "electronic-circuit", + 1 + ], + [ + "iron-gear-wheel", + 1 + ], + [ + "iron-plate", + 1 + ] + ], + "result": "inserter" + }, + "burner-inserter": { + "type": "recipe", + "name": "burner-inserter", + "ingredients": [ + [ + "iron-plate", + 1 + ], + [ + "iron-gear-wheel", + 1 + ] + ], + "result": "burner-inserter" + }, + "pipe": { + "type": "recipe", + "name": "pipe", + "normal": { + "ingredients": [ + [ + "iron-plate", + 1 + ] + ], + "result": "pipe" + }, + "expensive": { + "ingredients": [ + [ + "iron-plate", + 2 + ] + ], + "result": "pipe" + } + }, + "offshore-pump": { + "type": "recipe", + "name": "offshore-pump", + "ingredients": [ + [ + "electronic-circuit", + 2 + ], + [ + "pipe", + 1 + ], + [ + "iron-gear-wheel", + 1 + ] + ], + "result": "offshore-pump" + }, + "copper-cable": { + "type": "recipe", + "name": "copper-cable", + "ingredients": [ + [ + "copper-plate", + 1 + ] + ], + "result": "copper-cable", + "result_count": 2 + }, + "small-electric-pole": { + "type": "recipe", + "name": "small-electric-pole", + "ingredients": [ + [ + "wood", + 2 + ], + [ + "copper-cable", + 2 + ] + ], + "result": "small-electric-pole", + "result_count": 2 + }, + "pistol": { + "type": "recipe", + "name": "pistol", + "energy_required": 5, + "ingredients": [ + [ + "copper-plate", + 5 + ], + [ + "iron-plate", + 5 + ] + ], + "result": "pistol" + }, + "submachine-gun": { + "type": "recipe", + "name": "submachine-gun", + "normal": { + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "iron-gear-wheel", + 10 + ], + [ + "copper-plate", + 5 + ], + [ + "iron-plate", + 10 + ] + ], + "result": "submachine-gun" + }, + "expensive": { + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "iron-gear-wheel", + 15 + ], + [ + "copper-plate", + 20 + ], + [ + "iron-plate", + 30 + ] + ], + "result": "submachine-gun" + } + }, + "firearm-magazine": { + "type": "recipe", + "name": "firearm-magazine", + "energy_required": 1, + "ingredients": [ + [ + "iron-plate", + 4 + ] + ], + "result": "firearm-magazine", + "result_count": 1 + }, + "light-armor": { + "type": "recipe", + "name": "light-armor", + "enabled": true, + "energy_required": 3, + "ingredients": [ + [ + "iron-plate", + 40 + ] + ], + "result": "light-armor" + }, + "radar": { + "type": "recipe", + "name": "radar", + "ingredients": [ + [ + "electronic-circuit", + 5 + ], + [ + "iron-gear-wheel", + 5 + ], + [ + "iron-plate", + 10 + ] + ], + "result": "radar" + }, + "small-lamp": { + "type": "recipe", + "name": "small-lamp", + "enabled": false, + "ingredients": [ + [ + "electronic-circuit", + 1 + ], + [ + "iron-stick", + 3 + ], + [ + "iron-plate", + 1 + ] + ], + "result": "small-lamp" + }, + "pipe-to-ground": { + "type": "recipe", + "name": "pipe-to-ground", + "ingredients": [ + [ + "pipe", + 10 + ], + [ + "iron-plate", + 5 + ] + ], + "result_count": 2, + "result": "pipe-to-ground" + }, + "assembling-machine-1": { + "type": "recipe", + "name": "assembling-machine-1", + "enabled": false, + "ingredients": [ + [ + "electronic-circuit", + 3 + ], + [ + "iron-gear-wheel", + 5 + ], + [ + "iron-plate", + 9 + ] + ], + "result": "assembling-machine-1" + }, + "repair-pack": { + "type": "recipe", + "name": "repair-pack", + "ingredients": [ + [ + "electronic-circuit", + 2 + ], + [ + "iron-gear-wheel", + 2 + ] + ], + "result": "repair-pack" + }, + "gun-turret": { + "type": "recipe", + "name": "gun-turret", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "iron-gear-wheel", + 10 + ], + [ + "copper-plate", + 10 + ], + [ + "iron-plate", + 20 + ] + ], + "result": "gun-turret" + }, + "piercing-rounds-magazine": { + "type": "recipe", + "name": "piercing-rounds-magazine", + "enabled": false, + "energy_required": 3, + "ingredients": [ + [ + "firearm-magazine", + 1 + ], + [ + "steel-plate", + 1 + ], + [ + "copper-plate", + 5 + ] + ], + "result": "piercing-rounds-magazine" + }, + "uranium-rounds-magazine": { + "type": "recipe", + "name": "uranium-rounds-magazine", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "piercing-rounds-magazine", + 1 + ], + [ + "uranium-238", + 1 + ] + ], + "result": "uranium-rounds-magazine" + }, + "rocket": { + "type": "recipe", + "name": "rocket", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "electronic-circuit", + 1 + ], + [ + "explosives", + 1 + ], + [ + "iron-plate", + 2 + ] + ], + "result": "rocket" + }, + "explosive-rocket": { + "type": "recipe", + "name": "explosive-rocket", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "rocket", + 1 + ], + [ + "explosives", + 2 + ] + ], + "result": "explosive-rocket" + }, + "atomic-bomb": { + "type": "recipe", + "name": "atomic-bomb", + "enabled": false, + "energy_required": 50, + "ingredients": [ + [ + "processing-unit", + 20 + ], + [ + "explosives", + 10 + ], + [ + "uranium-235", + 30 + ] + ], + "result": "atomic-bomb" + }, + "shotgun-shell": { + "type": "recipe", + "name": "shotgun-shell", + "enabled": false, + "energy_required": 3, + "ingredients": [ + [ + "copper-plate", + 2 + ], + [ + "iron-plate", + 2 + ] + ], + "result": "shotgun-shell" + }, + "piercing-shotgun-shell": { + "type": "recipe", + "name": "piercing-shotgun-shell", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "shotgun-shell", + 2 + ], + [ + "copper-plate", + 5 + ], + [ + "steel-plate", + 2 + ] + ], + "result": "piercing-shotgun-shell" + }, + "railgun-dart": { + "type": "recipe", + "name": "railgun-dart", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "steel-plate", + 5 + ], + [ + "electronic-circuit", + 5 + ] + ], + "result": "railgun-dart" + }, + "cannon-shell": { + "type": "recipe", + "name": "cannon-shell", + "normal": { + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "steel-plate", + 2 + ], + [ + "plastic-bar", + 2 + ], + [ + "explosives", + 1 + ] + ], + "result": "cannon-shell" + }, + "expensive": { + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "steel-plate", + 4 + ], + [ + "plastic-bar", + 4 + ], + [ + "explosives", + 1 + ] + ], + "result": "cannon-shell" + } + }, + "explosive-cannon-shell": { + "type": "recipe", + "name": "explosive-cannon-shell", + "normal": { + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "steel-plate", + 2 + ], + [ + "plastic-bar", + 2 + ], + [ + "explosives", + 2 + ] + ], + "result": "explosive-cannon-shell" + }, + "expensive": { + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "steel-plate", + 4 + ], + [ + "plastic-bar", + 4 + ], + [ + "explosives", + 2 + ] + ], + "result": "explosive-cannon-shell" + } + }, + "uranium-cannon-shell": { + "type": "recipe", + "name": "uranium-cannon-shell", + "enabled": false, + "energy_required": 12, + "ingredients": [ + [ + "cannon-shell", + 1 + ], + [ + "uranium-238", + 1 + ] + ], + "result": "uranium-cannon-shell" + }, + "explosive-uranium-cannon-shell": { + "type": "recipe", + "name": "explosive-uranium-cannon-shell", + "enabled": false, + "energy_required": 12, + "ingredients": [ + [ + "explosive-cannon-shell", + 1 + ], + [ + "uranium-238", + 1 + ] + ], + "result": "explosive-uranium-cannon-shell" + }, + "artillery-shell": { + "type": "recipe", + "name": "artillery-shell", + "enabled": false, + "energy_required": 15, + "ingredients": [ + [ + "explosive-cannon-shell", + 4 + ], + [ + "radar", + 1 + ], + [ + "explosives", + 8 + ] + ], + "result": "artillery-shell" + }, + "flamethrower-ammo": { + "type": "recipe", + "name": "flamethrower-ammo", + "category": "chemistry", + "enabled": false, + "energy_required": 6, + "ingredients": [ + { + "type": "item", + "name": "steel-plate", + "amount": 5 + }, + { + "type": "fluid", + "name": "light-oil", + "amount": 50 + }, + { + "type": "fluid", + "name": "heavy-oil", + "amount": 50 + } + ], + "result": "flamethrower-ammo", + "crafting_machine_tint": { + "primary": { + "r": 0.845, + "g": 0.533, + "b": 0, + "a": 0 + }, + "secondary": { + "r": 0.655, + "g": 0, + "b": 0, + "a": 0 + }, + "tertiary": { + "r": 0.685, + "g": 0.329, + "b": 0, + "a": 0 + } + } + }, + "poison-capsule": { + "type": "recipe", + "name": "poison-capsule", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "steel-plate", + 3 + ], + [ + "electronic-circuit", + 3 + ], + [ + "coal", + 10 + ] + ], + "result": "poison-capsule" + }, + "slowdown-capsule": { + "type": "recipe", + "name": "slowdown-capsule", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "steel-plate", + 2 + ], + [ + "electronic-circuit", + 2 + ], + [ + "coal", + 5 + ] + ], + "result": "slowdown-capsule" + }, + "grenade": { + "type": "recipe", + "name": "grenade", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "iron-plate", + 5 + ], + [ + "coal", + 10 + ] + ], + "result": "grenade" + }, + "cluster-grenade": { + "type": "recipe", + "name": "cluster-grenade", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "grenade", + 7 + ], + [ + "explosives", + 5 + ], + [ + "steel-plate", + 5 + ] + ], + "result": "cluster-grenade" + }, + "defender-capsule": { + "type": "recipe", + "name": "defender-capsule", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "piercing-rounds-magazine", + 1 + ], + [ + "electronic-circuit", + 2 + ], + [ + "iron-gear-wheel", + 3 + ] + ], + "result": "defender-capsule" + }, + "distractor-capsule": { + "type": "recipe", + "name": "distractor-capsule", + "enabled": false, + "energy_required": 15, + "ingredients": [ + [ + "defender-capsule", + 4 + ], + [ + "advanced-circuit", + 3 + ] + ], + "result": "distractor-capsule" + }, + "destroyer-capsule": { + "type": "recipe", + "name": "destroyer-capsule", + "enabled": false, + "energy_required": 15, + "ingredients": [ + [ + "distractor-capsule", + 4 + ], + [ + "speed-module", + 1 + ] + ], + "result": "destroyer-capsule" + }, + "discharge-defense-remote": { + "type": "recipe", + "name": "discharge-defense-remote", + "enabled": false, + "ingredients": [ + [ + "electronic-circuit", + 1 + ] + ], + "result": "discharge-defense-remote" + }, + "cliff-explosives": { + "type": "recipe", + "name": "cliff-explosives", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "explosives", + 10 + ], + [ + "grenade", + 1 + ], + [ + "empty-barrel", + 1 + ] + ], + "result": "cliff-explosives" + }, + "artillery-targeting-remote": { + "type": "recipe", + "name": "artillery-targeting-remote", + "enabled": false, + "ingredients": [ + [ + "processing-unit", + 1 + ], + [ + "radar", + 1 + ] + ], + "result": "artillery-targeting-remote" + }, + "night-vision-equipment": { + "type": "recipe", + "name": "night-vision-equipment", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "advanced-circuit", + 5 + ], + [ + "steel-plate", + 10 + ] + ], + "result": "night-vision-equipment" + }, + "energy-shield-equipment": { + "type": "recipe", + "name": "energy-shield-equipment", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "advanced-circuit", + 5 + ], + [ + "steel-plate", + 10 + ] + ], + "result": "energy-shield-equipment" + }, + "energy-shield-mk2-equipment": { + "type": "recipe", + "name": "energy-shield-mk2-equipment", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "energy-shield-equipment", + 10 + ], + [ + "processing-unit", + 10 + ] + ], + "result": "energy-shield-mk2-equipment" + }, + "battery-equipment": { + "type": "recipe", + "name": "battery-equipment", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "battery", + 5 + ], + [ + "steel-plate", + 10 + ] + ], + "result": "battery-equipment" + }, + "battery-mk2-equipment": { + "type": "recipe", + "name": "battery-mk2-equipment", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "battery-equipment", + 10 + ], + [ + "processing-unit", + 20 + ] + ], + "result": "battery-mk2-equipment" + }, + "solar-panel-equipment": { + "type": "recipe", + "name": "solar-panel-equipment", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "solar-panel", + 5 + ], + [ + "advanced-circuit", + 1 + ], + [ + "steel-plate", + 5 + ] + ], + "result": "solar-panel-equipment" + }, + "fusion-reactor-equipment": { + "type": "recipe", + "name": "fusion-reactor-equipment", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "processing-unit", + 250 + ] + ], + "result": "fusion-reactor-equipment" + }, + "personal-laser-defense-equipment": { + "type": "recipe", + "name": "personal-laser-defense-equipment", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "processing-unit", + 1 + ], + [ + "steel-plate", + 5 + ], + [ + "laser-turret", + 5 + ] + ], + "result": "personal-laser-defense-equipment" + }, + "discharge-defense-equipment": { + "type": "recipe", + "name": "discharge-defense-equipment", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "processing-unit", + 5 + ], + [ + "steel-plate", + 20 + ], + [ + "laser-turret", + 10 + ] + ], + "result": "discharge-defense-equipment" + }, + "exoskeleton-equipment": { + "type": "recipe", + "name": "exoskeleton-equipment", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "processing-unit", + 10 + ], + [ + "electric-engine-unit", + 30 + ], + [ + "steel-plate", + 20 + ] + ], + "result": "exoskeleton-equipment" + }, + "personal-roboport-equipment": { + "type": "recipe", + "name": "personal-roboport-equipment", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "advanced-circuit", + 10 + ], + [ + "iron-gear-wheel", + 40 + ], + [ + "steel-plate", + 20 + ], + [ + "battery", + 45 + ] + ], + "result": "personal-roboport-equipment" + }, + "personal-roboport-mk2-equipment": { + "type": "recipe", + "name": "personal-roboport-mk2-equipment", + "enabled": false, + "energy_required": 20, + "ingredients": [ + [ + "personal-roboport-equipment", + 5 + ], + [ + "processing-unit", + 100 + ] + ], + "result": "personal-roboport-mk2-equipment" + }, + "steel-plate": { + "type": "recipe", + "name": "steel-plate", + "category": "smelting", + "normal": { + "enabled": false, + "energy_required": 17.5, + "ingredients": [ + [ + "iron-plate", + 5 + ] + ], + "result": "steel-plate" + }, + "expensive": { + "enabled": false, + "energy_required": 35, + "ingredients": [ + [ + "iron-plate", + 10 + ] + ], + "result": "steel-plate" + } + }, + "basic-oil-processing": { + "type": "recipe", + "name": "basic-oil-processing", + "category": "oil-processing", + "enabled": false, + "energy_required": 5, + "ingredients": [ + { + "type": "fluid", + "name": "crude-oil", + "amount": 100 + } + ], + "results": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 30 + }, + { + "type": "fluid", + "name": "light-oil", + "amount": 30 + }, + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 40 + } + ], + "icon": "factorio-data/graphics/icons/fluid/basic-oil-processing.png", + "icon_size": 32, + "subgroup": "fluid-recipes", + "order": "a[oil-processing]-a[basic-oil-processing]" + }, + "advanced-oil-processing": { + "type": "recipe", + "name": "advanced-oil-processing", + "category": "oil-processing", + "enabled": false, + "energy_required": 5, + "ingredients": [ + { + "type": "fluid", + "name": "water", + "amount": 50 + }, + { + "type": "fluid", + "name": "crude-oil", + "amount": 100 + } + ], + "results": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 10 + }, + { + "type": "fluid", + "name": "light-oil", + "amount": 45 + }, + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 55 + } + ], + "icon": "factorio-data/graphics/icons/fluid/advanced-oil-processing.png", + "icon_size": 32, + "subgroup": "fluid-recipes", + "order": "a[oil-processing]-b[advanced-oil-processing]" + }, + "coal-liquefaction": { + "type": "recipe", + "name": "coal-liquefaction", + "category": "oil-processing", + "enabled": false, + "energy_required": 5, + "ingredients": [ + { + "type": "item", + "name": "coal", + "amount": 10 + }, + { + "type": "fluid", + "name": "heavy-oil", + "amount": 25 + }, + { + "type": "fluid", + "name": "steam", + "amount": 50 + } + ], + "results": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 35 + }, + { + "type": "fluid", + "name": "light-oil", + "amount": 15 + }, + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 20 + } + ], + "icon": "factorio-data/graphics/icons/fluid/coal-liquefaction.png", + "icon_size": 32, + "subgroup": "fluid-recipes", + "order": "a[oil-processing]-c[coal-liquefaction]", + "allow_decomposition": false + }, + "heavy-oil-cracking": { + "type": "recipe", + "name": "heavy-oil-cracking", + "category": "chemistry", + "enabled": false, + "energy_required": 3, + "ingredients": [ + { + "type": "fluid", + "name": "water", + "amount": 30 + }, + { + "type": "fluid", + "name": "heavy-oil", + "amount": 40 + } + ], + "results": [ + { + "type": "fluid", + "name": "light-oil", + "amount": 30 + } + ], + "main_product": "", + "icon": "factorio-data/graphics/icons/fluid/heavy-oil-cracking.png", + "icon_size": 32, + "subgroup": "fluid-recipes", + "order": "b[fluid-chemistry]-a[heavy-oil-cracking]", + "crafting_machine_tint": { + "primary": { + "r": 0.29, + "g": 0.027, + "b": 0, + "a": 0 + }, + "secondary": { + "r": 0.722, + "g": 0.465, + "b": 0.19, + "a": 0 + }, + "tertiary": { + "r": 0.87, + "g": 0.365, + "b": 0, + "a": 0 + } + } + }, + "light-oil-cracking": { + "type": "recipe", + "name": "light-oil-cracking", + "category": "chemistry", + "enabled": false, + "energy_required": 3, + "ingredients": [ + { + "type": "fluid", + "name": "water", + "amount": 30 + }, + { + "type": "fluid", + "name": "light-oil", + "amount": 30 + } + ], + "results": [ + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 20 + } + ], + "main_product": "", + "icon": "factorio-data/graphics/icons/fluid/light-oil-cracking.png", + "icon_size": 32, + "subgroup": "fluid-recipes", + "order": "b[fluid-chemistry]-b[light-oil-cracking]", + "crafting_machine_tint": { + "primary": { + "r": 0.785, + "g": 0.406, + "b": 0, + "a": 0 + }, + "secondary": { + "r": 0.795, + "g": 0.805, + "b": 0.605, + "a": 0 + }, + "tertiary": { + "r": 0.835, + "g": 0.551, + "b": 0, + "a": 0 + } + } + }, + "sulfuric-acid": { + "type": "recipe", + "name": "sulfuric-acid", + "category": "chemistry", + "energy_required": 1, + "enabled": false, + "ingredients": [ + { + "type": "item", + "name": "sulfur", + "amount": 5 + }, + { + "type": "item", + "name": "iron-plate", + "amount": 1 + }, + { + "type": "fluid", + "name": "water", + "amount": 100 + } + ], + "results": [ + { + "type": "fluid", + "name": "sulfuric-acid", + "amount": 50 + } + ], + "subgroup": "fluid-recipes", + "crafting_machine_tint": { + "primary": { + "r": 0.875, + "g": 0.735, + "b": 0, + "a": 0 + }, + "secondary": { + "r": 0.103, + "g": 0.94, + "b": 0, + "a": 0 + }, + "tertiary": { + "r": 0.564, + "g": 0.795, + "b": 0, + "a": 0 + } + } + }, + "plastic-bar": { + "type": "recipe", + "name": "plastic-bar", + "category": "chemistry", + "energy_required": 1, + "enabled": false, + "ingredients": [ + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 20 + }, + { + "type": "item", + "name": "coal", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "plastic-bar", + "amount": 2 + } + ], + "crafting_machine_tint": { + "primary": { + "r": 0.498, + "g": 0.498, + "b": 0.498, + "a": 0 + }, + "secondary": { + "r": 0.4, + "g": 0.4, + "b": 0.4, + "a": 0 + }, + "tertiary": { + "r": 0.305, + "g": 0.305, + "b": 0.305, + "a": 0 + } + } + }, + "solid-fuel-from-light-oil": { + "type": "recipe", + "name": "solid-fuel-from-light-oil", + "category": "chemistry", + "energy_required": 3, + "ingredients": [ + { + "type": "fluid", + "name": "light-oil", + "amount": 10 + } + ], + "results": [ + { + "type": "item", + "name": "solid-fuel", + "amount": 1 + } + ], + "icon": "factorio-data/graphics/icons/solid-fuel-from-light-oil.png", + "icon_size": 32, + "subgroup": "fluid-recipes", + "enabled": false, + "order": "b[fluid-chemistry]-c[solid-fuel-from-light-oil]", + "crafting_machine_tint": { + "primary": { + "r": 0.27, + "g": 0.122, + "b": 0, + "a": 0 + }, + "secondary": { + "r": 0.735, + "g": 0.546, + "b": 0.325, + "a": 0 + }, + "tertiary": { + "r": 0.61, + "g": 0.348, + "b": 0, + "a": 0 + } + } + }, + "solid-fuel-from-petroleum-gas": { + "type": "recipe", + "name": "solid-fuel-from-petroleum-gas", + "category": "chemistry", + "energy_required": 3, + "ingredients": [ + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 20 + } + ], + "results": [ + { + "type": "item", + "name": "solid-fuel", + "amount": 1 + } + ], + "icon": "factorio-data/graphics/icons/solid-fuel-from-petroleum-gas.png", + "icon_size": 32, + "subgroup": "fluid-recipes", + "enabled": false, + "order": "b[fluid-chemistry]-d[solid-fuel-from-petroleum-gas]", + "crafting_machine_tint": { + "primary": { + "r": 0.331, + "g": 0.075, + "b": 0.51, + "a": 0 + }, + "secondary": { + "r": 0.589, + "g": 0.54, + "b": 0.615, + "a": 0.361 + }, + "tertiary": { + "r": 0.469, + "g": 0.145, + "b": 0.695, + "a": 0 + } + } + }, + "solid-fuel-from-heavy-oil": { + "type": "recipe", + "name": "solid-fuel-from-heavy-oil", + "category": "chemistry", + "energy_required": 3, + "ingredients": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 20 + } + ], + "results": [ + { + "type": "item", + "name": "solid-fuel", + "amount": 1 + } + ], + "icon": "factorio-data/graphics/icons/solid-fuel-from-heavy-oil.png", + "icon_size": 32, + "subgroup": "fluid-recipes", + "enabled": false, + "order": "b[fluid-chemistry]-e[solid-fuel-from-heavy-oil]", + "crafting_machine_tint": { + "primary": { + "r": 0.16, + "g": 0.095, + "b": 0.095, + "a": 0 + }, + "secondary": { + "r": 0.47, + "g": 0.215, + "b": 0.19, + "a": 0 + }, + "tertiary": { + "r": 0.435, + "g": 0.144, + "b": 0.135, + "a": 0 + } + } + }, + "sulfur": { + "type": "recipe", + "name": "sulfur", + "category": "chemistry", + "energy_required": 1, + "enabled": false, + "ingredients": [ + { + "type": "fluid", + "name": "water", + "amount": 30 + }, + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 30 + } + ], + "results": [ + { + "type": "item", + "name": "sulfur", + "amount": 2 + } + ], + "crafting_machine_tint": { + "primary": { + "r": 1, + "g": 0.659, + "b": 0, + "a": 0 + }, + "secondary": { + "r": 0.812, + "g": 1, + "b": 0, + "a": 0 + }, + "tertiary": { + "r": 0.96, + "g": 0.806, + "b": 0, + "a": 0 + } + } + }, + "lubricant": { + "type": "recipe", + "name": "lubricant", + "category": "chemistry", + "enabled": false, + "energy_required": 1, + "ingredients": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 10 + } + ], + "results": [ + { + "type": "fluid", + "name": "lubricant", + "amount": 10 + } + ], + "subgroup": "fluid-recipes", + "crafting_machine_tint": { + "primary": { + "r": 0, + "g": 0.26, + "b": 0.01, + "a": 0 + }, + "secondary": { + "r": 0.071, + "g": 0.64, + "b": 0, + "a": 0 + }, + "tertiary": { + "r": 0.026, + "g": 0.52, + "b": 0, + "a": 0 + } + } + }, + "empty-barrel": { + "type": "recipe", + "name": "empty-barrel", + "category": "crafting", + "energy_required": 1, + "subgroup": "intermediate-product", + "enabled": false, + "ingredients": [ + { + "type": "item", + "name": "steel-plate", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ] + }, + "long-handed-inserter": { + "type": "recipe", + "name": "long-handed-inserter", + "enabled": false, + "ingredients": [ + [ + "iron-gear-wheel", + 1 + ], + [ + "iron-plate", + 1 + ], + [ + "inserter", + 1 + ] + ], + "result": "long-handed-inserter" + }, + "fast-inserter": { + "type": "recipe", + "name": "fast-inserter", + "enabled": false, + "ingredients": [ + [ + "electronic-circuit", + 2 + ], + [ + "iron-plate", + 2 + ], + [ + "inserter", + 1 + ] + ], + "result": "fast-inserter" + }, + "filter-inserter": { + "type": "recipe", + "name": "filter-inserter", + "enabled": false, + "ingredients": [ + [ + "fast-inserter", + 1 + ], + [ + "electronic-circuit", + 4 + ] + ], + "result": "filter-inserter" + }, + "stack-inserter": { + "type": "recipe", + "name": "stack-inserter", + "enabled": false, + "ingredients": [ + [ + "iron-gear-wheel", + 15 + ], + [ + "electronic-circuit", + 15 + ], + [ + "advanced-circuit", + 1 + ], + [ + "fast-inserter", + 1 + ] + ], + "result": "stack-inserter" + }, + "stack-filter-inserter": { + "type": "recipe", + "name": "stack-filter-inserter", + "enabled": false, + "ingredients": [ + [ + "stack-inserter", + 1 + ], + [ + "electronic-circuit", + 5 + ] + ], + "result": "stack-filter-inserter" + }, + "speed-module": { + "type": "recipe", + "name": "speed-module", + "enabled": false, + "ingredients": [ + [ + "advanced-circuit", + 5 + ], + [ + "electronic-circuit", + 5 + ] + ], + "energy_required": 15, + "result": "speed-module" + }, + "speed-module-2": { + "type": "recipe", + "name": "speed-module-2", + "enabled": false, + "ingredients": [ + [ + "speed-module", + 4 + ], + [ + "advanced-circuit", + 5 + ], + [ + "processing-unit", + 5 + ] + ], + "energy_required": 30, + "result": "speed-module-2" + }, + "speed-module-3": { + "type": "recipe", + "name": "speed-module-3", + "enabled": false, + "ingredients": [ + [ + "speed-module-2", + 5 + ], + [ + "advanced-circuit", + 5 + ], + [ + "processing-unit", + 5 + ] + ], + "energy_required": 60, + "result": "speed-module-3" + }, + "productivity-module": { + "type": "recipe", + "name": "productivity-module", + "enabled": false, + "ingredients": [ + [ + "advanced-circuit", + 5 + ], + [ + "electronic-circuit", + 5 + ] + ], + "energy_required": 15, + "result": "productivity-module" + }, + "productivity-module-2": { + "type": "recipe", + "name": "productivity-module-2", + "enabled": false, + "ingredients": [ + [ + "productivity-module", + 4 + ], + [ + "advanced-circuit", + 5 + ], + [ + "processing-unit", + 5 + ] + ], + "energy_required": 30, + "result": "productivity-module-2" + }, + "productivity-module-3": { + "type": "recipe", + "name": "productivity-module-3", + "enabled": false, + "ingredients": [ + [ + "productivity-module-2", + 5 + ], + [ + "advanced-circuit", + 5 + ], + [ + "processing-unit", + 5 + ] + ], + "energy_required": 60, + "result": "productivity-module-3" + }, + "effectivity-module": { + "type": "recipe", + "name": "effectivity-module", + "enabled": false, + "ingredients": [ + [ + "advanced-circuit", + 5 + ], + [ + "electronic-circuit", + 5 + ] + ], + "energy_required": 15, + "result": "effectivity-module" + }, + "effectivity-module-2": { + "type": "recipe", + "name": "effectivity-module-2", + "enabled": false, + "ingredients": [ + [ + "effectivity-module", + 4 + ], + [ + "advanced-circuit", + 5 + ], + [ + "processing-unit", + 5 + ] + ], + "energy_required": 30, + "result": "effectivity-module-2" + }, + "effectivity-module-3": { + "type": "recipe", + "name": "effectivity-module-3", + "enabled": false, + "ingredients": [ + [ + "effectivity-module-2", + 5 + ], + [ + "advanced-circuit", + 5 + ], + [ + "processing-unit", + 5 + ] + ], + "energy_required": 60, + "result": "effectivity-module-3" + }, + "player-port": { + "type": "recipe", + "name": "player-port", + "enabled": false, + "ingredients": [ + [ + "electronic-circuit", + 10 + ], + [ + "iron-gear-wheel", + 5 + ], + [ + "iron-plate", + 1 + ] + ], + "result": "player-port" + }, + "fast-transport-belt": { + "type": "recipe", + "name": "fast-transport-belt", + "enabled": false, + "ingredients": [ + [ + "iron-gear-wheel", + 5 + ], + [ + "transport-belt", + 1 + ] + ], + "result": "fast-transport-belt" + }, + "express-transport-belt": { + "type": "recipe", + "name": "express-transport-belt", + "category": "crafting-with-fluid", + "normal": { + "enabled": false, + "ingredients": [ + [ + "iron-gear-wheel", + 10 + ], + [ + "fast-transport-belt", + 1 + ], + { + "type": "fluid", + "name": "lubricant", + "amount": 20 + } + ], + "result": "express-transport-belt" + }, + "expensive": { + "enabled": false, + "ingredients": [ + [ + "iron-gear-wheel", + 20 + ], + [ + "fast-transport-belt", + 1 + ], + { + "type": "fluid", + "name": "lubricant", + "amount": 20 + } + ], + "result": "express-transport-belt" + } + }, + "solar-panel": { + "type": "recipe", + "name": "solar-panel", + "energy_required": 10, + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 5 + ], + [ + "electronic-circuit", + 15 + ], + [ + "copper-plate", + 5 + ] + ], + "result": "solar-panel" + }, + "assembling-machine-2": { + "type": "recipe", + "name": "assembling-machine-2", + "normal": { + "enabled": false, + "ingredients": [ + [ + "iron-plate", + 9 + ], + [ + "electronic-circuit", + 3 + ], + [ + "iron-gear-wheel", + 5 + ], + [ + "assembling-machine-1", + 1 + ] + ], + "result": "assembling-machine-2" + }, + "expensive": { + "enabled": false, + "ingredients": [ + [ + "iron-plate", + 20 + ], + [ + "electronic-circuit", + 5 + ], + [ + "iron-gear-wheel", + 10 + ], + [ + "assembling-machine-1", + 1 + ] + ], + "result": "assembling-machine-2" + } + }, + "assembling-machine-3": { + "type": "recipe", + "name": "assembling-machine-3", + "enabled": false, + "ingredients": [ + [ + "speed-module", + 4 + ], + [ + "assembling-machine-2", + 2 + ] + ], + "result": "assembling-machine-3" + }, + "car": { + "type": "recipe", + "name": "car", + "enabled": false, + "energy_required": 2, + "ingredients": [ + [ + "engine-unit", + 8 + ], + [ + "iron-plate", + 20 + ], + [ + "steel-plate", + 5 + ] + ], + "result": "car" + }, + "tank": { + "type": "recipe", + "name": "tank", + "normal": { + "enabled": false, + "energy_required": 5, + "ingredients": [ + [ + "engine-unit", + 32 + ], + [ + "steel-plate", + 50 + ], + [ + "iron-gear-wheel", + 15 + ], + [ + "advanced-circuit", + 10 + ] + ], + "result": "tank" + }, + "expensive": { + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "engine-unit", + 64 + ], + [ + "steel-plate", + 100 + ], + [ + "iron-gear-wheel", + 30 + ], + [ + "advanced-circuit", + 20 + ] + ], + "result": "tank" + } + }, + "rail": { + "type": "recipe", + "name": "rail", + "enabled": false, + "ingredients": [ + [ + "stone", + 1 + ], + [ + "iron-stick", + 1 + ], + [ + "steel-plate", + 1 + ] + ], + "result": "rail", + "result_count": 2 + }, + "locomotive": { + "type": "recipe", + "name": "locomotive", + "energy_required": 4, + "enabled": false, + "ingredients": [ + [ + "engine-unit", + 20 + ], + [ + "electronic-circuit", + 10 + ], + [ + "steel-plate", + 30 + ] + ], + "result": "locomotive" + }, + "cargo-wagon": { + "type": "recipe", + "name": "cargo-wagon", + "energy_required": 1, + "enabled": false, + "ingredients": [ + [ + "iron-gear-wheel", + 10 + ], + [ + "iron-plate", + 20 + ], + [ + "steel-plate", + 20 + ] + ], + "result": "cargo-wagon" + }, + "fluid-wagon": { + "type": "recipe", + "name": "fluid-wagon", + "enabled": false, + "energy_required": 1.5, + "ingredients": [ + [ + "iron-gear-wheel", + 10 + ], + [ + "steel-plate", + 16 + ], + [ + "pipe", + 8 + ], + [ + "storage-tank", + 1 + ] + ], + "result": "fluid-wagon" + }, + "artillery-wagon": { + "type": "recipe", + "name": "artillery-wagon", + "energy_required": 4, + "enabled": false, + "ingredients": [ + [ + "engine-unit", + 64 + ], + [ + "iron-gear-wheel", + 10 + ], + [ + "steel-plate", + 40 + ], + [ + "pipe", + 16 + ], + [ + "advanced-circuit", + 20 + ] + ], + "result": "artillery-wagon" + }, + "train-stop": { + "type": "recipe", + "name": "train-stop", + "enabled": false, + "ingredients": [ + [ + "electronic-circuit", + 5 + ], + [ + "iron-plate", + 10 + ], + [ + "steel-plate", + 3 + ] + ], + "result": "train-stop" + }, + "rail-signal": { + "type": "recipe", + "name": "rail-signal", + "enabled": false, + "ingredients": [ + [ + "electronic-circuit", + 1 + ], + [ + "iron-plate", + 5 + ] + ], + "result": "rail-signal" + }, + "rail-chain-signal": { + "type": "recipe", + "name": "rail-chain-signal", + "enabled": false, + "ingredients": [ + [ + "electronic-circuit", + 1 + ], + [ + "iron-plate", + 5 + ] + ], + "result": "rail-chain-signal" + }, + "heavy-armor": { + "type": "recipe", + "name": "heavy-armor", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "copper-plate", + 100 + ], + [ + "steel-plate", + 50 + ] + ], + "result": "heavy-armor" + }, + "modular-armor": { + "type": "recipe", + "name": "modular-armor", + "enabled": false, + "energy_required": 15, + "ingredients": [ + [ + "advanced-circuit", + 30 + ], + [ + "steel-plate", + 50 + ] + ], + "result": "modular-armor" + }, + "power-armor": { + "type": "recipe", + "name": "power-armor", + "enabled": false, + "energy_required": 20, + "ingredients": [ + [ + "processing-unit", + 40 + ], + [ + "electric-engine-unit", + 20 + ], + [ + "steel-plate", + 40 + ] + ], + "result": "power-armor", + "requester_paste_multiplier": 1 + }, + "power-armor-mk2": { + "type": "recipe", + "name": "power-armor-mk2", + "enabled": false, + "energy_required": 25, + "ingredients": [ + [ + "effectivity-module-3", + 5 + ], + [ + "speed-module-3", + 5 + ], + [ + "processing-unit", + 40 + ], + [ + "steel-plate", + 40 + ] + ], + "result": "power-armor-mk2", + "requester_paste_multiplier": 1 + }, + "iron-chest": { + "type": "recipe", + "name": "iron-chest", + "enabled": true, + "ingredients": [ + [ + "iron-plate", + 8 + ] + ], + "result": "iron-chest" + }, + "steel-chest": { + "type": "recipe", + "name": "steel-chest", + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 8 + ] + ], + "result": "steel-chest" + }, + "stone-wall": { + "type": "recipe", + "name": "stone-wall", + "enabled": false, + "ingredients": [ + [ + "stone-brick", + 5 + ] + ], + "result": "stone-wall" + }, + "gate": { + "type": "recipe", + "name": "gate", + "enabled": false, + "ingredients": [ + [ + "stone-wall", + 1 + ], + [ + "steel-plate", + 2 + ], + [ + "electronic-circuit", + 2 + ] + ], + "result": "gate" + }, + "flamethrower": { + "type": "recipe", + "name": "flamethrower", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "steel-plate", + 5 + ], + [ + "iron-gear-wheel", + 10 + ] + ], + "result": "flamethrower" + }, + "land-mine": { + "type": "recipe", + "name": "land-mine", + "enabled": false, + "energy_required": 5, + "ingredients": [ + [ + "steel-plate", + 1 + ], + [ + "explosives", + 2 + ] + ], + "result": "land-mine", + "result_count": 4 + }, + "rocket-launcher": { + "type": "recipe", + "name": "rocket-launcher", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "iron-plate", + 5 + ], + [ + "iron-gear-wheel", + 5 + ], + [ + "electronic-circuit", + 5 + ] + ], + "result": "rocket-launcher" + }, + "shotgun": { + "type": "recipe", + "name": "shotgun", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "iron-plate", + 15 + ], + [ + "iron-gear-wheel", + 5 + ], + [ + "copper-plate", + 10 + ], + [ + "wood", + 5 + ] + ], + "result": "shotgun" + }, + "combat-shotgun": { + "type": "recipe", + "name": "combat-shotgun", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "steel-plate", + 15 + ], + [ + "iron-gear-wheel", + 5 + ], + [ + "copper-plate", + 10 + ], + [ + "wood", + 10 + ] + ], + "result": "combat-shotgun" + }, + "railgun": { + "type": "recipe", + "name": "railgun", + "enabled": false, + "energy_required": 8, + "ingredients": [ + [ + "steel-plate", + 15 + ], + [ + "copper-plate", + 15 + ], + [ + "electronic-circuit", + 10 + ], + [ + "advanced-circuit", + 5 + ] + ], + "result": "railgun" + }, + "science-pack-1": { + "type": "recipe", + "name": "science-pack-1", + "energy_required": 5, + "ingredients": [ + [ + "copper-plate", + 1 + ], + [ + "iron-gear-wheel", + 1 + ] + ], + "result": "science-pack-1" + }, + "science-pack-2": { + "type": "recipe", + "name": "science-pack-2", + "energy_required": 6, + "ingredients": [ + [ + "inserter", + 1 + ], + [ + "transport-belt", + 1 + ] + ], + "result": "science-pack-2" + }, + "science-pack-3": { + "type": "recipe", + "name": "science-pack-3", + "enabled": false, + "energy_required": 12, + "ingredients": [ + [ + "advanced-circuit", + 1 + ], + [ + "engine-unit", + 1 + ], + [ + "electric-mining-drill", + 1 + ] + ], + "result": "science-pack-3" + }, + "military-science-pack": { + "type": "recipe", + "name": "military-science-pack", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "piercing-rounds-magazine", + 1 + ], + [ + "grenade", + 1 + ], + [ + "gun-turret", + 1 + ] + ], + "result_count": 2, + "result": "military-science-pack" + }, + "production-science-pack": { + "type": "recipe", + "name": "production-science-pack", + "enabled": false, + "energy_required": 14, + "ingredients": [ + [ + "electric-engine-unit", + 1 + ], + [ + "electric-furnace", + 1 + ] + ], + "result_count": 2, + "result": "production-science-pack" + }, + "high-tech-science-pack": { + "type": "recipe", + "name": "high-tech-science-pack", + "enabled": false, + "energy_required": 14, + "ingredients": [ + [ + "battery", + 1 + ], + [ + "processing-unit", + 3 + ], + [ + "speed-module", + 1 + ], + [ + "copper-cable", + 30 + ] + ], + "result_count": 2, + "result": "high-tech-science-pack" + }, + "lab": { + "type": "recipe", + "name": "lab", + "energy_required": 2, + "ingredients": [ + [ + "electronic-circuit", + 10 + ], + [ + "iron-gear-wheel", + 10 + ], + [ + "transport-belt", + 4 + ] + ], + "result": "lab" + }, + "red-wire": { + "type": "recipe", + "name": "red-wire", + "enabled": false, + "ingredients": [ + [ + "electronic-circuit", + 1 + ], + [ + "copper-cable", + 1 + ] + ], + "result": "red-wire" + }, + "green-wire": { + "type": "recipe", + "name": "green-wire", + "enabled": false, + "ingredients": [ + [ + "electronic-circuit", + 1 + ], + [ + "copper-cable", + 1 + ] + ], + "result": "green-wire" + }, + "underground-belt": { + "type": "recipe", + "name": "underground-belt", + "enabled": false, + "energy_required": 1, + "ingredients": [ + [ + "iron-plate", + 10 + ], + [ + "transport-belt", + 5 + ] + ], + "result_count": 2, + "result": "underground-belt" + }, + "fast-underground-belt": { + "type": "recipe", + "name": "fast-underground-belt", + "energy_required": 2, + "enabled": false, + "ingredients": [ + [ + "iron-gear-wheel", + 40 + ], + [ + "underground-belt", + 2 + ] + ], + "result_count": 2, + "result": "fast-underground-belt" + }, + "express-underground-belt": { + "type": "recipe", + "name": "express-underground-belt", + "energy_required": 2, + "category": "crafting-with-fluid", + "enabled": false, + "ingredients": [ + [ + "iron-gear-wheel", + 80 + ], + [ + "fast-underground-belt", + 2 + ], + { + "type": "fluid", + "name": "lubricant", + "amount": 40 + } + ], + "result_count": 2, + "result": "express-underground-belt" + }, + "loader": { + "type": "recipe", + "name": "loader", + "enabled": false, + "energy_required": 1, + "ingredients": [ + [ + "inserter", + 5 + ], + [ + "electronic-circuit", + 5 + ], + [ + "iron-gear-wheel", + 5 + ], + [ + "iron-plate", + 5 + ], + [ + "transport-belt", + 5 + ] + ], + "result": "loader" + }, + "fast-loader": { + "type": "recipe", + "name": "fast-loader", + "enabled": false, + "energy_required": 3, + "ingredients": [ + [ + "fast-transport-belt", + 5 + ], + [ + "loader", + 1 + ] + ], + "result": "fast-loader" + }, + "express-loader": { + "type": "recipe", + "name": "express-loader", + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "express-transport-belt", + 5 + ], + [ + "fast-loader", + 1 + ] + ], + "result": "express-loader" + }, + "splitter": { + "type": "recipe", + "name": "splitter", + "enabled": false, + "energy_required": 1, + "ingredients": [ + [ + "electronic-circuit", + 5 + ], + [ + "iron-plate", + 5 + ], + [ + "transport-belt", + 4 + ] + ], + "result": "splitter" + }, + "fast-splitter": { + "type": "recipe", + "name": "fast-splitter", + "enabled": false, + "energy_required": 2, + "ingredients": [ + [ + "splitter", + 1 + ], + [ + "iron-gear-wheel", + 10 + ], + [ + "electronic-circuit", + 10 + ] + ], + "result": "fast-splitter" + }, + "express-splitter": { + "type": "recipe", + "name": "express-splitter", + "category": "crafting-with-fluid", + "enabled": false, + "energy_required": 2, + "ingredients": [ + [ + "fast-splitter", + 1 + ], + [ + "iron-gear-wheel", + 10 + ], + [ + "advanced-circuit", + 10 + ], + { + "type": "fluid", + "name": "lubricant", + "amount": 80 + } + ], + "result": "express-splitter" + }, + "advanced-circuit": { + "type": "recipe", + "name": "advanced-circuit", + "normal": { + "enabled": false, + "energy_required": 6, + "ingredients": [ + [ + "electronic-circuit", + 2 + ], + [ + "plastic-bar", + 2 + ], + [ + "copper-cable", + 4 + ] + ], + "result": "advanced-circuit" + }, + "expensive": { + "enabled": false, + "energy_required": 6, + "ingredients": [ + [ + "electronic-circuit", + 2 + ], + [ + "plastic-bar", + 4 + ], + [ + "copper-cable", + 8 + ] + ], + "result": "advanced-circuit" + } + }, + "processing-unit": { + "type": "recipe", + "name": "processing-unit", + "category": "crafting-with-fluid", + "normal": { + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "electronic-circuit", + 20 + ], + [ + "advanced-circuit", + 2 + ], + { + "type": "fluid", + "name": "sulfuric-acid", + "amount": 5 + } + ], + "result": "processing-unit" + }, + "expensive": { + "enabled": false, + "energy_required": 10, + "ingredients": [ + [ + "electronic-circuit", + 20 + ], + [ + "advanced-circuit", + 2 + ], + { + "type": "fluid", + "name": "sulfuric-acid", + "amount": 10 + } + ], + "result": "processing-unit" + } + }, + "logistic-robot": { + "type": "recipe", + "name": "logistic-robot", + "enabled": false, + "ingredients": [ + [ + "flying-robot-frame", + 1 + ], + [ + "advanced-circuit", + 2 + ] + ], + "result": "logistic-robot" + }, + "construction-robot": { + "type": "recipe", + "name": "construction-robot", + "enabled": false, + "ingredients": [ + [ + "flying-robot-frame", + 1 + ], + [ + "electronic-circuit", + 2 + ] + ], + "result": "construction-robot" + }, + "logistic-chest-passive-provider": { + "type": "recipe", + "name": "logistic-chest-passive-provider", + "enabled": false, + "ingredients": [ + [ + "steel-chest", + 1 + ], + [ + "electronic-circuit", + 3 + ], + [ + "advanced-circuit", + 1 + ] + ], + "result": "logistic-chest-passive-provider" + }, + "logistic-chest-active-provider": { + "type": "recipe", + "name": "logistic-chest-active-provider", + "enabled": false, + "ingredients": [ + [ + "steel-chest", + 1 + ], + [ + "electronic-circuit", + 3 + ], + [ + "advanced-circuit", + 1 + ] + ], + "result": "logistic-chest-active-provider" + }, + "logistic-chest-storage": { + "type": "recipe", + "name": "logistic-chest-storage", + "enabled": false, + "ingredients": [ + [ + "steel-chest", + 1 + ], + [ + "electronic-circuit", + 3 + ], + [ + "advanced-circuit", + 1 + ] + ], + "result": "logistic-chest-storage" + }, + "logistic-chest-buffer": { + "type": "recipe", + "name": "logistic-chest-buffer", + "enabled": false, + "ingredients": [ + [ + "steel-chest", + 1 + ], + [ + "electronic-circuit", + 3 + ], + [ + "advanced-circuit", + 1 + ] + ], + "result": "logistic-chest-buffer" + }, + "logistic-chest-requester": { + "type": "recipe", + "name": "logistic-chest-requester", + "enabled": false, + "ingredients": [ + [ + "steel-chest", + 1 + ], + [ + "electronic-circuit", + 3 + ], + [ + "advanced-circuit", + 1 + ] + ], + "result": "logistic-chest-requester" + }, + "rocket-silo": { + "type": "recipe", + "name": "rocket-silo", + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 1000 + ], + [ + "concrete", + 1000 + ], + [ + "pipe", + 100 + ], + [ + "processing-unit", + 200 + ], + [ + "electric-engine-unit", + 200 + ] + ], + "energy_required": 30, + "result": "rocket-silo", + "requester_paste_multiplier": 1 + }, + "roboport": { + "type": "recipe", + "name": "roboport", + "enabled": false, + "energy_required": 5, + "ingredients": [ + [ + "steel-plate", + 45 + ], + [ + "iron-gear-wheel", + 45 + ], + [ + "advanced-circuit", + 45 + ] + ], + "result": "roboport" + }, + "steel-axe": { + "type": "recipe", + "name": "steel-axe", + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 5 + ], + [ + "iron-stick", + 2 + ] + ], + "result": "steel-axe" + }, + "big-electric-pole": { + "type": "recipe", + "name": "big-electric-pole", + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 5 + ], + [ + "copper-plate", + 5 + ] + ], + "result": "big-electric-pole" + }, + "substation": { + "type": "recipe", + "name": "substation", + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 10 + ], + [ + "advanced-circuit", + 5 + ], + [ + "copper-plate", + 5 + ] + ], + "result": "substation" + }, + "medium-electric-pole": { + "type": "recipe", + "name": "medium-electric-pole", + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 2 + ], + [ + "copper-plate", + 2 + ] + ], + "result": "medium-electric-pole" + }, + "accumulator": { + "type": "recipe", + "name": "accumulator", + "energy_required": 10, + "enabled": false, + "ingredients": [ + [ + "iron-plate", + 2 + ], + [ + "battery", + 5 + ] + ], + "result": "accumulator" + }, + "steel-furnace": { + "type": "recipe", + "name": "steel-furnace", + "ingredients": [ + [ + "steel-plate", + 6 + ], + [ + "stone-brick", + 10 + ] + ], + "result": "steel-furnace", + "energy_required": 3, + "enabled": false + }, + "electric-furnace": { + "type": "recipe", + "name": "electric-furnace", + "ingredients": [ + [ + "steel-plate", + 10 + ], + [ + "advanced-circuit", + 5 + ], + [ + "stone-brick", + 10 + ] + ], + "result": "electric-furnace", + "energy_required": 5, + "enabled": false + }, + "beacon": { + "type": "recipe", + "name": "beacon", + "enabled": false, + "energy_required": 15, + "ingredients": [ + [ + "electronic-circuit", + 20 + ], + [ + "advanced-circuit", + 20 + ], + [ + "steel-plate", + 10 + ], + [ + "copper-cable", + 10 + ] + ], + "result": "beacon" + }, + "pumpjack": { + "type": "recipe", + "name": "pumpjack", + "energy_required": 5, + "ingredients": [ + [ + "steel-plate", + 5 + ], + [ + "iron-gear-wheel", + 10 + ], + [ + "electronic-circuit", + 5 + ], + [ + "pipe", + 10 + ] + ], + "result": "pumpjack", + "enabled": false + }, + "oil-refinery": { + "type": "recipe", + "name": "oil-refinery", + "energy_required": 8, + "ingredients": [ + [ + "steel-plate", + 15 + ], + [ + "iron-gear-wheel", + 10 + ], + [ + "stone-brick", + 10 + ], + [ + "electronic-circuit", + 10 + ], + [ + "pipe", + 10 + ] + ], + "result": "oil-refinery", + "enabled": false + }, + "engine-unit": { + "type": "recipe", + "name": "engine-unit", + "energy_required": 10, + "category": "advanced-crafting", + "ingredients": [ + [ + "steel-plate", + 1 + ], + [ + "iron-gear-wheel", + 1 + ], + [ + "pipe", + 2 + ] + ], + "result": "engine-unit", + "enabled": false + }, + "electric-engine-unit": { + "type": "recipe", + "name": "electric-engine-unit", + "category": "crafting-with-fluid", + "energy_required": 10, + "ingredients": [ + [ + "engine-unit", + 1 + ], + { + "type": "fluid", + "name": "lubricant", + "amount": 15 + }, + [ + "electronic-circuit", + 2 + ] + ], + "result": "electric-engine-unit", + "enabled": false + }, + "flying-robot-frame": { + "type": "recipe", + "name": "flying-robot-frame", + "energy_required": 20, + "ingredients": [ + [ + "electric-engine-unit", + 1 + ], + [ + "battery", + 2 + ], + [ + "steel-plate", + 1 + ], + [ + "electronic-circuit", + 3 + ] + ], + "result": "flying-robot-frame", + "enabled": false + }, + "explosives": { + "type": "recipe", + "name": "explosives", + "category": "chemistry", + "crafting_machine_tint": { + "primary": { + "r": 0.955, + "g": 0.945, + "b": 0, + "a": 0 + }, + "secondary": { + "r": 0, + "g": 0.441, + "b": 0.659, + "a": 0.898 + }, + "tertiary": { + "r": 0, + "g": 0.288, + "b": 0.365, + "a": 0 + } + }, + "normal": { + "energy_required": 5, + "enabled": false, + "ingredients": [ + { + "type": "item", + "name": "sulfur", + "amount": 1 + }, + { + "type": "item", + "name": "coal", + "amount": 1 + }, + { + "type": "fluid", + "name": "water", + "amount": 10 + } + ], + "result": "explosives", + "result_count": 2 + }, + "expensive": { + "energy_required": 5, + "enabled": false, + "ingredients": [ + { + "type": "item", + "name": "sulfur", + "amount": 2 + }, + { + "type": "item", + "name": "coal", + "amount": 2 + }, + { + "type": "fluid", + "name": "water", + "amount": 10 + } + ], + "result": "explosives", + "result_count": 2 + } + }, + "battery": { + "type": "recipe", + "name": "battery", + "category": "chemistry", + "normal": { + "energy_required": 5, + "enabled": false, + "ingredients": [ + { + "type": "fluid", + "name": "sulfuric-acid", + "amount": 20 + }, + [ + "iron-plate", + 1 + ], + [ + "copper-plate", + 1 + ] + ], + "result": "battery" + }, + "expensive": { + "energy_required": 5, + "enabled": false, + "ingredients": [ + { + "type": "fluid", + "name": "sulfuric-acid", + "amount": 40 + }, + [ + "iron-plate", + 1 + ], + [ + "copper-plate", + 1 + ] + ], + "result": "battery" + }, + "crafting_machine_tint": { + "primary": { + "r": 0.97, + "g": 0.611, + "b": 0, + "a": 0 + }, + "secondary": { + "r": 0, + "g": 0.68, + "b": 0.894, + "a": 0.357 + }, + "tertiary": { + "r": 0.43, + "g": 0.805, + "b": 0.726, + "a": 0 + } + } + }, + "storage-tank": { + "type": "recipe", + "name": "storage-tank", + "energy_required": 3, + "enabled": false, + "ingredients": [ + [ + "iron-plate", + 20 + ], + [ + "steel-plate", + 5 + ] + ], + "result": "storage-tank" + }, + "pump": { + "type": "recipe", + "name": "pump", + "energy_required": 2, + "enabled": false, + "ingredients": [ + [ + "engine-unit", + 1 + ], + [ + "steel-plate", + 1 + ], + [ + "pipe", + 1 + ] + ], + "result": "pump" + }, + "chemical-plant": { + "type": "recipe", + "name": "chemical-plant", + "energy_required": 5, + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 5 + ], + [ + "iron-gear-wheel", + 5 + ], + [ + "electronic-circuit", + 5 + ], + [ + "pipe", + 5 + ] + ], + "result": "chemical-plant" + }, + "small-plane": { + "type": "recipe", + "name": "small-plane", + "energy_required": 30, + "enabled": false, + "category": "crafting", + "ingredients": [ + [ + "plastic-bar", + 100 + ], + [ + "advanced-circuit", + 200 + ], + [ + "electric-engine-unit", + 20 + ], + [ + "battery", + 100 + ] + ], + "result": "small-plane" + }, + "arithmetic-combinator": { + "type": "recipe", + "name": "arithmetic-combinator", + "enabled": false, + "ingredients": [ + [ + "copper-cable", + 5 + ], + [ + "electronic-circuit", + 5 + ] + ], + "result": "arithmetic-combinator" + }, + "decider-combinator": { + "type": "recipe", + "name": "decider-combinator", + "enabled": false, + "ingredients": [ + [ + "copper-cable", + 5 + ], + [ + "electronic-circuit", + 5 + ] + ], + "result": "decider-combinator" + }, + "constant-combinator": { + "type": "recipe", + "name": "constant-combinator", + "enabled": false, + "ingredients": [ + [ + "copper-cable", + 5 + ], + [ + "electronic-circuit", + 2 + ] + ], + "result": "constant-combinator" + }, + "power-switch": { + "type": "recipe", + "name": "power-switch", + "enabled": false, + "energy_required": 2, + "ingredients": [ + [ + "iron-plate", + 5 + ], + [ + "copper-cable", + 5 + ], + [ + "electronic-circuit", + 2 + ] + ], + "result": "power-switch" + }, + "programmable-speaker": { + "type": "recipe", + "name": "programmable-speaker", + "enabled": false, + "energy_required": 2, + "ingredients": [ + [ + "iron-plate", + 5 + ], + [ + "copper-cable", + 5 + ], + [ + "electronic-circuit", + 4 + ] + ], + "result": "programmable-speaker" + }, + "low-density-structure": { + "type": "recipe", + "name": "low-density-structure", + "category": "crafting", + "normal": { + "energy_required": 30, + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 10 + ], + [ + "copper-plate", + 5 + ], + [ + "plastic-bar", + 5 + ] + ], + "result": "low-density-structure" + }, + "expensive": { + "energy_required": 30, + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 10 + ], + [ + "copper-plate", + 10 + ], + [ + "plastic-bar", + 10 + ] + ], + "result": "low-density-structure" + } + }, + "rocket-fuel": { + "type": "recipe", + "name": "rocket-fuel", + "energy_required": 30, + "enabled": false, + "category": "crafting", + "ingredients": [ + [ + "solid-fuel", + 10 + ] + ], + "result": "rocket-fuel" + }, + "rocket-control-unit": { + "type": "recipe", + "name": "rocket-control-unit", + "energy_required": 30, + "enabled": false, + "category": "crafting", + "ingredients": [ + [ + "processing-unit", + 1 + ], + [ + "speed-module", + 1 + ] + ], + "result": "rocket-control-unit" + }, + "rocket-part": { + "type": "recipe", + "name": "rocket-part", + "energy_required": 3, + "enabled": false, + "hidden": true, + "category": "rocket-building", + "ingredients": [ + [ + "rocket-control-unit", + 10 + ], + [ + "low-density-structure", + 10 + ], + [ + "rocket-fuel", + 10 + ] + ], + "result": "rocket-part" + }, + "satellite": { + "type": "recipe", + "name": "satellite", + "energy_required": 5, + "enabled": false, + "category": "crafting", + "ingredients": [ + [ + "low-density-structure", + 100 + ], + [ + "solar-panel", + 100 + ], + [ + "accumulator", + 100 + ], + [ + "radar", + 5 + ], + [ + "processing-unit", + 100 + ], + [ + "rocket-fuel", + 50 + ] + ], + "result": "satellite", + "requester_paste_multiplier": 1 + }, + "concrete": { + "type": "recipe", + "name": "concrete", + "energy_required": 10, + "enabled": false, + "category": "crafting-with-fluid", + "ingredients": [ + [ + "stone-brick", + 5 + ], + [ + "iron-ore", + 1 + ], + { + "type": "fluid", + "name": "water", + "amount": 100 + } + ], + "result": "concrete", + "result_count": 10 + }, + "hazard-concrete": { + "type": "recipe", + "name": "hazard-concrete", + "energy_required": 0.25, + "enabled": false, + "category": "crafting", + "ingredients": [ + [ + "concrete", + 10 + ] + ], + "result": "hazard-concrete", + "result_count": 10 + }, + "refined-concrete": { + "type": "recipe", + "name": "refined-concrete", + "energy_required": 15, + "enabled": false, + "category": "crafting-with-fluid", + "ingredients": [ + [ + "concrete", + 20 + ], + [ + "iron-stick", + 8 + ], + [ + "steel-plate", + 1 + ], + { + "type": "fluid", + "name": "water", + "amount": 100 + } + ], + "result": "refined-concrete", + "result_count": 10 + }, + "refined-hazard-concrete": { + "type": "recipe", + "name": "refined-hazard-concrete", + "energy_required": 0.25, + "enabled": false, + "category": "crafting", + "ingredients": [ + [ + "refined-concrete", + 10 + ] + ], + "result": "refined-hazard-concrete", + "result_count": 10 + }, + "landfill": { + "type": "recipe", + "name": "landfill", + "energy_required": 0.5, + "enabled": false, + "category": "crafting", + "ingredients": [ + [ + "stone", + 20 + ] + ], + "result": "landfill", + "result_count": 1 + }, + "electric-energy-interface": { + "type": "recipe", + "name": "electric-energy-interface", + "energy_required": 0.5, + "enabled": false, + "ingredients": [ + [ + "iron-plate", + 2 + ], + [ + "electronic-circuit", + 5 + ] + ], + "result": "electric-energy-interface" + }, + "nuclear-reactor": { + "type": "recipe", + "name": "nuclear-reactor", + "energy_required": 8, + "enabled": false, + "ingredients": [ + [ + "concrete", + 500 + ], + [ + "steel-plate", + 500 + ], + [ + "advanced-circuit", + 500 + ], + [ + "copper-plate", + 500 + ] + ], + "result": "nuclear-reactor", + "requester_paste_multiplier": 1 + }, + "centrifuge": { + "type": "recipe", + "name": "centrifuge", + "energy_required": 4, + "enabled": false, + "ingredients": [ + [ + "concrete", + 100 + ], + [ + "steel-plate", + 50 + ], + [ + "advanced-circuit", + 100 + ], + [ + "iron-gear-wheel", + 100 + ] + ], + "result": "centrifuge", + "requester_paste_multiplier": 10 + }, + "uranium-processing": { + "type": "recipe", + "name": "uranium-processing", + "energy_required": 10, + "enabled": false, + "category": "centrifuging", + "ingredients": [ + [ + "uranium-ore", + 10 + ] + ], + "icon": "factorio-data/graphics/icons/uranium-processing.png", + "icon_size": 32, + "subgroup": "raw-material", + "order": "k[uranium-processing]", + "results": [ + { + "name": "uranium-235", + "probability": 0.007, + "amount": 1 + }, + { + "name": "uranium-238", + "probability": 0.993, + "amount": 1 + } + ] + }, + "kovarex-enrichment-process": { + "type": "recipe", + "name": "kovarex-enrichment-process", + "energy_required": 50, + "enabled": false, + "category": "centrifuging", + "ingredients": [ + [ + "uranium-235", + 40 + ], + [ + "uranium-238", + 5 + ] + ], + "icon": "factorio-data/graphics/icons/kovarex-enrichment-process.png", + "icon_size": 32, + "subgroup": "intermediate-product", + "order": "r[uranium-processing]-c[kovarex-enrichment-process]", + "main_product": "", + "results": [ + { + "name": "uranium-235", + "amount": 41 + }, + { + "name": "uranium-238", + "amount": 2 + } + ], + "allow_decomposition": false + }, + "nuclear-fuel": { + "type": "recipe", + "name": "nuclear-fuel", + "energy_required": 60, + "enabled": false, + "category": "centrifuging", + "ingredients": [ + [ + "uranium-235", + 1 + ], + [ + "rocket-fuel", + 1 + ] + ], + "icon": "factorio-data/graphics/icons/nuclear-fuel.png", + "icon_size": 32, + "result": "nuclear-fuel" + }, + "nuclear-fuel-reprocessing": { + "type": "recipe", + "name": "nuclear-fuel-reprocessing", + "energy_required": 50, + "enabled": false, + "category": "centrifuging", + "ingredients": [ + [ + "used-up-uranium-fuel-cell", + 5 + ] + ], + "icon": "factorio-data/graphics/icons/nuclear-fuel-reprocessing.png", + "icon_size": 32, + "subgroup": "intermediate-product", + "order": "r[uranium-processing]-b[nuclear-fuel-reprocessing]", + "main_product": "", + "results": [ + { + "name": "uranium-238", + "amount": 3 + } + ], + "allow_decomposition": false + }, + "uranium-fuel-cell": { + "type": "recipe", + "name": "uranium-fuel-cell", + "energy_required": 10, + "enabled": false, + "ingredients": [ + [ + "iron-plate", + 10 + ], + [ + "uranium-235", + 1 + ], + [ + "uranium-238", + 19 + ] + ], + "result": "uranium-fuel-cell", + "result_count": 10 + }, + "heat-exchanger": { + "type": "recipe", + "name": "heat-exchanger", + "energy_required": 3, + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 10 + ], + [ + "copper-plate", + 100 + ], + [ + "pipe", + 10 + ] + ], + "result": "heat-exchanger" + }, + "heat-pipe": { + "type": "recipe", + "name": "heat-pipe", + "energy_required": 1, + "enabled": false, + "ingredients": [ + [ + "steel-plate", + 10 + ], + [ + "copper-plate", + 20 + ] + ], + "result": "heat-pipe" + }, + "steam-turbine": { + "type": "recipe", + "name": "steam-turbine", + "enabled": false, + "energy_required": 3, + "ingredients": [ + [ + "iron-gear-wheel", + 50 + ], + [ + "copper-plate", + 50 + ], + [ + "pipe", + 20 + ] + ], + "result": "steam-turbine" + }, + "laser-turret": { + "type": "recipe", + "name": "laser-turret", + "enabled": false, + "energy_required": 20, + "ingredients": [ + [ + "steel-plate", + 20 + ], + [ + "electronic-circuit", + 20 + ], + [ + "battery", + 12 + ] + ], + "result": "laser-turret" + }, + "flamethrower-turret": { + "type": "recipe", + "name": "flamethrower-turret", + "enabled": false, + "energy_required": 20, + "ingredients": [ + [ + "steel-plate", + 30 + ], + [ + "iron-gear-wheel", + 15 + ], + [ + "pipe", + 10 + ], + [ + "engine-unit", + 5 + ] + ], + "result": "flamethrower-turret" + }, + "artillery-turret": { + "type": "recipe", + "name": "artillery-turret", + "enabled": false, + "energy_required": 40, + "ingredients": [ + [ + "steel-plate", + 60 + ], + [ + "concrete", + 60 + ], + [ + "iron-gear-wheel", + 40 + ], + [ + "advanced-circuit", + 20 + ] + ], + "result": "artillery-turret" + }, + "fill-water-barrel": { + "type": "recipe", + "name": "fill-water-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.water" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-water-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-side-mask.png", + "tint": { + "r": 0, + "g": 0.34, + "b": 0.6, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-top-mask.png", + "tint": { + "r": 0.7, + "g": 0.7, + "b": 0.7, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/water.png", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "water", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "water-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-water-barrel": { + "type": "recipe", + "name": "empty-water-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.water" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-water-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-side-mask.png", + "tint": { + "r": 0, + "g": 0.34, + "b": 0.6, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-top-mask.png", + "tint": { + "r": 0.7, + "g": 0.7, + "b": 0.7, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/water.png", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "water-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "water", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-crude-oil-barrel": { + "type": "recipe", + "name": "fill-crude-oil-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.crude-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-crude-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-side-mask.png", + "tint": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-top-mask.png", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/crude-oil.png", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "crude-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "crude-oil-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-crude-oil-barrel": { + "type": "recipe", + "name": "empty-crude-oil-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.crude-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-crude-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-side-mask.png", + "tint": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-top-mask.png", + "tint": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/crude-oil.png", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "crude-oil-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "crude-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-heavy-oil-barrel": { + "type": "recipe", + "name": "fill-heavy-oil-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.heavy-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-heavy-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-side-mask.png", + "tint": { + "r": 0.5, + "g": 0.04, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-top-mask.png", + "tint": { + "r": 0.85, + "g": 0.6, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/heavy-oil.png", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "heavy-oil-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-heavy-oil-barrel": { + "type": "recipe", + "name": "empty-heavy-oil-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.heavy-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-heavy-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-side-mask.png", + "tint": { + "r": 0.5, + "g": 0.04, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-top-mask.png", + "tint": { + "r": 0.85, + "g": 0.6, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/heavy-oil.png", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "heavy-oil-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "heavy-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-light-oil-barrel": { + "type": "recipe", + "name": "fill-light-oil-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.light-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-light-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-side-mask.png", + "tint": { + "r": 0.57, + "g": 0.33, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-top-mask.png", + "tint": { + "r": 1, + "g": 0.73, + "b": 0.07, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/light-oil.png", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "light-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "light-oil-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-light-oil-barrel": { + "type": "recipe", + "name": "empty-light-oil-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.light-oil" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-light-oil-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-side-mask.png", + "tint": { + "r": 0.57, + "g": 0.33, + "b": 0, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-top-mask.png", + "tint": { + "r": 1, + "g": 0.73, + "b": 0.07, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/light-oil.png", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "light-oil-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "light-oil", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-petroleum-gas-barrel": { + "type": "recipe", + "name": "fill-petroleum-gas-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.petroleum-gas" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-petroleum-gas-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-side-mask.png", + "tint": { + "r": 0.3, + "g": 0.1, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-top-mask.png", + "tint": { + "r": 0.8, + "g": 0.8, + "b": 0.8, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/petroleum-gas.png", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "petroleum-gas-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-petroleum-gas-barrel": { + "type": "recipe", + "name": "empty-petroleum-gas-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.petroleum-gas" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-petroleum-gas-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-side-mask.png", + "tint": { + "r": 0.3, + "g": 0.1, + "b": 0.3, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-top-mask.png", + "tint": { + "r": 0.8, + "g": 0.8, + "b": 0.8, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/petroleum-gas.png", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "petroleum-gas-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "petroleum-gas", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-lubricant-barrel": { + "type": "recipe", + "name": "fill-lubricant-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.lubricant" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-lubricant-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-side-mask.png", + "tint": { + "r": 0.15, + "g": 0.32, + "b": 0.03, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-top-mask.png", + "tint": { + "r": 0.43, + "g": 0.75, + "b": 0.31, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/lubricant.png", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "lubricant", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "lubricant-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-lubricant-barrel": { + "type": "recipe", + "name": "empty-lubricant-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.lubricant" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-lubricant-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-side-mask.png", + "tint": { + "r": 0.15, + "g": 0.32, + "b": 0.03, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-top-mask.png", + "tint": { + "r": 0.43, + "g": 0.75, + "b": 0.31, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/lubricant.png", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "lubricant-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "lubricant", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "fill-sulfuric-acid-barrel": { + "type": "recipe", + "name": "fill-sulfuric-acid-barrel", + "localised_name": [ + "recipe-name.fill-barrel", + [ + "fluid-name.sulfuric-acid" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "fill-barrel", + "order": "b[fill-sulfuric-acid-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-side-mask.png", + "tint": { + "r": 0.75, + "g": 0.65, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-fill-top-mask.png", + "tint": { + "r": 0.7, + "g": 1, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/sulfuric-acid.png", + "scale": 0.5, + "shift": [ + 4, + -8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "fluid", + "name": "sulfuric-acid", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "item", + "name": "sulfuric-acid-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + }, + "empty-sulfuric-acid-barrel": { + "type": "recipe", + "name": "empty-sulfuric-acid-barrel", + "localised_name": [ + "recipe-name.empty-filled-barrel", + [ + "fluid-name.sulfuric-acid" + ] + ], + "category": "crafting-with-fluid", + "energy_required": 0.2, + "subgroup": "empty-barrel", + "order": "c[empty-sulfuric-acid-barrel]", + "enabled": false, + "icons": [ + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty.png" + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-side-mask.png", + "tint": { + "r": 0.75, + "g": 0.65, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/barreling/barrel-empty-top-mask.png", + "tint": { + "r": 0.7, + "g": 1, + "b": 0.1, + "a": 0.75 + } + }, + { + "icon": "factorio-data/graphics/icons/fluid/sulfuric-acid.png", + "scale": 0.5, + "shift": [ + 7, + 8 + ] + } + ], + "icon_size": 32, + "ingredients": [ + { + "type": "item", + "name": "sulfuric-acid-barrel", + "amount": 1 + } + ], + "results": [ + { + "type": "fluid", + "name": "sulfuric-acid", + "amount": 50 + }, + { + "type": "item", + "name": "empty-barrel", + "amount": 1 + } + ], + "hide_from_stats": true, + "allow_decomposition": false + } +} \ No newline at end of file diff --git a/src/bundles/tileBundle.json b/src/bundles/tileBundle.json new file mode 100644 index 00000000..e15c9477 --- /dev/null +++ b/src/bundles/tileBundle.json @@ -0,0 +1,2287 @@ +{ + "stone-path": { + "type": "tile", + "name": "stone-path", + "needs_correction": false, + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "stone-brick" + }, + "mined_sound": { + "filename": "factorio-data/sound/deconstruct-bricks.ogg" + }, + "collision_mask": [ + "ground-tile" + ], + "walking_speed_modifier": 1.3, + "layer": 60, + "decorative_removal_probability": 0.15, + "variants": { + "main": [ + { + "picture": "factorio-data/graphics/terrain/stone-path/stone-path-1.png", + "count": 16, + "size": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/stone-path/hr-stone-path-1.png", + "count": 16, + "size": 1, + "scale": 0.5 + } + }, + { + "picture": "factorio-data/graphics/terrain/stone-path/stone-path-2.png", + "count": 4, + "size": 2, + "probability": 0.39, + "hr_version": { + "picture": "factorio-data/graphics/terrain/stone-path/hr-stone-path-2.png", + "count": 16, + "size": 2, + "probability": 0.39, + "scale": 0.5 + } + }, + { + "picture": "factorio-data/graphics/terrain/stone-path/stone-path-4.png", + "count": 4, + "size": 4, + "probability": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/stone-path/hr-stone-path-4.png", + "count": 16, + "size": 4, + "probability": 1, + "scale": 0.5 + } + } + ], + "inner_corner": { + "picture": "factorio-data/graphics/terrain/stone-path/stone-path-inner-corner.png", + "count": 16, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/stone-path/hr-stone-path-inner-corner.png", + "count": 16, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner": { + "picture": "factorio-data/graphics/terrain/stone-path/stone-path-outer-corner.png", + "count": 8, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/stone-path/hr-stone-path-outer-corner.png", + "count": 8, + "tall": true, + "scale": 0.5 + } + }, + "side": { + "picture": "factorio-data/graphics/terrain/stone-path/stone-path-side.png", + "count": 16, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/stone-path/hr-stone-path-side.png", + "count": 16, + "tall": true, + "scale": 0.5 + } + }, + "u_transition": { + "picture": "factorio-data/graphics/terrain/stone-path/stone-path-u.png", + "count": 8, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/stone-path/hr-stone-path-u.png", + "count": 8, + "tall": true, + "scale": 0.5 + } + }, + "o_transition": { + "picture": "factorio-data/graphics/terrain/stone-path/stone-path-o.png", + "count": 4, + "hr_version": { + "picture": "factorio-data/graphics/terrain/stone-path/hr-stone-path-o.png", + "count": 4, + "scale": 0.5 + } + } + }, + "transitions": [ + { + "to_tiles": [ + "water", + "deepwater", + "water-green", + "deepwater-green" + ], + "inner_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 8, + "line_length": 8, + "x": 544, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 0, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 8, + "line_length": 8, + "x": 2176, + "y": 0, + "scale": 0.5 + } + }, + "outer_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 8, + "line_length": 8, + "x": 544, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 288, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 8, + "line_length": 8, + "x": 2176, + "y": 576, + "scale": 0.5 + } + }, + "side": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 8, + "line_length": 8, + "x": 544, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 576, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 8, + "line_length": 8, + "x": 2176, + "y": 1152, + "scale": 0.5 + } + }, + "u_transition": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 4, + "line_length": 4, + "x": 544, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 864, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 4, + "line_length": 4, + "x": 2176, + "y": 1728, + "scale": 0.5 + } + }, + "o_transition": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 1152, + "tall": false, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 2304, + "tall": false, + "scale": 0.5 + } + }, + "o_transition_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 4, + "line_length": 4, + "x": 544, + "y": 1152, + "tall": false, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 2304, + "tall": false, + "scale": 0.5 + } + }, + "o_transition_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 1152, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path.png", + "count": 4, + "line_length": 4, + "x": 2176, + "y": 2304, + "scale": 0.5 + } + } + } + ], + "transitions_between_transitions": [ + { + "to_tiles": [ + "water", + "deepwater", + "water-green", + "deepwater-green" + ], + "inner_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 544, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 0, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 2176, + "y": 0, + "scale": 0.5 + } + }, + "outer_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 544, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 288, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 2176, + "y": 576, + "scale": 0.5 + } + }, + "side": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 544, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 576, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 3, + "line_length": 3, + "x": 2176, + "y": 1152, + "scale": 0.5 + } + }, + "u_transition": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 1, + "line_length": 1, + "x": 0, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 1, + "line_length": 1, + "x": 0, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 1, + "line_length": 1, + "x": 544, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 1, + "line_length": 1, + "x": 1088, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/stone-path-transitions.png", + "count": 1, + "line_length": 1, + "x": 1088, + "y": 864, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-stone-path-transitions.png", + "count": 1, + "line_length": 1, + "x": 2176, + "y": 1728, + "scale": 0.5 + } + } + } + ], + "walking_sound": [ + { + "filename": "factorio-data/sound/walking/concrete-01.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-02.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-03.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-04.ogg", + "volume": 1.2 + } + ], + "map_color": { + "r": 50, + "g": 50, + "b": 50 + }, + "ageing": 0, + "vehicle_friction_modifier": 1.1 + }, + "concrete": { + "type": "tile", + "name": "concrete", + "needs_correction": false, + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "concrete" + }, + "mined_sound": { + "filename": "factorio-data/sound/deconstruct-bricks.ogg" + }, + "collision_mask": [ + "ground-tile" + ], + "walking_speed_modifier": 1.4, + "layer": 61, + "transition_overlay_layer_offset": 2, + "decorative_removal_probability": 0.25, + "variants": { + "main": [ + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 1 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 2, + "probability": 0.39 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 4, + "probability": 1 + } + ], + "inner_corner": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-inner-corner.png", + "count": 16, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-inner-corner.png", + "count": 16, + "scale": 0.5 + } + }, + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-inner-corner-mask.png", + "count": 16, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-inner-corner-mask.png", + "count": 16, + "scale": 0.5 + } + }, + "outer_corner": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-outer-corner.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-outer-corner.png", + "count": 8, + "scale": 0.5 + } + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-outer-corner-mask.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-outer-corner-mask.png", + "count": 8, + "scale": 0.5 + } + }, + "side": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-side.png", + "count": 16, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-side.png", + "count": 16, + "scale": 0.5 + } + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-side-mask.png", + "count": 16, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-side-mask.png", + "count": 16, + "scale": 0.5 + } + }, + "u_transition": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-u.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-u.png", + "count": 8, + "scale": 0.5 + } + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-u-mask.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-u-mask.png", + "count": 8, + "scale": 0.5 + } + }, + "o_transition": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-o.png", + "count": 4, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-o.png", + "count": 4, + "scale": 0.5 + } + }, + "o_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-o-mask.png", + "count": 4, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-o-mask.png", + "count": 4, + "scale": 0.5 + } + }, + "material_background": { + "picture": "factorio-data/graphics/terrain/concrete/concrete.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete.png", + "count": 8, + "scale": 0.5 + } + } + }, + "transitions": [ + { + "to_tiles": [ + "water", + "deepwater", + "water-green", + "deepwater-green" + ], + "inner_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 544, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 0, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 2176, + "y": 0, + "scale": 0.5 + } + }, + "outer_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 544, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 288, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 2176, + "y": 576, + "scale": 0.5 + } + }, + "side": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 544, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 576, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 2176, + "y": 1152, + "scale": 0.5 + } + }, + "u_transition": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 544, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 864, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 2176, + "y": 1728, + "scale": 0.5 + } + }, + "o_transition": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 1152, + "tall": false, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 2304, + "tall": false, + "scale": 0.5 + } + }, + "o_transition_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 544, + "y": 1152, + "tall": false, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 2304, + "tall": false, + "scale": 0.5 + } + }, + "o_transition_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 1152, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 2176, + "y": 2304, + "scale": 0.5 + } + } + } + ], + "transitions_between_transitions": [ + { + "to_tiles": [ + "water", + "deepwater", + "water-green", + "deepwater-green" + ], + "inner_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 544, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 0, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 2176, + "y": 0, + "scale": 0.5 + } + }, + "outer_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 544, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 288, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 2176, + "y": 576, + "scale": 0.5 + } + }, + "side": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 544, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 576, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 2176, + "y": 1152, + "scale": 0.5 + } + }, + "u_transition": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 0, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 0, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 544, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 1088, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 1088, + "y": 864, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 2176, + "y": 1728, + "scale": 0.5 + } + } + } + ], + "walking_sound": [ + { + "filename": "factorio-data/sound/walking/concrete-01.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-02.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-03.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-04.ogg", + "volume": 1.2 + } + ], + "map_color": { + "r": 100, + "g": 100, + "b": 100 + }, + "ageing": 0, + "vehicle_friction_modifier": 0.8 + }, + "hazard-concrete-left": { + "type": "tile", + "name": "hazard-concrete-left", + "needs_correction": false, + "next_direction": "hazard-concrete-right", + "transition_merges_with_tile": "concrete", + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "hazard-concrete" + }, + "mined_sound": { + "filename": "factorio-data/sound/deconstruct-bricks.ogg" + }, + "collision_mask": [ + "ground-tile" + ], + "walking_speed_modifier": 1.4, + "layer": 62, + "decorative_removal_probability": 0.25, + "variants": { + "main": [ + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 1 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 2, + "probability": 0.39 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 4, + "probability": 1 + } + ], + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-inner-corner-mask.png", + "count": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-hazard-concrete-inner-corner-mask.png", + "count": 1, + "scale": 0.5 + } + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-outer-corner-mask.png", + "count": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-hazard-concrete-outer-corner-mask.png", + "count": 1, + "scale": 0.5 + } + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-side-mask.png", + "count": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-hazard-concrete-side-mask.png", + "count": 1, + "scale": 0.5 + } + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-u-mask.png", + "count": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-hazard-concrete-u-mask.png", + "count": 1, + "scale": 0.5 + } + }, + "o_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-o-mask.png", + "count": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-hazard-concrete-o-mask.png", + "count": 1, + "scale": 0.5 + } + }, + "material_background": { + "picture": "factorio-data/graphics/terrain/hazard-concrete-left/hazard-concrete-left.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/hazard-concrete-left/hr-hazard-concrete-left.png", + "count": 8, + "scale": 0.5 + } + } + }, + "walking_sound": [ + { + "filename": "factorio-data/sound/walking/concrete-01.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-02.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-03.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-04.ogg", + "volume": 1.2 + } + ], + "map_color": { + "r": 0.5, + "g": 0.5, + "b": 0 + }, + "ageing": 0, + "vehicle_friction_modifier": 0.8 + }, + "hazard-concrete-right": { + "type": "tile", + "name": "hazard-concrete-right", + "needs_correction": false, + "next_direction": "hazard-concrete-left", + "transition_merges_with_tile": "concrete", + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "hazard-concrete" + }, + "mined_sound": { + "filename": "factorio-data/sound/deconstruct-bricks.ogg" + }, + "collision_mask": [ + "ground-tile" + ], + "walking_speed_modifier": 1.4, + "layer": 62, + "decorative_removal_probability": 0.25, + "variants": { + "main": [ + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 1 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 2, + "probability": 0.39 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 4, + "probability": 1 + } + ], + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-inner-corner-mask.png", + "count": 1 + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-outer-corner-mask.png", + "count": 1 + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-side-mask.png", + "count": 1 + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-u-mask.png", + "count": 1 + }, + "o_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-o-mask.png", + "count": 1 + }, + "material_background": { + "picture": "factorio-data/graphics/terrain/hazard-concrete-right/hazard-concrete-right.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/hazard-concrete-right/hr-hazard-concrete-right.png", + "count": 8, + "scale": 0.5 + } + } + }, + "walking_sound": [ + { + "filename": "factorio-data/sound/walking/concrete-01.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-02.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-03.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-04.ogg", + "volume": 1.2 + } + ], + "map_color": { + "r": 0.5, + "g": 0.5, + "b": 0 + }, + "ageing": 0, + "vehicle_friction_modifier": 0.8 + }, + "refined-concrete": { + "type": "tile", + "name": "refined-concrete", + "needs_correction": false, + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "refined-concrete" + }, + "mined_sound": { + "filename": "factorio-data/sound/deconstruct-bricks.ogg" + }, + "collision_mask": [ + "ground-tile" + ], + "walking_speed_modifier": 1.5, + "layer": 64, + "transition_overlay_layer_offset": 2, + "decorative_removal_probability": 0.25, + "variants": { + "main": [ + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 1 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 2, + "probability": 0.39 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 4, + "probability": 1 + } + ], + "inner_corner": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-inner-corner.png", + "count": 16, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-inner-corner.png", + "count": 16, + "scale": 0.5 + } + }, + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-inner-corner-mask.png", + "count": 16, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-inner-corner-mask.png", + "count": 16, + "scale": 0.5 + } + }, + "outer_corner": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-outer-corner.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-outer-corner.png", + "count": 8, + "scale": 0.5 + } + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-outer-corner-mask.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-outer-corner-mask.png", + "count": 8, + "scale": 0.5 + } + }, + "side": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-side.png", + "count": 16, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-side.png", + "count": 16, + "scale": 0.5 + } + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-side-mask.png", + "count": 16, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-side-mask.png", + "count": 16, + "scale": 0.5 + } + }, + "u_transition": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-u.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-u.png", + "count": 8, + "scale": 0.5 + } + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-u-mask.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-u-mask.png", + "count": 8, + "scale": 0.5 + } + }, + "o_transition": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-o.png", + "count": 4, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-o.png", + "count": 4, + "scale": 0.5 + } + }, + "o_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/concrete-o-mask.png", + "count": 4, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-concrete-o-mask.png", + "count": 4, + "scale": 0.5 + } + }, + "material_background": { + "picture": "factorio-data/graphics/terrain/concrete/refined-concrete.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-refined-concrete.png", + "count": 8, + "scale": 0.5 + } + } + }, + "transitions": [ + { + "to_tiles": [ + "water", + "deepwater", + "water-green", + "deepwater-green" + ], + "inner_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 544, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 0, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 2176, + "y": 0, + "scale": 0.5 + } + }, + "outer_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 544, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 288, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 2176, + "y": 576, + "scale": 0.5 + } + }, + "side": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 0, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 544, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 8, + "line_length": 8, + "x": 1088, + "y": 576, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 8, + "line_length": 8, + "x": 2176, + "y": 1152, + "scale": 0.5 + } + }, + "u_transition": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 544, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 864, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 2176, + "y": 1728, + "scale": 0.5 + } + }, + "o_transition": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 1152, + "tall": false, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 0, + "y": 2304, + "tall": false, + "scale": 0.5 + } + }, + "o_transition_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 544, + "y": 1152, + "tall": false, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 2304, + "tall": false, + "scale": 0.5 + } + }, + "o_transition_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete.png", + "count": 4, + "line_length": 4, + "x": 1088, + "y": 1152, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete.png", + "count": 4, + "line_length": 4, + "x": 2176, + "y": 2304, + "scale": 0.5 + } + } + } + ], + "transitions_between_transitions": [ + { + "to_tiles": [ + "water", + "deepwater", + "water-green", + "deepwater-green" + ], + "inner_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 544, + "y": 0, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 0, + "tall": true, + "scale": 0.5 + } + }, + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 0, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 2176, + "y": 0, + "scale": 0.5 + } + }, + "outer_corner": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 544, + "y": 288, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 576, + "tall": true, + "scale": 0.5 + } + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 288, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 2176, + "y": 576, + "scale": 0.5 + } + }, + "side": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 0, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 544, + "y": 576, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 1152, + "tall": true, + "scale": 0.5 + } + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 1088, + "y": 576, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 3, + "line_length": 3, + "x": 2176, + "y": 1152, + "scale": 0.5 + } + }, + "u_transition": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 0, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 0, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_background": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 544, + "y": 864, + "tall": true, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 1088, + "y": 1728, + "tall": true, + "scale": 0.5 + } + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/water-transitions/concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 1088, + "y": 864, + "hr_version": { + "picture": "factorio-data/graphics/terrain/water-transitions/hr-concrete-transitions.png", + "count": 1, + "line_length": 1, + "x": 2176, + "y": 1728, + "scale": 0.5 + } + } + } + ], + "walking_sound": [ + { + "filename": "factorio-data/sound/walking/concrete-01.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-02.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-03.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-04.ogg", + "volume": 1.2 + } + ], + "map_color": { + "r": 100, + "g": 100, + "b": 100 + }, + "ageing": 0, + "vehicle_friction_modifier": 0.8 + }, + "refined-hazard-concrete-left": { + "type": "tile", + "name": "refined-hazard-concrete-left", + "needs_correction": false, + "next_direction": "refined-hazard-concrete-right", + "transition_merges_with_tile": "refined-concrete", + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "refined-hazard-concrete" + }, + "mined_sound": { + "filename": "factorio-data/sound/deconstruct-bricks.ogg" + }, + "collision_mask": [ + "ground-tile" + ], + "walking_speed_modifier": 1.5, + "layer": 65, + "decorative_removal_probability": 0.25, + "variants": { + "main": [ + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 1 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 2, + "probability": 0.39 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 4, + "probability": 1 + } + ], + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-inner-corner-mask.png", + "count": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-hazard-concrete-inner-corner-mask.png", + "count": 1, + "scale": 0.5 + } + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-outer-corner-mask.png", + "count": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-hazard-concrete-outer-corner-mask.png", + "count": 1, + "scale": 0.5 + } + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-side-mask.png", + "count": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-hazard-concrete-side-mask.png", + "count": 1, + "scale": 0.5 + } + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-u-mask.png", + "count": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-hazard-concrete-u-mask.png", + "count": 1, + "scale": 0.5 + } + }, + "o_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-o-mask.png", + "count": 1, + "hr_version": { + "picture": "factorio-data/graphics/terrain/concrete/hr-hazard-concrete-o-mask.png", + "count": 1, + "scale": 0.5 + } + }, + "material_background": { + "picture": "factorio-data/graphics/terrain/hazard-concrete-left/refined-hazard-concrete-left.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/hazard-concrete-left/hr-refined-hazard-concrete-left.png", + "count": 8, + "scale": 0.5 + } + } + }, + "walking_sound": [ + { + "filename": "factorio-data/sound/walking/concrete-01.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-02.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-03.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-04.ogg", + "volume": 1.2 + } + ], + "map_color": { + "r": 0.5, + "g": 0.5, + "b": 0 + }, + "ageing": 0, + "vehicle_friction_modifier": 0.8 + }, + "refined-hazard-concrete-right": { + "type": "tile", + "name": "refined-hazard-concrete-right", + "needs_correction": false, + "next_direction": "refined-hazard-concrete-left", + "transition_merges_with_tile": "refined-concrete", + "minable": { + "hardness": 0.2, + "mining_time": 0.5, + "result": "refined-hazard-concrete" + }, + "mined_sound": { + "filename": "factorio-data/sound/deconstruct-bricks.ogg" + }, + "collision_mask": [ + "ground-tile" + ], + "walking_speed_modifier": 1.5, + "layer": 65, + "decorative_removal_probability": 0.25, + "variants": { + "main": [ + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 1 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 2, + "probability": 0.39 + }, + { + "picture": "factorio-data/graphics/terrain/concrete/concrete-dummy.png", + "count": 1, + "size": 4, + "probability": 1 + } + ], + "inner_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-inner-corner-mask.png", + "count": 1 + }, + "outer_corner_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-outer-corner-mask.png", + "count": 1 + }, + "side_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-side-mask.png", + "count": 1 + }, + "u_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-u-mask.png", + "count": 1 + }, + "o_transition_mask": { + "picture": "factorio-data/graphics/terrain/concrete/hazard-concrete-o-mask.png", + "count": 1 + }, + "material_background": { + "picture": "factorio-data/graphics/terrain/hazard-concrete-right/refined-hazard-concrete-right.png", + "count": 8, + "hr_version": { + "picture": "factorio-data/graphics/terrain/hazard-concrete-right/hr-refined-hazard-concrete-right.png", + "count": 8, + "scale": 0.5 + } + } + }, + "walking_sound": [ + { + "filename": "factorio-data/sound/walking/concrete-01.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-02.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-03.ogg", + "volume": 1.2 + }, + { + "filename": "factorio-data/sound/walking/concrete-04.ogg", + "volume": 1.2 + } + ], + "map_color": { + "r": 0.5, + "g": 0.5, + "b": 0 + }, + "ageing": 0, + "vehicle_friction_modifier": 0.8 + } +} \ No newline at end of file diff --git a/src/containers/blueprint.ts b/src/containers/blueprint.ts new file mode 100644 index 00000000..65c7d03e --- /dev/null +++ b/src/containers/blueprint.ts @@ -0,0 +1,342 @@ +import G from '../globals' +import { ZoomPan } from '../zoomPan' +import { WiresContainer } from './wires' +import { UnderlayContainer } from './underlay' +import { EntitySprite } from '../entitySprite' +import { AdjustmentFilter } from '@pixi/filter-adjustment' +import { EntityContainer } from './entity' +import { OverlayContainer } from './overlay' +import { PaintContainer } from './paint' + +export class BlueprintContainer extends PIXI.Container { + + holdingLeftClick: boolean + grid: PIXI.Sprite + wiresContainer: WiresContainer + overlayContainer: OverlayContainer + underlayContainer: UnderlayContainer + entities: PIXI.Container + movingEntityFilter: AdjustmentFilter + entitySprites: PIXI.Container + movementSpeed: number + zoomPan: ZoomPan + holdingRightClick: boolean + lastCursorPos: IPoint + pgOverlay: PIXI.Graphics + hoverContainer: undefined | EntityContainer + movingContainer: undefined | EntityContainer + paintContainer: undefined | PaintContainer + + constructor() { + super() + this.interactive = true + + this.holdingLeftClick = false + this.holdingRightClick = false + this.lastCursorPos = { x: 0, y: 0 } + + this.movementSpeed = 10 + + this.zoomPan = new ZoomPan(this, G.sizeBPContainer, G.positionBPContainer, { + width: G.app.renderer.width, + height: G.app.renderer.height + }, 10) + + this.movingEntityFilter = new AdjustmentFilter({ red: 0.4, blue: 0.4, green: 1 }) + + const ggrid = new PIXI.Graphics() + for (let i = 0, l = G.sizeBPContainer.width; i < l; i += G.cellSize) { + for (let j = 0, l2 = G.sizeBPContainer.height; j < l2; j += G.cellSize) { + if ((i + j) / G.cellSize % 2) { + ggrid.beginFill(0x303030) + } else { + ggrid.beginFill(0x181818) + } + ggrid.drawRect(i, j, G.cellSize, G.cellSize) + ggrid.endFill() + } + } + this.grid = new PIXI.Sprite(G.app.renderer.generateTexture(ggrid)) + this.grid.interactive = false + this.addChild(this.grid) + + this.pgOverlay = new PIXI.Graphics() + this.pgOverlay.alpha = 0.2 + // this.addChild(this.pgOverlay) + + this.underlayContainer = new UnderlayContainer() + this.addChild(this.underlayContainer) + + this.entitySprites = new PIXI.Container() + this.entitySprites.interactive = false + this.entitySprites.interactiveChildren = false + this.addChild(this.entitySprites) + + this.entities = new PIXI.Container() + this.entities.interactive = false + this.entities.interactiveChildren = true + this.addChild(this.entities) + + this.wiresContainer = new WiresContainer() + this.addChild(this.wiresContainer) + + this.overlayContainer = new OverlayContainer() + this.addChild(this.overlayContainer) + + this.on('pointerdown', this.pointerDownEventHandler) + this.on('pointerup', this.pointerUpEventHandler) + this.on('pointerupoutside', this.pointerUpEventHandler) + this.on('pointermove', this.pointerMoveEventHandler) + + document.addEventListener('wheel', e => { + e.preventDefault() + this.zoomPan.setScaleCenter(G.gridCoordsOfCursor.x * 32, G.gridCoordsOfCursor.y * 32) + const z = Math.sign(-e.deltaY) * 0.1 + this.zoomPan.zoomBy(z, z) + this.zoomPan.updateTransform() + this.updateViewportCulling() + }, false) + + G.app.ticker.add(() => { + const WSXOR = G.keyboard.w !== G.keyboard.s + const ADXOR = G.keyboard.a !== G.keyboard.d + if (WSXOR || ADXOR) { + this.zoomPan.translateBy( + ADXOR ? (G.keyboard.a ? this.movementSpeed : -this.movementSpeed) : 0, + WSXOR ? (G.keyboard.w ? this.movementSpeed : -this.movementSpeed) : 0 + ) + this.zoomPan.updateTransform() + + if (this.updateCursorPosition() && (this.movingContainer || this.paintContainer)) { + (this.movingContainer || this.paintContainer).moveTo({ + x: G.gridCoordsOfCursor.x * 32, + y: G.gridCoordsOfCursor.y * 32 + }) + } + + this.updateViewportCulling() + } + }) + + if (G.renderOnly) { + this.interactiveChildren = false + } + } + + initBP() { + // TODO: maybe check for curved rails as well + for (const entity_number of G.bp.rawEntities.keys()) { + const entity = G.bp.entity(entity_number) + if (entity.name === 'straight-rail') { + const x = Math.abs(entity.position.x) + const y = Math.abs(entity.position.y) + G.railMoveOffset = { + x: x % 2 + 1, + y: y % 2 + 1 + } + break + } + } + + // Render Bp + for (const entity_number of G.bp.rawEntities.keys()) { + this.entities.addChild(new EntityContainer(entity_number, false)) + } + + this.sortEntities() + this.wiresContainer.drawWires() + this.updateOverlay() + this.centerViewport() + + if (G.renderOnly) { + this.cacheAsBitmap = false + this.cacheAsBitmap = true + } + } + + clearData() { + const opt = { children: true } + this.underlayContainer.destroy(opt) + this.entitySprites.destroy(opt) + this.entities.destroy(opt) + this.wiresContainer.destroy(opt) + this.overlayContainer.destroy(opt) + + this.removeChildren() + + this.holdingLeftClick = false + this.holdingRightClick = false + this.hoverContainer = undefined + this.movingContainer = undefined + this.paintContainer = undefined + + this.underlayContainer = new UnderlayContainer() + + this.entitySprites = new PIXI.Container() + this.entitySprites.interactive = false + this.entitySprites.interactiveChildren = false + + this.entities = new PIXI.Container() + this.entities.interactive = false + this.entities.interactiveChildren = true + + this.wiresContainer = new WiresContainer() + + this.overlayContainer = new OverlayContainer() + + this.addChild(this.grid, this.underlayContainer, this.entitySprites, this.entities, this.wiresContainer, this.overlayContainer) + + G.currentMouseState = G.mouseStates.NONE + } + + sortEntities() { + (this.entities.children as EntityContainer[]).sort((a, b) => + ((b.hitArea as PIXI.Rectangle).height - (a.hitArea as PIXI.Rectangle).height) + ); + + (this.entitySprites.children as EntitySprite[]).sort((a, b) => { + if (a.isMoving && !b.isMoving) return 1 + if (b.isMoving && !a.isMoving) return -1 + const dZ = a.zIndex - b.zIndex + if (dZ !== 0) return dZ + const dY = (a.y - a.shift.y) - (b.y - b.shift.y) + if (dY !== 0) return dY + const dO = a.zOrder - b.zOrder + if (dO !== 0) return dO + const dX = (a.x - a.shift.x) - (b.x - b.shift.x) + if (dX !== 0) return dX + return a.id - b.id + }) + } + + updateCursorPosition(mousePosition?: IPoint) { + const mousePositionInBP = { + x: Math.abs(this.position.x - (mousePosition ? mousePosition.x : G.app.renderer.plugins.interaction.mouse.global.x)) + / this.zoomPan.getCurrentScale(), + y: Math.abs(this.position.y - (mousePosition ? mousePosition.y : G.app.renderer.plugins.interaction.mouse.global.y)) + / this.zoomPan.getCurrentScale() + } + const newGridCoordsOfCursor = { + x: (mousePositionInBP.x - mousePositionInBP.x % 32) / 32, + y: (mousePositionInBP.y - mousePositionInBP.y % 32) / 32 + } + if (newGridCoordsOfCursor.x !== G.gridCoordsOfCursor.x || newGridCoordsOfCursor.y !== G.gridCoordsOfCursor.y) { + this.lastCursorPos = { ...(mousePosition ? mousePosition : G.app.renderer.plugins.interaction.mouse.global) } + G.gridCoordsOfCursor = newGridCoordsOfCursor + G.toolbarContainer.updateGridPos(G.gridCoordsOfCursor) + return true + } + } + + updateOverlay() { + return + const TEMP = G.bp.entityPositionGrid.getAllPositions() + this.pgOverlay.clear() + for (const t of TEMP) { + this.pgOverlay.beginFill(0x0080FF) + this.pgOverlay.drawRect(t.x * 32, t.y * 32, G.cellSize, G.cellSize) + this.pgOverlay.endFill() + } + } + + centerViewport() { + if (G.bp.rawEntities.size === 0) { + this.zoomPan.setPosition(-G.sizeBPContainer.width / 2, -G.sizeBPContainer.height / 2) + this.zoomPan.updateTransform() + return + } + + const TL = G.bp.topLeft() + const TR = G.bp.topRight() + const BL = G.bp.bottomLeft() + + const W = G.bpArea.width / 2 + const H = G.bpArea.height / 2 + + const hor1 = Math.abs(TL.x - W) + const hor2 = TR.x - W + + const ver1 = Math.abs(TL.y - H) + const ver2 = BL.y - H + + this.zoomPan.centerViewPort({ + x: (hor1 + hor2) * 32, + y: (ver1 + ver2) * 32 + }, { + x: (hor1 - hor2) * 16, + y: (ver1 - ver2) * 16 + }) + this.updateViewportCulling() + } + + updateViewportCulling() { + cullChildren(this.entitySprites.children) + cullChildren(this.overlayContainer.overlay.children) + + function cullChildren(children: PIXI.DisplayObject[]) { + for (const c of children) { + const b = c.getBounds() + c.renderable = + b.x + b.width > G.positionBPContainer.x && + b.y + b.height > G.positionBPContainer.y && + b.x < G.app.renderer.width && + b.y < G.app.renderer.height + } + } + } + + pointerMoveEventHandler(e: PIXI.interaction.InteractionEvent) { + // Update the position here to avoid calling all pointermove eventHandlers with + // G.app.renderer.plugins.interaction.moveWhenInside set to false + const newCursorPos = e.data.getLocalPosition(e.currentTarget) + if (this.movingContainer || this.paintContainer) { + (this.movingContainer || this.paintContainer).moveTo(newCursorPos) + } + + if (G.keyboard.w !== G.keyboard.s || G.keyboard.a !== G.keyboard.d) return + const newGridCoordsOfCursor = { + x: (newCursorPos.x - newCursorPos.x % 32) / 32, + y: (newCursorPos.y - newCursorPos.y % 32) / 32 + } + if (newGridCoordsOfCursor.x !== G.gridCoordsOfCursor.x || newGridCoordsOfCursor.y !== G.gridCoordsOfCursor.y) { + if (this.hoverContainer) { + if (this.holdingRightClick) this.hoverContainer.removeContainer() + if (this.holdingLeftClick && G.keyboard.shift) this.hoverContainer.pasteRecipe() + } + G.gridCoordsOfCursor = newGridCoordsOfCursor + G.toolbarContainer.updateGridPos(G.gridCoordsOfCursor) + } + if (G.currentMouseState === G.mouseStates.PANNING) { + const dX = G.app.renderer.plugins.interaction.mouse.global.x - this.lastCursorPos.x + const dY = G.app.renderer.plugins.interaction.mouse.global.y - this.lastCursorPos.y + this.zoomPan.translateBy(dX, dY) + this.zoomPan.updateTransform() + this.updateViewportCulling() + } + this.lastCursorPos = { ...G.app.renderer.plugins.interaction.mouse.global } + } + + pointerDownEventHandler(e: PIXI.interaction.InteractionEvent) { + if (G.currentMouseState === G.mouseStates.NONE) { + if (e.data.button === 0) { + if (!G.openedGUIWindow && !G.keyboard.shift) { + G.currentMouseState = G.mouseStates.PANNING + } + this.holdingLeftClick = true + } else if (e.data.button === 2) { + this.holdingRightClick = true + } + } + } + + pointerUpEventHandler(e: PIXI.interaction.InteractionEvent) { + if (e.data.button === 0) { + if (G.currentMouseState === G.mouseStates.PANNING) { + G.currentMouseState = G.mouseStates.NONE + } + this.holdingLeftClick = false + } else if (e.data.button === 2) { + this.holdingRightClick = false + } + } +} diff --git a/src/containers/editEntity.ts b/src/containers/editEntity.ts new file mode 100644 index 00000000..6e8de259 --- /dev/null +++ b/src/containers/editEntity.ts @@ -0,0 +1,167 @@ +import factorioData from '../factorio-data/factorioData' +import G from '../globals' +import { InventoryContainer } from './inventory' +import { EntityContainer } from './entity' + +export class EditEntityContainer extends PIXI.Container { + + content: PIXI.Container + itemTooltip: PIXI.Text + iconGutter = 32 + inventoryActiveGroup: PIXI.Sprite + inventoryGroup: Map = new Map() + iWidth = 32 * 12 + iHeight = 32 * 13 + + constructor() { + super() + + this.visible = false + this.interactive = true + + this.setPosition() + window.addEventListener('resize', () => this.setPosition(), false) + + const background = new PIXI.Sprite(PIXI.Texture.WHITE) + background.width = this.iWidth + background.height = this.iHeight + background.tint = 0x3A3A3A + background.alpha = 0.9 + this.addChild(background) + + this.content = new PIXI.Container() + this.addChild(this.content) + } + + setPosition() { + this.position.set( + G.app.renderer.width / 2 - this.iWidth / 2, + G.app.renderer.height / 2 - this.iHeight / 2 + ) + } + + // TODO: Refactor, optimize and make a layout system for this + create(entity_number: number) { + this.content.removeChildren() + const entity = G.bp.entity(entity_number) + + const cc = entity.entityData.crafting_categories + if (cc && !cc.includes('rocket-building') && !cc.includes('smelting')) { + const recipeContainer = new PIXI.Container() + const background = new PIXI.Sprite(PIXI.Texture.WHITE) + background.anchor.set(0.5, 0.5) + background.width = 32 + background.height = 32 + background.tint = 0x9E9E9E + recipeContainer.addChild(background) + if (entity.recipe) recipeContainer.addChild(InventoryContainer.createIcon(factorioData.getItem(entity.recipe))) + recipeContainer.position.set( + this.iWidth / 2 + 16, + this.iHeight / 2 - 18 + ) + recipeContainer.interactive = true + recipeContainer.buttonMode = true + + recipeContainer.on('pointerdown', (e: PIXI.interaction.InteractionEvent) => { + e.stopPropagation() + if (e.data.button === 0) { + G.inventoryContainer.toggle(entity.acceptedRecipes, name => { + G.openedGUIWindow = this + if (entity.recipe !== name) { + EntityContainer.mappings.get(entity_number).changeRecipe(name) + this.create(entity_number) + } + }) + } else if (e.data.button === 2) { + if (entity.recipe) { + EntityContainer.mappings.get(entity_number).changeRecipe(undefined) + this.create(entity_number) + } + } + }) + this.content.addChild(recipeContainer) + + const recipeText = new PIXI.Text('Recipe ') + recipeText.anchor.set(1, 0.5) + recipeText.position.set( + this.iWidth / 2, + this.iHeight / 2 - 18 + ) + recipeText.style.fill = 0xFFFFFF + this.content.addChild(recipeText) + } + + if (entity.entityData.module_specification) { + const moduleContainer = new PIXI.Container() + moduleContainer.position.set( + this.iWidth / 2 + 16, + this.iHeight / 2 + 18 + ) + const slots = entity.entityData.module_specification.module_slots + const modules = entity.modulesList + for (let i = 0; i < slots; i++) { + const slot = new PIXI.Container() + slot.position.set(i * 36, 0) + slot.interactive = true + slot.buttonMode = true + slot.on('pointerdown', (e: PIXI.interaction.InteractionEvent) => { + e.stopPropagation() + if (e.data.button === 0) { + G.inventoryContainer.toggle(entity.acceptedModules, name => { + G.openedGUIWindow = this + if (modules && modules[i] !== name) { + modules[modules.length] = name + entity.modulesList = modules + } else { + entity.modulesList = [name] + } + EntityContainer.mappings.get(entity_number).redrawEntityInfo() + this.create(entity_number) + }) + } else if (e.data.button === 2) { + if (modules && modules[i]) { + modules.splice(i, 1) + entity.modulesList = modules + EntityContainer.mappings.get(entity_number).redrawEntityInfo() + this.create(entity_number) + } + } + }) + + const background = new PIXI.Sprite(PIXI.Texture.WHITE) + background.anchor.set(0.5, 0.5) + background.width = 32 + background.height = 32 + background.tint = 0x9E9E9E + slot.addChild(background) + + if (modules && modules[i]) slot.addChild(InventoryContainer.createIcon(factorioData.getItem(modules[i]))) + + moduleContainer.addChild(slot) + } + this.content.addChild(moduleContainer) + + const recipeText = new PIXI.Text('Modules ') + recipeText.anchor.set(1, 0.5) + recipeText.position.set( + this.iWidth / 2, + this.iHeight / 2 + 18 + ) + recipeText.style.fill = 0xFFFFFF + this.content.addChild(recipeText) + } + + if (this.content.children.length !== 0) { + this.visible = true + G.openedGUIWindow = this + } + } + + close() { + if (this.visible && G.openedGUIWindow !== this) { + G.openedGUIWindow.close() + } + this.visible = false + G.openedGUIWindow = undefined + } +} diff --git a/src/containers/entity.ts b/src/containers/entity.ts new file mode 100644 index 00000000..7e55d8f2 --- /dev/null +++ b/src/containers/entity.ts @@ -0,0 +1,427 @@ +import G from '../globals' +import factorioData from '../factorio-data/factorioData' +import { updateGroups } from '../updateGroups' +import { isNumber } from 'util' +import { EntitySprite } from '../entitySprite' +import { UnderlayContainer } from './underlay' + +export class EntityContainer extends PIXI.Container { + static mappings: Map = new Map() + + static getGridPosition(containerPosition: IPoint) { + return { + x: Math.round(containerPosition.x / 32 * 10) / 10, + y: Math.round(containerPosition.y / 32 * 10) / 10 + } + } + + static getPositionFromData(currentPos: IPoint, size: IPoint) { + const res = { x: 0, y: 0 } + if (size.x % 2 === 0) { + const npx = currentPos.x - currentPos.x % 16 + res.x = npx + (npx % 32 === 0 ? 0 : 16) + } else { + res.x = currentPos.x - currentPos.x % 32 + 16 + } + if (size.y % 2 === 0) { + const npy = currentPos.y - currentPos.y % 16 + res.y = npy + (npy % 32 === 0 ? 0 : 16) + } else { + res.y = currentPos.y - currentPos.y % 32 + 16 + } + return res + } + + static isContainerOutOfBpArea(newPos: IPoint, size: IPoint) { + return newPos.x - size.x / 2 < 0 || + newPos.y - size.y / 2 < 0 || + newPos.x + size.x / 2 > G.bpArea.width || + newPos.y + size.y / 2 > G.bpArea.height + } + + static getParts(entity: any, hr: boolean, ignore_connections?: boolean): EntitySprite[] { + const anims = factorioData.getSpriteData(entity, hr, ignore_connections ? undefined : G.bp) + + // const icon = new PIXI.Sprite(G.iconSprites['icon:' + factorioData.getEntity(entity.name).icon.split(':')[1]]) + // icon.x -= 16 + // icon.y -= 16 + // return [icon] + + const parts: EntitySprite[] = [] + for (let i = 0, l = anims.length; i < l; i++) { + const img = new EntitySprite(anims[i]) + + if (entity.name === 'straight-rail' || entity.name === 'curved-rail') { + if (i < 2) { + img.zIndex = -10 + } else if (i < 4) { + img.zIndex = -9 + } else { + img.zIndex = -8 + } + } else if (entity.type === 'transport-belt' || entity.name === 'heat-pipe') { + img.zIndex = i === 0 ? -7 : -6 + } else { + img.zIndex = 0 + } + img.zOrder = i + + parts.push(img) + } + + return parts + } + + entity_number: number + areaVisualization: PIXI.Sprite | PIXI.Sprite[] | undefined + entityInfo: PIXI.Container + entitySprites: EntitySprite[] + + constructor(entity_number: number, sort = true) { + super() + this.entity_number = entity_number + + EntityContainer.mappings.set(entity_number, this) + + const entity = G.bp.entity(entity_number) + this.position.set( + entity.position.x * 32, + entity.position.y * 32 + ) + + this.interactive = true + this.interactiveChildren = false + this.buttonMode = true + + this.entitySprites = [] + + this.areaVisualization = G.BPC.underlayContainer.createNewArea(entity.name, this.position) + this.entityInfo = G.BPC.overlayContainer.createEntityInfo(this.entity_number, this.position) + + this.on('pointerdown', this.pointerDownEventHandler) + // this.on('pointermove', this.pointerMoveEventHandler) + this.on('pointerover', this.pointerOverEventHandler) + this.on('pointerout', this.pointerOutEventHandler) + + this.redraw(false, sort) + } + + destroy() { + if (G.editEntityContainer.visible) G.editEntityContainer.close() + + for (const s of this.entitySprites) s.destroy() + + super.destroy() + EntityContainer.mappings.delete(this.entity_number) + + UnderlayContainer.modifyVisualizationArea(this.areaVisualization, s => s.destroy()) + G.BPC.overlayContainer.hideCursorBox() + G.BPC.overlayContainer.hideUndergroundLines() + + if (this.entityInfo) this.entityInfo.destroy() + } + + checkBuildable() { + const position = EntityContainer.getGridPosition(this.position) + const entity = G.bp.entity(this.entity_number) + if (!EntityContainer.isContainerOutOfBpArea(position, entity.size) && + G.bp.entityPositionGrid.checkNoOverlap(entity.name, entity.direction, position) + ) { + G.BPC.movingEntityFilter.red = 0.4 + G.BPC.movingEntityFilter.green = 1 + } else { + G.BPC.movingEntityFilter.red = 1 + G.BPC.movingEntityFilter.green = 0.4 + } + } + + rotate() { + const offset = { + x: (this.x / 16 - G.gridCoords16.x) === 0 ? 0.5 : -0.5, + y: (this.y / 16 - G.gridCoords16.y) === 0 ? 0.5 : -0.5 + } + const entity = G.bp.entity(this.entity_number) + let otherEntity + if (G.currentMouseState === G.mouseStates.NONE && entity.type === 'underground-belt') { + otherEntity = G.bp.entityPositionGrid.findEntityWithSameNameAndDirection( + entity.name, entity.direction, entity.position, + entity.directionType === 'input' ? entity.direction : (entity.direction + 4) % 8, + entity.entityData.max_distance + ) + if (isNumber(otherEntity)) { + const oe = G.bp.entity(otherEntity) + if (oe.directionType === entity.directionType) { + otherEntity = undefined + } else { + oe.rotate(G.currentMouseState === G.mouseStates.NONE, { x: 0, y: 0 }, false) + EntityContainer.mappings.get(otherEntity).redraw() + } + } + } + + if (G.bp.entity(this.entity_number).rotate(G.currentMouseState === G.mouseStates.NONE, offset, true, otherEntity)) { + const entity = G.bp.entity(this.entity_number) + if (G.currentMouseState === G.mouseStates.MOVING && entity.size.x !== entity.size.y) { + this.x += offset.x * 32 + this.y += offset.y * 32 + const pos = EntityContainer.getPositionFromData(this.position, entity.size) + this.position.set(pos.x, pos.y) + + G.BPC.overlayContainer.updateCursorBoxPosition(this.position) + } + + this.redraw(G.currentMouseState === G.mouseStates.MOVING) + if (G.currentMouseState === G.mouseStates.NONE) this.redrawSurroundingEntities() + + G.BPC.overlayContainer.updateCursorBoxSize(entity.size.x, entity.size.y) + this.updateUndergroundLines() + + if (G.BPC.movingContainer === this) this.checkBuildable() + + this.redrawEntityInfo() + G.BPC.wiresContainer.update(this.entity_number) + } + } + + updateUndergroundLines() { + const entity = G.bp.entity(this.entity_number) + G.BPC.overlayContainer.updateUndergroundLines( + entity.name, + { x: this.position.x / 32, y: this.position.y / 32 }, + entity.direction, + entity.directionType === 'output' || entity.name === 'pipe-to-ground' ? (entity.direction + 4) % 8 : entity.direction + ) + } + + pointerDownEventHandler(e: PIXI.interaction.InteractionEvent) { + console.log(G.bp.entity(this.entity_number).toJS()) + if (e.data.button === 0) { + if (G.currentMouseState === G.mouseStates.NONE && !G.openedGUIWindow && !G.keyboard.shift) { + G.editEntityContainer.create(this.entity_number) + } + if (G.keyboard.shift) this.pasteRecipe() + } else if (e.data.button === 1) { + if (this !== G.BPC.movingContainer && G.currentMouseState === G.mouseStates.NONE) { + G.bp.entityPositionGrid.removeTileData(this.entity_number, false) + this.redraw(true) + this.redrawSurroundingEntities() + G.BPC.movingContainer = this + G.currentMouseState = G.mouseStates.MOVING + + // Move container to cursor + const newPosition = e.data.getLocalPosition(this.parent) + const pos = EntityContainer.getPositionFromData(newPosition, G.bp.entity(this.entity_number).size) + + if (this.position.x !== pos.x || this.position.y !== pos.y) { + this.position.set(pos.x, pos.y) + this.updateVisualStuff() + } + + G.gridCoords16 = { + x: (newPosition.x - newPosition.x % 16) / 16, + y: (newPosition.y - newPosition.y % 16) / 16 + } + + for (const s of this.entitySprites) s.moving = true + G.BPC.sortEntities() + G.BPC.underlayContainer.activateRelatedAreas(G.bp.entity(this.entity_number).name) + + G.BPC.updateOverlay() + return + } + if (this === G.BPC.movingContainer && G.currentMouseState === G.mouseStates.MOVING) { + this.placeEntityContainerDown() + } + } else if (e.data.button === 2 && G.currentMouseState === G.mouseStates.NONE) { + if (G.keyboard.shift) { + G.copyData.recipe = G.bp.entity(this.entity_number).recipe + } else { + G.BPC.holdingRightClick = true + this.removeContainer() + } + } + } + + changeRecipe(recipeName: string) { + const entity = G.bp.entity(this.entity_number) + entity.recipe = recipeName + this.redrawEntityInfo() + if (entity.name === 'chemical-plant' || entity.assemblerCraftsWithFluid || G.bp.entity(this.entity_number).assemblerCraftsWithFluid) { + this.redraw() + this.redrawSurroundingEntities() + } + } + + pasteRecipe() { + const entity = G.bp.entity(this.entity_number) + if (!entity.entityData.crafting_categories) return + const RECIPE = G.copyData.recipe && entity.acceptedRecipes.includes(G.copyData.recipe) ? G.copyData.recipe : undefined + if (entity.recipe !== RECIPE) this.changeRecipe(RECIPE) + } + + redrawEntityInfo() { + const entity = G.bp.entity(this.entity_number) + if (entity.entityData.module_specification || entity.type === 'splitter' || + entity.entityData.crafting_categories || entity.type === 'mining-drill' || + entity.type === 'boiler' || entity.type === 'generator' || + entity.name === 'pump' || entity.name === 'offshore-pump' || + entity.name === 'arithmetic-combinator' || entity.name === 'decider-combinator' + ) { + if (this.entityInfo) this.entityInfo.destroy() + this.entityInfo = G.BPC.overlayContainer.createEntityInfo(this.entity_number, this.position) + } + } + + updateVisualStuff() { + for (const s of this.entitySprites) s.setPosition(this.position) + + UnderlayContainer.modifyVisualizationArea(this.areaVisualization, s => s.position.copy(this.position)) + + if (this.entityInfo) this.entityInfo.position = this.position + + G.BPC.overlayContainer.updateCursorBoxPosition(this.position) + G.BPC.overlayContainer.updateUndergroundLinesPosition(this.position) + this.updateUndergroundLines() + + G.BPC.wiresContainer.update(this.entity_number) + + this.checkBuildable() + } + + removeContainer() { + G.BPC.wiresContainer.remove(this.entity_number) + G.bp.entityPositionGrid.removeTileData(this.entity_number, false) + this.redrawSurroundingEntities() + G.bp.removeEntity(this.entity_number, + entity_number => EntityContainer.mappings.get(entity_number).redraw() + ) + G.BPC.hoverContainer = undefined + + G.BPC.updateOverlay() + this.destroy() + } + + // pointerMoveEventHandler(e: PIXI.interaction.InteractionEvent) { + // this.moveTo(e.data.getLocalPosition(this.parent)) + // } + + moveTo(newPosition: IPoint) { + if (G.BPC.movingContainer === this && G.currentMouseState === G.mouseStates.MOVING) { + const newCursorPos = { + x: (newPosition.x - newPosition.x % 16) / 16, + y: (newPosition.y - newPosition.y % 16) / 16 + } + if (newCursorPos.x !== G.gridCoords16.x || newCursorPos.y !== G.gridCoords16.y) { + const entity = G.bp.entity(this.entity_number) + switch (entity.name) { + case 'straight-rail': + case 'curved-rail': + case 'train-stop': + this.x = newPosition.x - (newPosition.x + G.railMoveOffset.x * 32) % 64 + 32 + this.y = newPosition.y - (newPosition.y + G.railMoveOffset.y * 32) % 64 + 32 + break + default: + const pos = EntityContainer.getPositionFromData(newPosition, entity.size) + this.position.set(pos.x, pos.y) + } + + this.updateVisualStuff() + + G.gridCoords16 = newCursorPos + } + } + } + + pointerOverEventHandler() { + // Pointer over is sometimes getting called before pointer out + if (G.BPC.hoverContainer && G.BPC.hoverContainer !== this) G.BPC.hoverContainer.pointerOutEventHandler() + if (!G.BPC.movingContainer && !G.BPC.paintContainer) { + G.BPC.hoverContainer = this + + const entity = G.bp.entity(this.entity_number) + G.BPC.overlayContainer.updateCursorBoxSize(entity.size.x, entity.size.y) + G.BPC.overlayContainer.updateCursorBoxPosition(this.position) + G.BPC.overlayContainer.showCursorBox() + G.BPC.overlayContainer.updateUndergroundLinesPosition(this.position) + this.updateUndergroundLines() + + UnderlayContainer.modifyVisualizationArea(this.areaVisualization, s => s.visible = true) + } + } + + pointerOutEventHandler() { + if (!G.BPC.movingContainer && !G.BPC.paintContainer && G.BPC.hoverContainer === this) { + G.BPC.hoverContainer = undefined + G.BPC.overlayContainer.hideCursorBox() + G.BPC.overlayContainer.hideUndergroundLines() + UnderlayContainer.modifyVisualizationArea(this.areaVisualization, s => s.visible = false) + } + } + + placeEntityContainerDown() { + const entity = G.bp.entity(this.entity_number) + const position = EntityContainer.getGridPosition(this.position) + if (EntityContainer.isContainerOutOfBpArea(position, entity.size)) return + if (G.currentMouseState === G.mouseStates.MOVING && entity.move(position)) { + G.BPC.movingContainer = undefined + G.currentMouseState = G.mouseStates.NONE + + for (const s of this.entitySprites) s.moving = false + + this.redraw(false) + this.redrawSurroundingEntities() + + G.BPC.underlayContainer.deactivateActiveAreas() + + G.BPC.updateOverlay() + } + } + + redrawSurroundingEntities() { + const entity = G.bp.entity(this.entity_number) + const redrawnEntities: number[] = [] + for (const updateGroup of updateGroups) { + const j = updateGroup.is.indexOf(entity.name) + if (j !== -1) { + if (entity.name === 'straight-rail') { + G.bp.entityPositionGrid.foreachOverlap(entity.getArea(), (entnr: number) => { + const ent = G.bp.entity(entnr) + if (ent.name === 'gate' && !redrawnEntities.includes(entnr)) { + EntityContainer.mappings.get(ent.entity_number).redraw() + redrawnEntities.push(entnr) + } + }) + } else { + G.bp.entityPositionGrid.getSurroundingEntities(entity.getArea(), (entnr: number) => { + const ent = G.bp.entity(entnr) + if (updateGroup.updates.includes(ent.name) && !redrawnEntities.includes(entnr)) { + EntityContainer.mappings.get(ent.entity_number).redraw() + redrawnEntities.push(entnr) + } + }) + } + } + } + } + + redraw(ignore_connections?: boolean, sort = true) { + const entity = G.bp.entity(this.entity_number) + + for (const s of this.entitySprites) s.destroy() + this.entitySprites = [] + for (const s of EntityContainer.getParts(entity, true, ignore_connections)) { + if (G.BPC.movingContainer === this) s.moving = true + s.setPosition(this.position) + this.entitySprites.push(s) + G.BPC.entitySprites.addChild(s) + } + if (sort) G.BPC.sortEntities() + + this.hitArea = new PIXI.Rectangle( + -entity.size.x * 16, + -entity.size.y * 16, + entity.size.x * 32, + entity.size.y * 32 + ) + } +} diff --git a/src/containers/info.ts b/src/containers/info.ts new file mode 100644 index 00000000..271a13a6 --- /dev/null +++ b/src/containers/info.ts @@ -0,0 +1,135 @@ +import G from '../globals' + +export class InfoContainer extends PIXI.Container { + + iWidth = 32 * 18 + iHeight = 32 * 24 + + constructor() { + super() + + this.visible = false + this.interactive = false + this.interactiveChildren = false + + this.setPosition() + window.addEventListener('resize', () => this.setPosition(), false) + + const background = new PIXI.Sprite(PIXI.Texture.WHITE) + background.width = this.iWidth + background.height = this.iHeight + background.tint = 0x3A3A3A + background.alpha = 0.9 + this.addChild(background) + + const text = new PIXI.Text('KEYBINDS') + text.position.set(this.iWidth / 2, 4) + text.style.fontSize = 24 + text.style.fontWeight = 'bold' + text.style.fill = 0xFFFFFF + text.anchor.set(0.5, 0) + this.addChild(text) + + this.writeColumn([ + 'While hovering over an entity', + '', + '', + '', + '', + '', + 'In editor window', + '', + '', + 'Others' + ], { x: this.iWidth / 2, y: 40 }, 0.5, true) + + this.writeColumn([ + '', + 'left click', + 'middle click', + 'right click', + 'R', + 'Q', + '', + 'left click recipe/module', + 'right click recipe/module', + '', + 'ctrl + Z/Y', + 'ctrl + C/V', + 'ctrl + S', + 'shift + N', + 'shift + right/left click', + 'alt', + 'esc', + 'E', + 'F', + 'W/A/S/D', + 'click + drag in blueprint area', + 'mouse wheel' + ], { x: this.iWidth / 2 - 4, y: 40 }, 1) + + this.writeColumn([ + '', + 'open editor window', + 'move', + 'remove', + 'rotate', + 'pippete tool/clear cursor', + '', + 'choose', + 'remove', + '', + 'undo/redo changes', + 'copy/paste bpstring', + 'generate bp picture', + 'clear bp', + 'copy/paste recipe', + 'toggle overlay', + 'close active window', + 'open inventory or close active window', + 'focuses viewport on blueprint', + 'move', + 'move', + 'zoom in/out' + ], { x: this.iWidth / 2 + 4, y: 40 }) + + this.writeColumn([ + 'You can load a blueprint from a bp string, pastebin, hastebin, gist, gitlab,', + ' factorioprints, google docs or text webpages.', + 'You can also add ?source= to the url', + ' to make sharing easier.', + 'Adding renderOnly as an url query parameter will only render the bp.', + 'I don\'t show network or parsing errors in the app yet, you can open the console', + ' (F12) to check if something is wrong.', + 'Entities with placeable-off-grid flag will not be added to the positionGrid', + ' (ex. landmine).', + '', + 'Factorio assets come directly from the Factorio game files, and are subject to', + ' all copyright policies associated with the game.' + ], { x: 4, y: 500 }) + } + + writeColumn(data: string[], offset: IPoint, anchorX = 0, bold = false) { + let nextY = 0 + for (const str of data) { + const text = new PIXI.Text(str) + text.position.set(offset.x, nextY++ * 20 + offset.y) + text.style.fontSize = 16 + if (bold) text.style.fontWeight = 'bold' + text.style.fill = 0xFFFFFF + text.anchor.set(anchorX, 0) + this.addChild(text) + } + } + + setPosition() { + this.position.set( + G.app.renderer.width / 2 - this.iWidth / 2, + G.app.renderer.height / 2 - this.iHeight / 2 + ) + } + + toggle() { + this.visible = !this.visible + } +} diff --git a/src/containers/inventory.ts b/src/containers/inventory.ts new file mode 100644 index 00000000..7b767471 --- /dev/null +++ b/src/containers/inventory.ts @@ -0,0 +1,248 @@ +import inventoryBundle from '../bundles/inventoryBundle.json' +import factorioData from '../factorio-data/factorioData' +import { AdjustmentFilter } from '@pixi/filter-adjustment' +import util from '../util' +import G from '../globals' +import { PaintContainer } from './paint' +import { isArray } from 'util' + +export class InventoryContainer extends PIXI.Container { + + static createIcon(item: any) { + if (item.icon) { + const icon = PIXI.Sprite.fromFrame(item.icon) + icon.anchor.set(0.5, 0.5) + return icon + } + if (item.icons) { + const img = new PIXI.Container() + for (const icon of item.icons) { + const sprite = PIXI.Sprite.fromFrame(icon.icon) + if (icon.scale) sprite.scale.set(icon.scale, icon.scale) + if (icon.shift) sprite.position.set(icon.shift[0], icon.shift[1]) + if (icon.tint) { + const t = icon.tint + sprite.filters = [new AdjustmentFilter({ + red: t.r, + green: t.g, + blue: t.b, + alpha: t.a + })] + } + sprite.anchor.set(0.5, 0.5) + img.addChild(sprite) + } + return img + } + } + + recipeVisualization: PIXI.Container + inventoryContents: PIXI.Container + itemTooltip: PIXI.Text + iconGutter = 36 + inventoryActiveGroup: PIXI.Sprite + inventoryGroup: Map = new Map() + iWidth = 32 * 12 + iHeight = 32 * 13 + + constructor() { + super() + + this.visible = false + this.interactive = true + + this.setPosition() + window.addEventListener('resize', () => this.setPosition(), false) + + const background = new PIXI.Sprite(PIXI.Texture.WHITE) + background.width = this.iWidth + background.height = this.iHeight + background.tint = 0x3A3A3A + background.alpha = 0.9 + this.addChild(background) + + this.inventoryContents = new PIXI.Container() + this.addChild(this.inventoryContents) + + this.itemTooltip = new PIXI.Text('') + this.itemTooltip.style.fill = 0xFFFFFF + this.itemTooltip.y = 352 + this.addChild(this.itemTooltip) + + this.recipeVisualization = new PIXI.Container() + this.recipeVisualization.position.set(16, 384 + 16) + this.addChild(this.recipeVisualization) + } + + setPosition() { + this.position.set( + G.app.renderer.width / 2 - this.iWidth / 2, + G.app.renderer.height / 2 - this.iHeight / 2 + ) + } + + create(filteredItems?: string[], cb?: (name: string) => void) { + this.itemTooltip.text = '' + this.recipeVisualization.visible = false + this.inventoryContents.removeChildren() + + let nextI = 0 + let groupHasItem = false + for (let i = 0, l = inventoryBundle.length; i < l; i++) { + + const grObj = new PIXI.Container() + let nextK = 0 + let nextJ = 0 + let subgroupHasItem = false + for (const subgroup of inventoryBundle[i].subgroups) { + for (const item of subgroup.items) { + const placeResult = factorioData.getItem(item.name).place_result + if ((!filteredItems && placeResult && factorioData.getEntity(placeResult)) || + filteredItems && filteredItems.includes(item.name) + ) { + const img = InventoryContainer.createIcon(item) + + if (nextK > 9) { + nextJ++ + nextK = 0 + } + + img.x = nextK * this.iconGutter + 16 + img.y = 64 + nextJ * this.iconGutter + 16 + img.interactive = true + img.buttonMode = true + + if (filteredItems && filteredItems.includes(item.name)) { + img.on('pointerdown', (e: PIXI.interaction.InteractionEvent) => { + if (e.data.button === 0) { + cb(item.name) + this.visible = false + } + }) + } else { + img.on('pointerdown', (e: PIXI.interaction.InteractionEvent) => { + if (e.data.button === 0) { + G.currentMouseState = G.mouseStates.PAINTING + + const newPosition = e.data.getLocalPosition(G.BPC) + const size = util.switchSizeBasedOnDirection(factorioData.getEntity(placeResult).size, 0) + G.BPC.paintContainer = new PaintContainer(placeResult, 0, { + x: newPosition.x - newPosition.x % 32 + (size.x % 2 * 16), + y: newPosition.y - newPosition.y % 32 + (size.y % 2 * 16) + }) + G.BPC.addChild(G.BPC.paintContainer) + this.visible = false + } + }) + } + img.on('pointerover', () => { + this.itemTooltip.text = item.name.split('-').map((s: any) => s.charAt(0).toUpperCase() + s.slice(1)).join(' ') + this.createRecipeVisualization(item.name) + }) + img.on('pointerout', () => { + this.itemTooltip.text = '' + this.recipeVisualization.visible = false + }) + + grObj.addChild(img) + groupHasItem = true + subgroupHasItem = true + nextK++ + } + } + if (subgroupHasItem) nextJ++ + subgroupHasItem = false + nextK = 0 + } + + if (groupHasItem) { + const img = PIXI.Sprite.fromFrame(inventoryBundle[i].icon) + img.x = nextI * 64 + img.y = 0 + img.interactive = true + img.buttonMode = true + img.on('pointerdown', (e: PIXI.interaction.InteractionEvent) => { + if (e.data.button === 0) { + if (img !== this.inventoryActiveGroup) { + this.inventoryGroup.get(this.inventoryActiveGroup).visible = false + this.inventoryActiveGroup = img + this.inventoryGroup.get(img).visible = true + } + } + }) + + if (nextI === 0) this.inventoryActiveGroup = img + else grObj.visible = false + + this.inventoryGroup.set(img, grObj) + this.inventoryContents.addChild(img, grObj) + + nextI++ + groupHasItem = false + } + } + } + + toggle(filteredItems?: string[], cb?: (name: string) => void) { + if (!this.visible) { + this.create(filteredItems, cb) + this.visible = true + G.openedGUIWindow = this + } else { + this.close() + } + } + + close() { + this.visible = false + G.openedGUIWindow = G.editEntityContainer.visible ? G.editEntityContainer : undefined + } + + createRecipeVisualization(recipeName: string) { + const RECIPE = factorioData.getRecipe(recipeName) + if (!RECIPE) return + this.recipeVisualization.removeChildren() + + const recipe = RECIPE.normal ? RECIPE.normal : RECIPE + // TODO: maybe normalize the recipeBundle trough script and not here at runtime + const time = (recipe.energy_required !== undefined ? recipe.energy_required : RECIPE.energy_required) || 0.5 + const ingredients = recipe.ingredients.map((o: any) => isArray(o) ? o : [o.name, o.amount]) + const results = recipe.result ? [[recipe.result, recipe.result_count || 1]] : + recipe.results.map((o: any) => [o.name, o.probability ? o.probability * o.amount : o.amount]) + + let nextX = 0 + for (const i of ingredients) { + const s = InventoryContainer.createIcon(factorioData.getItem(i[0])) + s.x = nextX * 36 + this.recipeVisualization.addChild(s, createAmountText(i[1])) + nextX++ + } + + const text = new PIXI.Text(`=${time}s>`) + text.style.fontSize = 13 + text.style.fontWeight = 'bold' + text.style.fill = 0xFFFFFF + text.anchor.set(0.5, 0.5) + text.x = nextX++ * 36 + this.recipeVisualization.addChild(text) + + for (const r of results) { + const s = InventoryContainer.createIcon(factorioData.getItem(r[0])) + s.x = nextX * 36 + this.recipeVisualization.addChild(s, createAmountText(r[1])) + nextX++ + } + + function createAmountText(amount: string) { + const text = new PIXI.Text(amount) + text.style.fontSize = 13 + text.style.fontWeight = 'bold' + text.style.fill = 0xFFFFFF + text.anchor.set(1, 1) + text.position.set(nextX * 36 + 16, 16) + return text + } + + this.recipeVisualization.visible = true + } +} diff --git a/src/containers/overlay.ts b/src/containers/overlay.ts new file mode 100644 index 00000000..cc73606a --- /dev/null +++ b/src/containers/overlay.ts @@ -0,0 +1,387 @@ +import factorioData from '../factorio-data/factorioData' +import { InventoryContainer } from './inventory' +import G from '../globals' +import util from '../util' + +export class OverlayContainer extends PIXI.Container { + + undergroundLines: PIXI.Container + cursorBox: PIXI.Container + overlay: PIXI.Container + + constructor() { + super() + + this.interactive = false + this.interactiveChildren = false + + this.overlay = new PIXI.Container() + + this.cursorBox = new PIXI.Container() + this.cursorBox.scale.set(0.5, 0.5) + this.cursorBox.visible = false + + this.undergroundLines = new PIXI.Container() + + this.addChild(this.overlay, this.cursorBox, this.undergroundLines) + } + + createEntityInfo(entity_number: number, position: IPoint) { + const entity = G.bp.entity(entity_number) + const entityInfo = new PIXI.Container() + + if (entity.recipe && entity.recipe !== 'rocket-part') { + const recipeInfo = new PIXI.Container() + createIconWithBackground(recipeInfo, entity.recipe) + const S = entity.name === 'oil-refinery' ? 1.5 : 0.9 + recipeInfo.scale.set(S, S) + recipeInfo.position.set(0, -10) + entityInfo.addChild(recipeInfo) + + const fluidIcons = new PIXI.Container() + const recipeData = factorioData.getRecipe(entity.recipe) + const rD = recipeData.normal ? recipeData.normal : recipeData + switch (recipeData.category) { + case 'oil-processing': + case 'chemistry': + const inputPositions: IPoint[] = [] + const outputPositions: IPoint[] = [] + for (const fb of entity.entityData.fluid_boxes) { + (fb.production_type === 'input' ? inputPositions : outputPositions).push({ + x: fb.pipe_connections[0].position[0], + y: fb.pipe_connections[0].position[1] + }) + } + function createIconsForType(type: string) { + const iconNames: string[] = [] + for (const io of type === 'input' ? rD.ingredients : rD.results) { + if (io.type === 'fluid') { + iconNames.push(io.name) + } + } + if (iconNames.length !== 0) { + const positions = type === 'input' ? inputPositions : outputPositions + for (let i = 0; i < positions.length; i++) { + const position = util.transformConnectionPosition(positions[i], entity.direction) + createIconWithBackground( + fluidIcons, + i > iconNames.length - 1 ? iconNames[0] : iconNames[i], + { x: position.x * 64, y: position.y * 64 } + ) + } + } + } + createIconsForType('input') + if (rD.results) createIconsForType('output') + break + case 'crafting-with-fluid': + function createIconForType(type: string) { + for (const io of type === 'input' ? rD.ingredients : rD.results) { + if (io.type === 'fluid') { + const position = util.rotatePointBasedOnDir(entity.entityData.fluid_boxes.find( + (fb: any) => fb.production_type === type).pipe_connections[0].position, + entity.direction + ) + createIconWithBackground( + fluidIcons, + io.name, + { x: position.x * 32, y: position.y * 32 } + ) + return true + } + } + } + createIconForType(entity.assemblerPipeDirection) + } + fluidIcons.scale.set(0.5, 0.5) + if (fluidIcons.children.length !== 0) entityInfo.addChild(fluidIcons) + } + + if (entity.modules) { + const moduleInfo = new PIXI.Container() + const shift = entity.entityData.module_specification.module_info_icon_shift + const mL = entity.modulesList + for (let i = 0; i < mL.length; i++) { + createIconWithBackground(moduleInfo, mL[i], { x: i * 32, y: 0 }) + } + moduleInfo.scale.set(0.5, 0.5) + moduleInfo.position.set((shift ? shift[0] : 0) * 32 - mL.length * 8 + 8, (shift ? shift[1] : 0.75) * 32) + entityInfo.addChild(moduleInfo) + } + + const filters = entity.inserterFilters || entity.logisticChestFilters || entity.constantCombinatorFilters + if (filters) { + const filterInfo = new PIXI.Container() + for (let i = 0; i < filters.length; i++) { + if (i === 4) break + createIconWithBackground( + filterInfo, + filters[i].name || filters[i].signal.name, + { x: i % 2 * 32 - (filters.length !== 1 ? 16 : 0), y: filters.length < 3 ? 0 : (i < 2 ? -16 : 16)} + ) + } + let S = 0.5 + if (entity.inserterFilters && filters.length !== 1) S = 0.4 + if (entity.logisticChestFilters && filters.length === 1) S = 0.6 + filterInfo.scale.set(S, S) + entityInfo.addChild(filterInfo) + } + + const combinatorConditions = entity.deciderCombinatorConditions || entity.arithmeticCombinatorConditions + if (combinatorConditions) { + const filterInfo = new PIXI.Container() + const cFS = combinatorConditions.first_signal + const cSS = combinatorConditions.second_signal + const cOS = combinatorConditions.output_signal + if (cFS) createIconWithBackground(filterInfo, cFS.name, { x: cSS ? -16 : 0, y: -16 }) + if (cSS) createIconWithBackground(filterInfo, cSS.name, { x: 16, y: -16 }) + if (cOS) createIconWithBackground(filterInfo, cOS.name, { x: 0, y: 16 }) + filterInfo.scale.set(0.5, 0.5) + if (filterInfo.children.length !== 0) entityInfo.addChild(filterInfo) + } + + if (entity.type === 'boiler' || entity.type === 'generator') { + const filteredFluidInputs = new PIXI.Container() + function generateIconsForFluidBox(fluidBox: any) { + for (const c of fluidBox.pipe_connections) { + const position = util.transformConnectionPosition({ x: c.position[0], y: c.position[1] }, entity.direction) + createIconWithBackground( + filteredFluidInputs, + fluidBox.filter, + { x: position.x * 64, y: position.y * 64 } + ) + } + } + generateIconsForFluidBox(entity.entityData.fluid_box) + if (entity.entityData.output_fluid_box) generateIconsForFluidBox(entity.entityData.output_fluid_box) + filteredFluidInputs.scale.set(0.5, 0.5) + entityInfo.addChild(filteredFluidInputs) + } + + if (entity.splitterInputPriority || entity.splitterOutputPriority) { + const filterInfo = new PIXI.Container() + if (entity.splitterFilter) { + createIconWithBackground( + filterInfo, + entity.splitterFilter, + util.rotatePointBasedOnDir({ x: entity.splitterOutputPriority === 'right' ? 32 : -32, y: 0 }, entity.direction) + ) + } else if (entity.splitterOutputPriority) createArrowForDirection(entity.splitterOutputPriority, -16) + if (entity.splitterInputPriority) createArrowForDirection(entity.splitterInputPriority, 16) + + function createArrowForDirection(direction: string, offsetY: number) { + const arrow = createArrow(util.rotatePointBasedOnDir({ x: direction === 'right' ? 32 : -32, y: offsetY }, entity.direction)) + arrow.scale.set(0.75, 0.75) + arrow.rotation = entity.direction * Math.PI * 0.25 + filterInfo.addChild(arrow) + } + filterInfo.scale.set(0.5, 0.5) + entityInfo.addChild(filterInfo) + } + + if (entity.name === 'arithmetic-combinator' || entity.name === 'decider-combinator') { + const arrows = new PIXI.Container() + arrows.addChild(createArrow({ x: 0, y: -48 }), createArrow({ x: 0, y: 48 })) + arrows.rotation = entity.direction * Math.PI * 0.25 + arrows.scale.set(0.5, 0.5) + entityInfo.addChild(arrows) + } + + if (entity.type === 'mining-drill' && entity.name !== 'pumpjack') { + const arrows = new PIXI.Container() + arrows.addChild(createArrow({ + x: entity.entityData.vector_to_place_result[0] * 64, + y: entity.entityData.vector_to_place_result[1] * 64 + 18 + })) + arrows.rotation = entity.direction * Math.PI * 0.25 + arrows.scale.set(0.5, 0.5) + entityInfo.addChild(arrows) + } + + if (entity.name === 'pumpjack' || entity.name === 'pump' || entity.name === 'offshore-pump' || entity.type === 'boiler' || + entity.type === 'generator' || entity.name === 'oil-refinery' || entity.name === 'chemical-plant' || entity.assemblerCraftsWithFluid + ) { + const arrows = new PIXI.Container() + if (entity.entityData.fluid_boxes) { + if (entity.assemblerCraftsWithFluid) { + const c = entity.entityData.fluid_boxes[entity.assemblerPipeDirection === 'input' ? 1 : 0] + f({ + x: c.pipe_connections[0].position[0], + y: c.pipe_connections[0].position[1] + }) + } else { + const dontConnectOutput = entity.name === 'chemical-plant' && entity.chemicalPlantDontConnectOutput + for (const c of entity.entityData.fluid_boxes) { + // fluid_boxes are reversed + if (!(c.production_type === 'input' && dontConnectOutput)) { + f({ + x: c.pipe_connections[0].position[0], + y: c.pipe_connections[0].position[1] + }) + } + } + } + } else { + if (entity.entityData.fluid_box) { + for (const p of entity.entityData.fluid_box.pipe_connections) { + if (entity.name === 'pump' && p === entity.entityData.fluid_box.pipe_connections[1]) break + f({ + x: p.position[0], + y: p.position[1] + }, entity.entityData.fluid_box.production_type === 'input-output' ? 2 : 1) + } + } + if (entity.entityData.output_fluid_box) { + for (const p of entity.entityData.output_fluid_box.pipe_connections) { + f({ + x: p.position ? p.position[0] : p.positions[entity.direction / 2][0], + y: p.position ? p.position[1] : p.positions[entity.direction / 2][1] + }) + } + } + } + function f(position: IPoint, type = 1) { + const offset = 0.5 + if (entity.name === 'offshore-pump') position.y -= 2 + const dir = Math.abs(position.x) > Math.abs(position.y) ? + (Math.sign(position.x) === 1 ? 2 : 6) : + (Math.sign(position.y) === 1 ? 4 : 0) + switch (dir) { + case 0: position.y += offset; break + case 2: position.x -= offset; break + case 4: position.y -= offset; break + case 6: position.x += offset + } + const arrow = createArrow({ + x: position.x * 64, + y: position.y * 64 + }, type) + if (entity.type === 'boiler' && type === 2) arrow.rotation = 0.5 * Math.PI + if (entity.name === 'pumpjack') arrow.rotation = entity.direction * Math.PI * 0.25 + arrows.addChild(arrow) + } + if (entity.name !== 'pumpjack') { + arrows.rotation = (entity.name === 'oil-refinery' || entity.name === 'pump' || entity.type === 'boiler' ? + entity.direction : (entity.direction + 4) % 8) * Math.PI * 0.25 + } + arrows.scale.set(0.5, 0.5) + entityInfo.addChild(arrows) + } + + if (entityInfo.children.length !== 0) { + entityInfo.position.set(position.x, position.y) + this.overlay.addChild(entityInfo) + return entityInfo + } + + function createIconWithBackground(container: PIXI.Container, itemName: string, position?: IPoint) { + const icon = InventoryContainer.createIcon(factorioData.getItem(itemName)) + const background = PIXI.Sprite.fromFrame('extra-icon:entity-info-dark-background') + background.anchor.set(0.5, 0.5) + if (position) { + icon.position.set(position.x , position.y) + background.position.set(position.x , position.y) + } + const lastLength = container.children.length + container.addChild(background, icon) + if (lastLength !== 0) { + container.swapChildren(container.getChildAt(lastLength / 2), container.getChildAt(lastLength)) + } + } + + function createArrow(position: IPoint, type = 0) { + const arrow = PIXI.Sprite.fromFrame('extra-icon:' + + (type === 0 ? 'indication-arrow' : (type === 1 ? 'fluid-indication-arrow' : 'fluid-indication-arrow-both-ways')) + ) + arrow.anchor.set(0.5, 0.5) + arrow.position.set(position.x , position.y) + return arrow + } + } + + showCursorBox() { + this.cursorBox.visible = true + } + + updateCursorBoxSize(width: number, height: number) { + this.cursorBox.removeChildren() + if (width === 1 && height === 1) { + const s = PIXI.Sprite.fromFrame('extra-icon:cursor-boxes-32x32-0') + s.anchor.set(0.5, 0.5) + this.cursorBox.addChild(s) + } else { + this.cursorBox.addChild(...createCorners( + 'extra-icon:cursor-boxes-' + mapMinLengthToSpriteIndex(Math.min(width, height)) + )) + } + function mapMinLengthToSpriteIndex(minLength: number) { + if (minLength < 0.4) return '4' + if (minLength < 0.7) return '3' + if (minLength < 1.05) return '2' + if (minLength < 3.5) return '1' + return '0' + } + function createCorners(spriteName: string) { + const c0 = PIXI.Sprite.fromFrame(spriteName) + const c1 = PIXI.Sprite.fromFrame(spriteName) + const c2 = PIXI.Sprite.fromFrame(spriteName) + const c3 = PIXI.Sprite.fromFrame(spriteName) + c0.position.set(-width * 32, -height * 32) + c1.position.set(width * 32, -height * 32) + c2.position.set(-width * 32, height * 32) + c3.position.set(width * 32, height * 32) + c1.rotation = Math.PI * 0.5 + c2.rotation = Math.PI * 1.5 + c3.rotation = Math.PI + return [c0, c1, c2, c3] + } + } + + updateCursorBoxPosition(position: IPoint) { + this.cursorBox.position.set(position.x, position.y) + } + + hideCursorBox() { + this.cursorBox.visible = false + } + + updateUndergroundLines(name: string, position: IPoint, direction: number, searchDirection: number) { + const fd = factorioData.getEntity(name) + if (fd.type === 'underground-belt' || name === 'pipe-to-ground') { + this.undergroundLines.removeChildren() + const otherEntity = G.bp.entityPositionGrid.findEntityWithSameNameAndDirection( + name, + name === 'pipe-to-ground' ? searchDirection : direction, + position, + searchDirection, + fd.max_distance || 10 + ) + if (otherEntity) { + const oE = G.bp.entity(otherEntity) + // Return if directionTypes are the same + if (fd.type === 'underground-belt' && + (oE.directionType === 'input' ? oE.direction : (oE.direction + 4 % 8)) === searchDirection) return + const distance = searchDirection % 4 === 0 ? Math.abs(oE.position.y - position.y) : + Math.abs(oE.position.x - position.x) + const sign = searchDirection === 0 || searchDirection === 6 ? -1 : 1 + for (let i = 1; i < distance; i++) { + const s = PIXI.Sprite.fromFrame('extra-icon:underground-lines-' + (name === 'pipe-to-ground' ? '0' : '1')) + s.rotation = direction * Math.PI * 0.25 + s.scale.set(0.5, 0.5) + s.anchor.set(0.5, 0.5) + if (searchDirection % 4 === 0) s.position.y += sign * i * 32 + else s.position.x += sign * i * 32 + this.undergroundLines.addChild(s) + } + } + } + } + + updateUndergroundLinesPosition(position: IPoint) { + this.undergroundLines.position.set(position.x, position.y) + } + + hideUndergroundLines() { + this.undergroundLines.removeChildren() + } +} diff --git a/src/containers/paint.ts b/src/containers/paint.ts new file mode 100644 index 00000000..f6aeeca3 --- /dev/null +++ b/src/containers/paint.ts @@ -0,0 +1,257 @@ +import G from '../globals' +import util from '../util' +import factorioData from '../factorio-data/factorioData' +import { EntityContainer } from './entity' +import { AdjustmentFilter } from '@pixi/filter-adjustment' +import { UnderlayContainer } from './underlay' + +export class PaintContainer extends PIXI.Container { + areaVisualization: PIXI.Sprite | PIXI.Sprite[] | undefined + holdingRightClick: boolean + directionType: string + direction: number + holdingLeftClick: boolean + filter: AdjustmentFilter + + constructor(name: string, direction: number, position: IPoint) { + super() + this.name = name + this.direction = direction + this.directionType = 'input' + this.position.set(position.x, position.y) + this.filter = new AdjustmentFilter({ blue: 0.4 }) + this.filters = [this.filter] + this.checkBuildable() + + this.interactive = true + this.interactiveChildren = false + this.buttonMode = true + + this.holdingLeftClick = false + + this.areaVisualization = G.BPC.underlayContainer.createNewArea(this.name) + UnderlayContainer.modifyVisualizationArea(this.areaVisualization, s => { + s.alpha += 0.25 + s.visible = true + }) + G.BPC.underlayContainer.activateRelatedAreas(this.name) + + this.on('pointerdown', this.pointerDownEventHandler) + this.on('pointerup', this.pointerUpEventHandler) + this.on('pointerupoutside', this.pointerUpEventHandler) + // this.on('pointermove', this.pointerMoveEventHandler) + + this.redraw() + } + + destroy() { + super.destroy() + UnderlayContainer.modifyVisualizationArea(this.areaVisualization, s => s.destroy()) + G.BPC.underlayContainer.deactivateActiveAreas() + G.BPC.overlayContainer.hideUndergroundLines() + } + + checkBuildable() { + const position = EntityContainer.getGridPosition(this.position) + const size = util.switchSizeBasedOnDirection(factorioData.getEntity(this.name).size, this.direction) + if (!EntityContainer.isContainerOutOfBpArea(position, size) && + (G.bp.entityPositionGrid.checkFastReplaceableGroup(this.name, this.direction, position) || + G.bp.entityPositionGrid.checkSameEntityAndDifferentDirection(this.name, this.direction, position) || + G.bp.entityPositionGrid.checkNoOverlap(this.name, this.direction, position)) + ) { + this.filter.red = 0.4 + this.filter.green = 1 + } else { + this.filter.red = 1 + this.filter.green = 0.4 + } + } + + updateUndergroundBeltRotation() { + const fd = factorioData.getEntity(this.name) + if (fd.type === 'underground-belt') { + const otherEntity = G.bp.entityPositionGrid.findEntityWithSameNameAndDirection( + this.name, (this.direction + 4) % 8, { + x: this.x / 32, + y: this.y / 32 + }, + this.direction, + fd.max_distance + ) + if (otherEntity) { + const oe = G.bp.entity(otherEntity) + this.directionType = oe.directionType === 'input' ? 'output' : 'input' + } else { + if (this.directionType === 'output') this.directionType = 'input' + } + this.redraw() + } + } + + updateUndergroundLines() { + G.BPC.overlayContainer.updateUndergroundLines( + this.name, + { x: this.position.x / 32, y: this.position.y / 32 }, + this.directionType === 'input' ? this.direction : (this.direction + 4) % 8, + this.name === 'pipe-to-ground' ? (this.direction + 4) % 8 : this.direction + ) + } + + rotate() { + const pr = factorioData.getEntity(this.name).possible_rotations + if (!pr) return + this.direction = pr[ (pr.indexOf(this.direction) + 1) % pr.length ] + this.redraw() + const size = util.switchSizeBasedOnDirection(factorioData.getEntity(this.name).size, this.direction) + if (size.x !== size.y) { + this.position.set( + this.x + ((this.x / 16 - G.gridCoords16.x) === 0 ? 0.5 : -0.5) * 32, + this.y + ((this.y / 16 - G.gridCoords16.y) === 0 ? 0.5 : -0.5) * 32 + ) + + const pos = EntityContainer.getPositionFromData(this.position, size) + this.position.set(pos.x, pos.y) + } + this.checkBuildable() + this.updateUndergroundBeltRotation() + this.updateUndergroundLines() + } + + redraw() { + this.removeChildren() + this.addChild(...EntityContainer.getParts({ + name: this.name, + direction: this.directionType === 'output' ? (this.direction + 4) % 8 : this.direction, + directionType: this.directionType + }, true, true)) + const size = util.switchSizeBasedOnDirection(factorioData.getEntity(this.name).size, this.direction) + this.hitArea = new PIXI.Rectangle( + -size.x * 16, + -size.y * 16, + size.x * 32, + size.y * 32 + ) + } + + pointerDownEventHandler(e: PIXI.interaction.InteractionEvent) { + if (e.data.button === 0) { + this.holdingLeftClick = true + this.placeEntityContainer() + } else if (e.data.button === 2) { + this.holdingRightClick = true + this.removeContainer() + } + } + + pointerUpEventHandler(e: PIXI.interaction.InteractionEvent) { + if (e.data.button === 0) { + this.holdingLeftClick = false + } else if (e.data.button === 2) { + this.holdingRightClick = false + } + } + + // pointerMoveEventHandler(e: PIXI.interaction.InteractionEvent) { + // this.moveTo(e.data.getLocalPosition(this.parent)) + // } + + moveTo(newPosition: IPoint) { + const newCursorPos = { + x: (newPosition.x - newPosition.x % 16) / 16, + y: (newPosition.y - newPosition.y % 16) / 16 + } + if (newCursorPos.x !== G.gridCoords16.x || newCursorPos.y !== G.gridCoords16.y) { + if (this.holdingRightClick) this.removeContainer() + + switch (this.name) { + case 'straight-rail': + case 'curved-rail': + case 'train-stop': + this.position.set( + newPosition.x - (newPosition.x + G.railMoveOffset.x * 32) % 64 + 32, + newPosition.y - (newPosition.y + G.railMoveOffset.y * 32) % 64 + 32 + ) + break + default: + const size = util.switchSizeBasedOnDirection(factorioData.getEntity(this.name).size, this.direction) + const pos = EntityContainer.getPositionFromData(newPosition, size) + this.position.set(pos.x, pos.y) + } + + this.updateUndergroundBeltRotation() + G.BPC.overlayContainer.updateUndergroundLinesPosition(this.position) + this.updateUndergroundLines() + + UnderlayContainer.modifyVisualizationArea(this.areaVisualization, s => s.position.copy(this.position)) + + if (this.holdingLeftClick) this.placeEntityContainer() + G.gridCoords16 = newCursorPos + + this.checkBuildable() + } + } + + removeContainer() { + const position = EntityContainer.getGridPosition(this.position) + const c = EntityContainer.mappings.get(G.bp.entityPositionGrid.getCellAtPosition(position)) + if (c) { + c.removeContainer() + this.checkBuildable() + } + } + + placeEntityContainer() { + const fd = factorioData.getEntity(this.name) + const position = EntityContainer.getGridPosition(this.position) + const size = util.switchSizeBasedOnDirection(fd.size, this.direction) + if (EntityContainer.isContainerOutOfBpArea(position, size)) return + + const frgEntNr = G.bp.entityPositionGrid.checkFastReplaceableGroup(this.name, this.direction, position) + if (frgEntNr) { + const frgEnt = G.bp.entity(frgEntNr) + frgEnt.change(this.name, this.direction) + const c = EntityContainer.mappings.get(frgEntNr) + c.redraw() + c.redrawSurroundingEntities() + return + } + const snEntNr = G.bp.entityPositionGrid.checkSameEntityAndDifferentDirection( + this.name, this.direction, position + ) + if (snEntNr) { + G.bp.entity(snEntNr).direction = this.direction + const c = EntityContainer.mappings.get(snEntNr) + c.redraw() + c.redrawSurroundingEntities() + return + } + + const isUB = fd.type === 'underground-belt' + const res = G.bp.createEntity(this.name, position, + isUB && this.directionType === 'output' ? (this.direction + 4) % 8 : this.direction, + isUB ? this.directionType : undefined + ) + if (res) { + const ec = new EntityContainer(res) + if (ec.areaVisualization) { + if (ec.areaVisualization instanceof PIXI.Sprite) { + ec.areaVisualization.visible = true + } else { + for (const s of ec.areaVisualization) s.visible = true + } + } + G.BPC.entities.addChild(ec) + ec.redrawSurroundingEntities() + + if (isUB || this.name === 'pipe-to-ground') { + this.direction = (this.direction + 4) % 8 + this.redraw() + G.BPC.overlayContainer.hideUndergroundLines() + } + + G.BPC.updateOverlay() + } + + this.checkBuildable() + } +} diff --git a/src/containers/toolbar.ts b/src/containers/toolbar.ts new file mode 100644 index 00000000..9fe93a12 --- /dev/null +++ b/src/containers/toolbar.ts @@ -0,0 +1,59 @@ +import G from '../globals' + +export class ToolbarContainer extends PIXI.Container { + + info: PIXI.Text + logo: PIXI.Text + fpsGUIText: PIXI.Text + gridposGUIText: PIXI.Text + + constructor() { + super() + + this.interactive = false + this.interactiveChildren = false + + const background = new PIXI.Sprite(PIXI.Texture.WHITE) + background.width = G.app.renderer.width + window.addEventListener('resize', () => { + background.width = G.app.renderer.width + this.fpsGUIText.position.set(G.app.renderer.width, background.height / 2) + this.logo.position.set(G.app.renderer.width / 2, background.height / 2) + this.info.position.set(G.app.renderer.width - 100, background.height) + }, false) + background.height = 32 + background.tint = 0x303030 + this.addChild(background) + + this.gridposGUIText = new PIXI.Text('') + this.gridposGUIText.anchor.set(0, 0.5) + this.gridposGUIText.position.set(0, background.height / 2) + this.gridposGUIText.style.fill = 0xFFFFFF + this.addChild(this.gridposGUIText) + + this.fpsGUIText = new PIXI.Text('') + this.fpsGUIText.anchor.set(1, 0.5) + this.fpsGUIText.style.fill = 0xFFFFFF + this.fpsGUIText.position.set(G.app.renderer.width, background.height / 2) + this.addChild(this.fpsGUIText) + + this.logo = new PIXI.Text('Factorio Blueprint Editor') + this.logo.anchor.set(0.5, 0.5) + this.logo.style.fill = 0xFFFFFF + this.logo.position.set(G.app.renderer.width / 2, background.height / 2) + this.addChild(this.logo) + + this.info = new PIXI.Text('Press I for info') + this.info.anchor.set(1, 1) + this.info.style.fill = 0xFFFFFF + this.info.style.fontSize = 13 + this.info.position.set(G.app.renderer.width - 100, background.height) + this.addChild(this.info) + + G.app.ticker.add(() => this.fpsGUIText.text = String(Math.round(G.app.ticker.FPS)) + ' FPS') + } + + updateGridPos(coords: IPoint) { + this.gridposGUIText.text = `X ${coords.x} Y ${coords.y}` + } +} diff --git a/src/containers/underlay.ts b/src/containers/underlay.ts new file mode 100644 index 00000000..b1be9d8d --- /dev/null +++ b/src/containers/underlay.ts @@ -0,0 +1,136 @@ +import factorioData from '../factorio-data/factorioData' +import { isArray } from 'util' +import { AdjustmentFilter } from '@pixi/filter-adjustment' + +export class UnderlayContainer extends PIXI.Container { + + static getDataForVisualizationArea(name: string) { + const type = factorioData.getEntity(name).type + function undoBlendModeColorShift(color0: number, color1: number, alpha: number) { + // https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/blendFunc + // array[BLEND_MODES.NORMAL] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA] + return color1 - color0 * (1 - alpha) + } + if (name === 'roboport') { + return { + type: ['logistics0', 'logistics1'], + rKey: ['construction_radius', 'logistics_radius'], + color: [0x83D937, undoBlendModeColorShift(0xFF8800, 0x83D937, 0.25)] + } + } + if (type === 'electric-pole') { + return { + type: 'poles', + rKey: 'supply_area_distance', + color: 0x33755D9 + } + } + if (name === 'beacon') { + return { + type: 'beacons', + rKey: 'supply_area_distance', + color: 0xD9C037 + } + } + if (name === 'electric-mining-drill') { + return { + type: 'drills', + rKey: 'resource_searching_radius', + color: 0x4EAD9F + } + } + } + + static modifyVisualizationArea(area: PIXI.Sprite | PIXI.Sprite[] | undefined, fn: (s: PIXI.Sprite) => void) { + if (area) { + if (area instanceof PIXI.Sprite) fn(area) + else for (const s of area) fn(s) + } + } + + active: string[] + logistics0: PIXI.Container + logistics1: PIXI.Container + poles: PIXI.Container + beacons: PIXI.Container + drills: PIXI.Container + + constructor() { + super() + + this.interactive = false + this.interactiveChildren = false + + this.active = [] + this.logistics0 = new PIXI.Container() + this.logistics1 = new PIXI.Container() + this.poles = new PIXI.Container() + this.beacons = new PIXI.Container() + this.drills = new PIXI.Container() + + const filter = new AdjustmentFilter({ alpha: 0.25 }) + this.logistics0.filters = [filter] + this.logistics1.filters = [filter] + + this.addChild(this.logistics0, this.logistics1, this.poles, this.beacons, this.drills) + } + + activateRelatedAreas(entityName: string) { + const ed = factorioData.getEntity(entityName) + const data = UnderlayContainer.getDataForVisualizationArea(entityName) + if (data) if (isArray(data.type)) this.active.push(...data.type); else this.active.push(data.type) + if (ed.type === 'logistic-container') this.active.push('logistics0', 'logistics1') + if (ed.energy_source && ed.energy_source.type === 'electric') this.active.push('poles') + if (ed.module_specification) this.active.push('beacons') + + for (const type of this.active) { + for (const s of this[type].children) { + s.visible = true + } + } + } + + deactivateActiveAreas() { + for (const type of this.active) { + for (const s of this[type].children) { + s.visible = false + } + } + this.active = [] + } + + createNewArea(entityName: string, position?: PIXI.Point | PIXI.ObservablePoint) { + const aVData = UnderlayContainer.getDataForVisualizationArea(entityName) + if (aVData) { + const ed = factorioData.getEntity(entityName) + if (isArray(aVData.type)) { + const aVs = [] + for (let i = 0; i < aVData.type.length; i++) { + const areaVisualization = createVisualizationArea(ed[aVData.rKey[i]], aVData.color[i], position, 1) + this[aVData.type[i]].addChild(areaVisualization) + aVs.push(areaVisualization) + } + return aVs + } else { + const areaVisualization = createVisualizationArea(ed[aVData.rKey], aVData.color, position) + this[aVData.type].addChild(areaVisualization) + return areaVisualization + } + } + + function createVisualizationArea(radius: number, color: number, position?: PIXI.Point | PIXI.ObservablePoint, alpha = 0.25) { + const aV = new PIXI.Sprite(PIXI.Texture.WHITE) + const S = radius * 64 + aV.width = S + aV.height = S + aV.tint = color + aV.anchor.set(0.5, 0.5) + aV.alpha = alpha + if (position) { + aV.visible = false + aV.position.copy(position) + } + return aV + } + } +} diff --git a/src/containers/wires.ts b/src/containers/wires.ts new file mode 100644 index 00000000..64b352d3 --- /dev/null +++ b/src/containers/wires.ts @@ -0,0 +1,111 @@ +import { EntityContainer } from './entity' +import G from '../globals' + +export class WiresContainer extends PIXI.Container { + + static createWire(p1: IPoint, p2: IPoint, color: string) { + const wire = new PIXI.Graphics() + if (color === 'red') { + wire.lineStyle(1.3, 0xC83718) + } else { + wire.lineStyle(1.3, 0x588C38) + } + + const force = 0.25 + const minX = Math.min(p1.x, p2.x) + const minY = Math.min(p1.y, p2.y) + const dX = Math.max(p1.x, p2.x) - minX + const dY = Math.max(p1.y, p2.y) - minY + const X = minX + dX / 2 + const Y = (dY / dX) * (X - minX) + minY + force * dX + + wire.moveTo(p1.x, p1.y) + // TODO: make wires smoother, use 2 points instead of 1 + if (p1.x === p2.x) { + wire.lineTo(p2.x, p2.y) + } else { + wire.bezierCurveTo(X, Y, X, Y, p2.x, p2.y) + } + return wire + } + + static getFinalPos(entity_number: number, color: string, side: number) { + const point = G.bp.entity(entity_number).getWireConnectionPoint(color, side) + return { + x: EntityContainer.mappings.get(entity_number).position.x + point[0] * 32, + y: EntityContainer.mappings.get(entity_number).position.y + point[1] * 32 + } + } + + entityWiresMapping: Map + + constructor() { + super() + + this.interactive = false + this.interactiveChildren = false + + this.entityWiresMapping = new Map() + } + + remove(entity_number: number) { + this.entityWiresMapping.forEach((v, k) => { + const first = Number(k.split('-')[0]) + const second = Number(k.split('-')[1]) + if (first === entity_number || second === entity_number) { + for (const g of v) g.destroy() + this.entityWiresMapping.delete(k) + } + }) + } + + update(entity_number: number) { + if (!G.bp.entity(entity_number).hasConnections) return + this.remove(entity_number) + G.bp.connections.connections.forEach((v, k) => { + const first = Number(k.split('-')[0]) + const second = Number(k.split('-')[1]) + if (first === entity_number || second === entity_number) { + if (first === entity_number) EntityContainer.mappings.get(second).redraw() + else if (second === entity_number) EntityContainer.mappings.get(first).redraw() + + const paths: PIXI.Graphics[] = [] + v.forEach(c => { + paths.push(WiresContainer.createWire( + WiresContainer.getFinalPos(c.get('entity_number_1') as number, c.get('color') as string, c.get('entity_side_1') as number), + WiresContainer.getFinalPos(c.get('entity_number_2') as number, c.get('color') as string, c.get('entity_side_2') as number), + c.get('color') as string + )) + }) + for (const p of paths) { + this.addChild(p) + } + this.entityWiresMapping.set(k, paths) + } + }) + } + + drawWires() { + G.bp.connections.connections.forEach((v, k) => { + if (this.entityWiresMapping.has(k)) { + for (const p of this.entityWiresMapping.get(k)) { + this.removeChild(p) + } + } + const paths: PIXI.Graphics[] = [] + + v.forEach(c => { + paths.push(WiresContainer.createWire( + WiresContainer.getFinalPos(c.get('entity_number_1') as number, c.get('color') as string, c.get('entity_side_1') as number), + WiresContainer.getFinalPos(c.get('entity_number_2') as number, c.get('color') as string, c.get('entity_side_2') as number), + c.get('color') as string + )) + }) + + for (const p of paths) { + this.addChild(p) + } + this.entityWiresMapping.set(k, paths) + }) + } +} diff --git a/src/entitySprite.ts b/src/entitySprite.ts new file mode 100644 index 00000000..667cb879 --- /dev/null +++ b/src/entitySprite.ts @@ -0,0 +1,83 @@ +import G from './globals' +import { AdjustmentFilter } from '@pixi/filter-adjustment' + +export class EntitySprite extends PIXI.Sprite { + static nextID = 0 + + id: number + isMoving: boolean + shift: IPoint + zIndex: number + zOrder: number + + constructor(data: any) { + if (!data.shift) data.shift = [0, 0] + if (!data.x) data.x = 0 + if (!data.y) data.y = 0 + if (!data.divW) data.divW = 1 + if (!data.divH) data.divH = 1 + + const spriteData = PIXI.utils.TextureCache[data.filename] + // TODO: Cache the texture + super(new PIXI.Texture(spriteData.baseTexture, new PIXI.Rectangle( + spriteData.frame.x + data.x, + spriteData.frame.y + data.y, + data.width / data.divW, + data.height / data.divH + ))) + + this.interactive = false + this.id = EntitySprite.nextID++ + this.isMoving = false + + this.shift = { + x: data.shift[0] * 32, + y: data.shift[1] * 32 + } + + this.position.set(this.shift.x, this.shift.y) + + if (data.scale) this.scale.set(data.scale, data.scale) + this.anchor.set(0.5, 0.5) + + if (data.flipX) this.scale.x *= -1 + if (data.flipY) this.scale.y *= -1 + + if (data.height_divider) this.height /= data.height_divider + + if (data.rot) this.rotation = data.rot * Math.PI * 0.5 + + if (data.color) { + this.filters = [new AdjustmentFilter({ + gamma: 1.4, + contrast: 1.4, + brightness: 1.2, + red: data.color.r, + green: data.color.g, + blue: data.color.b, + alpha: data.color.a + })] + } + + return this + } + + set moving(moving: boolean) { + this.isMoving = moving + if (moving) { + if (this.filters !== null) this.filters.push(G.BPC.movingEntityFilter) + else this.filters = [G.BPC.movingEntityFilter] + } else { + // tslint:disable-next-line:no-null-keyword + if (this.filters.length === 1) this.filters = null + else this.filters.pop() + } + } + + setPosition(position: PIXI.Point | PIXI.ObservablePoint) { + this.position.set( + position.x + this.shift.x, + position.y + this.shift.y + ) + } +} diff --git a/src/factorio-data/BPString.ts b/src/factorio-data/BPString.ts new file mode 100644 index 00000000..59b67620 --- /dev/null +++ b/src/factorio-data/BPString.ts @@ -0,0 +1,67 @@ +import zlib from 'zlib' +import { Buffer } from 'buffer' +import Ajv from 'ajv' +import blueprintSchema from '../blueprintSchema.json' +import factorioData from './factorioData' +import { Blueprint } from './blueprint' +import { Book } from './book' + +const ajv = new Ajv() +ajv.addKeyword('entityName', { + validate: (data: string) => factorioData.checkEntityName(data), + errors: false, + schema: false +}) +ajv.addKeyword('itemName', { + validate: (data: string) => factorioData.checkItemName(data), + errors: false, + schema: false +}) +ajv.addKeyword('objectWithItemNames', { + validate: (data: object) => { + for (const k in data) { + if (!factorioData.checkItemName(k)) return false + } + return true + }, + errors: false, + schema: false +}) +ajv.addKeyword('recipeName', { + validate: (data: string) => factorioData.checkRecipeName(data), + errors: false, + schema: false +}) +ajv.addKeyword('tileName', { + validate: (data: string) => factorioData.checkTileName(data), + errors: false, + schema: false +}) +const validate = ajv.compile(blueprintSchema) + +export default { + decode: (str: string) => { + let data + try { + data = JSON.parse(zlib.inflateSync(Buffer.from(str.slice(1), 'base64')).toString('utf8')) + } catch (e) { + return { error: e } + } + + console.log(data) + + // data.blueprint.entities.forEach(e => { + // // if (e.control_behavior) { + // // let d = e.control_behavior.circuit_condition + // // if (d !== undefined) console.log(e.name + '\t\t\t\t' + d) + // // } + // if (e.filters !== undefined) console.log(e.name + '\t\t\t\t' + e.filters) + // }); + + if (!validate(data)) return { error: validate.errors } + + if (data.blueprint_book === undefined) return new Blueprint(data.blueprint) + return new Book(data) + }, + encode: (bPOrBook: any) => ('0' + zlib.deflateSync(JSON.stringify(bPOrBook.toObject())).toString('base64')) +} diff --git a/src/factorio-data/blueprint.ts b/src/factorio-data/blueprint.ts new file mode 100644 index 00000000..a96a4970 --- /dev/null +++ b/src/factorio-data/blueprint.ts @@ -0,0 +1,403 @@ +import factorioData from './factorioData' +import { Tile } from './tile' +import { PositionGrid } from './positionGrid' +import Immutable from 'immutable' +import initEntity from './entity' +import G from '../globals' +import { ConnectionsManager } from './connectionsManager' +import { EntityContainer } from '../containers/entity' + +export class Blueprint { + + name: string + icons: any[] + tiles: Tile[] + tilePositionGrid: any + version: number + connections: ConnectionsManager + next_entity_number: number + historyIndex: number + history: Array<{ + entity_number: number | number[]; + type: 'init' | 'add' | 'del' | 'mov' | 'upd'; + annotation: string; + rawEntities: Immutable.Map; + }> + bp: Blueprint + entityPositionGrid: PositionGrid + rawEntities: Immutable.Map + + constructor(data?: any) { + initEntity(this) + this.name = 'Blueprint' + this.icons = [] + this.rawEntities = Immutable.Map() + this.tiles = [] + this.tilePositionGrid = {} + this.version = undefined + this.next_entity_number = 1 + + if (data) { + if (!data.tiles) data.tiles = [] + if (!data.icons) data.icons = [] + this.name = data.label + this.version = data.version + + this.next_entity_number += data.entities.length + this.rawEntities = this.rawEntities.withMutations(map => { + for (const entity of data.entities) { + map.set(entity.entity_number, Immutable.fromJS(entity)) + // this.entityPositionGrid.setTileData(entity.entity_number) + } + }) + + data.tiles.forEach((tile: any) => { + this.createTile(tile.name, tile.position) + }) + + this.icons = [] + data.icons.forEach((icon: any) => { + this.icons[icon.index - 1] = icon.signal.name + }) + + this.setTileIds() + + // TODO: if entity has placeable-off-grid flag then take the next one + const firstEntityTopLeft = this.entity(1).topLeft() + + const offsetX = G.sizeBPContainer.width / 64 - (firstEntityTopLeft.x % 1 !== 0 ? -0.5 : 0) + const offsetY = G.sizeBPContainer.height / 64 - (firstEntityTopLeft.y % 1 !== 0 ? -0.5 : 0) + + this.rawEntities = this.rawEntities.withMutations(map => { + map.keySeq().forEach(k => { + // tslint:disable-next-line:no-parameter-reassignment + map.updateIn([k, 'position', 'x'], (x: number) => x += offsetX) + // tslint:disable-next-line:no-parameter-reassignment + map.updateIn([k, 'position', 'y'], (y: number) => y += offsetY) + }) + }) + + // tslint:disable-next-line:no-dynamic-delete + this.tiles.forEach(tile => delete this.tilePositionGrid[`${tile.position.x},${tile.position.y}`]) + this.tiles.forEach(tile => { + tile.position.x += offsetX + tile.position.y += offsetY + this.tilePositionGrid[`${tile.position.x},${tile.position.y}`] = tile + }) + } + + this.entityPositionGrid = new PositionGrid(this, [...this.rawEntities.keys()]) + this.connections = new ConnectionsManager(this, [...this.rawEntities.keys()]) + + this.historyIndex = 0 + this.history = [{ + entity_number: 0, + type: 'init', + annotation: '', + rawEntities: this.rawEntities + }] + + return this + } + + entity(entity_number: number) { + const e = this.rawEntities.get(entity_number) + if (!e) return undefined + return e.entity() + } + + undo( + pre: (hist: any) => void, + post: (hist: any) => void + ) { + if (this.historyIndex === 0) return + const hist = this.history[this.historyIndex--] + + switch (hist.type) { + case 'add': + case 'del': + case 'mov': + this.entityPositionGrid.undo() + } + + pre(hist) + this.rawEntities = this.history[this.historyIndex].rawEntities + switch (hist.type) { + case 'del': + if (this.entity(hist.entity_number as number).hasConnections) this.connections.undo() + } + post(hist) + } + + redo( + pre: (hist: any) => void, + post: (hist: any) => void + ) { + if (this.historyIndex === this.history.length - 1) return + const hist = this.history[++this.historyIndex] + + switch (hist.type) { + case 'add': + case 'del': + case 'mov': + this.entityPositionGrid.redo() + } + + pre(hist) + + const entity = this.entity(hist.entity_number as number) + switch (hist.type) { + case 'del': + if (entity.hasConnections) this.connections.redo() + } + + this.rawEntities = hist.rawEntities + + // TODO: Refactor this somehow + if (hist.type === 'del' && entity.hasConnections && entity.connectedEntities) { + for (const entNr of entity.connectedEntities) { + EntityContainer.mappings.get(entNr).redraw() + } + } + + post(hist) + } + + operation( + entity_number: number | number[], + annotation: string, + fn: (entities: Immutable.Map) => Immutable.Map, + type: 'add' | 'del' | 'mov' | 'upd' = 'upd', + pushToHistory = true + ) { + console.log(`${entity_number} - ${annotation}`) + this.rawEntities = fn(this.rawEntities) + + if (pushToHistory) { + if (this.historyIndex < this.history.length) { + this.history = this.history.slice(0, this.historyIndex + 1) + } + this.history.push({ + entity_number, + type, + annotation, + rawEntities: this.rawEntities + }) + this.historyIndex++ + } + } + + createEntity(name: string, position: IPoint, direction: number, directionType?: string) { + if (!this.entityPositionGrid.checkNoOverlap(name, direction, position)) return false + const entity_number = this.next_entity_number++ + const data = { + entity_number, + name, + position, + direction + } + if (directionType) data.type = directionType + this.operation(entity_number, 'Added new entity', + entities => entities.set(entity_number, Immutable.fromJS(data)), + 'add' + ) + + this.entityPositionGrid.setTileData(entity_number) + + return data.entity_number + } + + removeEntity(entity_number: number, redrawCb?: (entity_number: number) => void) { + this.entityPositionGrid.removeTileData(entity_number) + let entitiesToModify: any[] = [] + if (this.entity(entity_number).hasConnections) { + entitiesToModify = this.connections.removeConnectionData(entity_number) + } + this.operation(entity_number, 'Deleted entity', + entities => entities.withMutations(map => { + + for (const i in entitiesToModify) { + const entity_number = entitiesToModify[i].entity_number + const side = entitiesToModify[i].side + const color = entitiesToModify[i].color + const index = entitiesToModify[i].index + + const a = map.getIn([entity_number, 'connections']).size === 1 + const b = map.getIn([entity_number, 'connections', side]).size === 1 + const c = map.getIn([entity_number, 'connections', side, color]).size === 1 + if (a && b && c) { + map.removeIn([entity_number, 'connections']) + } else if (b && c) { + map.removeIn([entity_number, 'connections', side]) + } else if (c) { + map.removeIn([entity_number, 'connections', side, color]) + } else { + map.removeIn([entity_number, 'connections', side, color, index]) + } + } + + map.delete(entity_number) + }), + 'del' + ) + for (const i in entitiesToModify) { + redrawCb(entitiesToModify[i].entity_number) + } + } + + getFirstRail() { + const fR = this.rawEntities.find(v => v.get('name') === 'straight-rail' || v.get('name') === 'curved-rail') + return fR ? fR.toJS() : undefined + } + + // placeBlueprint(bp, position, direction = 0, allowOverlap) { // direction is 0, 1, 2, or 3 + // const entitiesCreated = [] + // bp.entities.forEach(ent => { + // const data = ent.getData() + + // data.direction += direction * 2 + // data.direction %= 8 + + // if (direction === 3) data.position = { x: data.position.y, y: -data.position.x } + // else if (direction === 2) data.position = { x: -data.position.x, y: -data.position.y } + // else if (direction === 1) data.position = { x: -data.position.y, y: data.position.x } + + // data.position.x += position.x + // data.position.y += position.y + + // entitiesCreated.push(this.createEntityWithData(data, allowOverlap, true, true)) + // }) + + // entitiesCreated.forEach(e => { + // e.place(this.entitiesCreated) + // }) + + // bp.tiles.forEach(tile => { + // const data = tile.getData() + + // if (direction === 3) data.position = { x: data.position.y, y: -data.position.x } + // else if (direction === 2) data.position = { x: -data.position.x, y: -data.position.y } + // else if (direction === 1) data.position = { x: -data.position.y, y: data.position.x } + + // data.position.x += position.x + // data.position.y += position.y + + // this.createTileWithData(data) + // }) + + // return this + // } + + // createEntityWithData(data: any, allowOverlap: boolean, noPlace: boolean) { + // const ent = new Entity(data, this) + // if (allowOverlap || this.entityPositionGrid.checkNoOverlap(ent)) { + // if (!noPlace) ent.place(this.entities) + // this.entities.push(ent) + // return ent + // } else { + // // const otherEnt = ent.getOverlap(this.entityPositionGrid) + // // throw new Error('Entity ' + data.name + ' overlaps ' + otherEnt.name + + // // ' entity (' + data.position.x + ', ' + data.position.y + ')') + // } + // } + + createTile(name: string, position: IPoint) { + return this.createTileWithData({ name, position }) + } + + createTileWithData(data: any) { + const tile = new Tile(data, this) + const key = `${data.position.x},${data.position.y}` + if (this.tilePositionGrid[key]) this.removeTile(this.tilePositionGrid[key]) + + this.tilePositionGrid[key] = tile + this.tiles.push(tile) + return tile + } + + removeTile(tile: Tile) { + if (!tile) return false + else { + const index = this.tiles.indexOf(tile) + if (index === -1) return tile + this.tiles.splice(index, 1) + return tile + } + } + + setTileIds() { + this.tiles.forEach((tile, i) => { + tile.id = i + 1 + }) + return this + } + + // Get corner/center positions + getPosition(f: string, xcomp: any, ycomp: any) { + if (!this.rawEntities.size) return { x: 0, y: 0 } + return { + x: [...this.rawEntities.keys()].reduce( + (best: number, ent: any) => xcomp(best, this.entity(ent)[f]().x), + this.entity(1)[f]().x + ), + y: [...this.rawEntities.keys()].reduce( + (best: number, ent: any) => ycomp(best, this.entity(ent)[f]().y), + this.entity(1)[f]().y + ) + } + } + + center() { + return { + x: (this.topLeft().x + this.topRight().x) / 2, + y: (this.topLeft().y + this.bottomLeft().y) / 2 + } + } + topLeft() { return this.getPosition('topLeft', Math.min, Math.min) } + topRight() { return this.getPosition('topRight', Math.max, Math.min) } + bottomLeft() { return this.getPosition('bottomLeft', Math.min, Math.max) } + bottomRight() { return this.getPosition('bottomRight', Math.max, Math.max) } + + generateIcons(num = 2) { + // TODO: make this behave more like in factorio 2 icons default, the 2 most used items in the bp + const NUM = Math.min(this.rawEntities.size, Math.min(Math.max(num, 1), 4)) + for (let i = 0; i < NUM; i++) { + this.icons[i] = this.rawEntities[i].name + } + return this + } + + toObject() { + this.setTileIds() + // if (!this.icons.length) this.generateIcons() + const entityInfo = this.rawEntities.valueSeq().toJS() + const center = this.center() + const fR = this.getFirstRail() + if (fR) { + center.x += (fR.position.x - center.x) % 2 + center.y += (fR.position.y - center.y) % 2 + } + for (const e of entityInfo) { + e.position.x -= center.x + e.position.y -= center.y + } + const tileInfo = this.tiles.map(tile => tile.getData()) + for (const t of tileInfo) { + t.position.x -= center.x + t.position.y -= center.y + } + const iconData = this.icons.map((icon, i) => ( + { signal: { type: factorioData.getItemTypeForBp(icon), name: icon }, index: i + 1 } + )) + return { + blueprint: { + icons: iconData, + entities: this.rawEntities.size ? entityInfo : undefined, + tiles: this.tiles.length ? tileInfo : undefined, + item: 'blueprint', + version: this.version || 0, + label: this.name + } + } + } +} diff --git a/src/factorio-data/book.ts b/src/factorio-data/book.ts new file mode 100644 index 00000000..207584a5 --- /dev/null +++ b/src/factorio-data/book.ts @@ -0,0 +1,53 @@ +import { Blueprint } from './blueprint' + +export class Book { + + active_index: number + blueprints: any[] + + constructor(data: any) { + if (data) { + this.active_index = data.blueprint_book.active_index + this.blueprints = data.blueprint_book.blueprints + } else { + this.active_index = 0 + this.blueprints = [] + } + } + + addBlueprint(blueprint: Blueprint) { + this.blueprints.push(blueprint) + } + + getBlueprint(index?: number) { + const INDEX = index ? index : this.active_index + this.active_index = INDEX + + if (this.blueprints[INDEX].loaded) return this.blueprints[INDEX].loaded + + const bp = new Blueprint(this.blueprints[INDEX].blueprint) + this.blueprints[INDEX].loaded = bp + return bp + } + + toObject() { + const blueprints = [] + for (let i = 0; i < this.blueprints.length; i++) { + blueprints.push({ + index: i, + // TODO: modified instead of loaded + blueprint: this.blueprints[i].loaded ? + this.blueprints[i].loaded.toObject() : + this.blueprints[i].blueprint + }) + } + return { + blueprint_book: { + blueprints, + item: 'blueprint-book', + active_index: this.active_index, + version: 0 + } + } + } +} diff --git a/src/factorio-data/connectionsManager.ts b/src/factorio-data/connectionsManager.ts new file mode 100644 index 00000000..fd0086a0 --- /dev/null +++ b/src/factorio-data/connectionsManager.ts @@ -0,0 +1,132 @@ +import { Blueprint } from './blueprint' +import Immutable from 'immutable' + +export class ConnectionsManager { + + bp: Blueprint + connections: Immutable.Map>> + historyIndex: number + history: Array>>> + + constructor(bp: Blueprint, entity_numbers?: number[]) { + this.bp = bp + this.connections = Immutable.Map() + + // Set Bulk + if (entity_numbers) { + this.connections = this.connections.withMutations(map => { + const connections = new Map() + for (const entity_number of entity_numbers) { + const entity = this.bp.entity(entity_number) + if (entity.hasConnections) connections.set(entity_number, entity.connections) + } + connections.forEach((conn, k) => { + for (const side in conn) { + for (const color in conn[side]) { + for (const c of conn[side][color]) { + if (!map.has(`${(c as any).entity_id}-${k}`)) { + let side2 + const conn2 = connections.get((c as any).entity_id) + let found = false + for (side2 in conn2) { + for (const color2 in conn2[side2]) { + for (const c2 of conn2[side2][color2]) { + if (color === color2 && (c2 as any).entity_id === k) { + found = true + break + } + } + if (found) break + } + if (found) break + } + const key = `${k}-${(c as any).entity_id}` + if (!map.has(key)) map.set(key, Immutable.List()) + map.set(key, map.get(key).push(Immutable.fromJS({ + color, + circuit_id: (c as any).circuit_id, + entity_number_1: k, + entity_number_2: (c as any).entity_id, + entity_side_1: Number(side), + entity_side_2: Number(side2) + }))) + } + } + } + } + }) + }) + } + + this.history = [this.connections] + this.historyIndex = 0 + } + + undo() { + if (this.historyIndex === 0) return + this.connections = this.history[--this.historyIndex] + } + + redo() { + if (this.historyIndex === this.history.length - 1) return + this.connections = this.history[++this.historyIndex] + } + + operation( + fn: (connections: Immutable.Map>>) => Immutable.Map + ) { + this.connections = fn(this.connections) + if (this.historyIndex < this.history.length) { + this.history = this.history.slice(0, this.historyIndex + 1) + } + this.history.push(this.connections) + this.historyIndex++ + } + + removeConnectionData(entity_number: number) { + const entitiesToModify: Array<{ + entity_number: number; + side: string; + color: string; + index: number; + }> = [] + this.operation(connections => connections.withMutations(map => { + map.forEach((v, k) => { + const isE1 = Number(k.split('-')[0]) === entity_number + const isE2 = Number(k.split('-')[1]) === entity_number + if (isE1 || isE2) { + v.forEach(conn => { + const entNr2 = (isE1 ? conn.get('entity_number_2') : conn.get('entity_number_1')) as number + const conn2 = this.bp.entity(entNr2).connections + for (const side in conn2) { + for (const color in conn2[side]) { + for (const i in conn2[side][color]) { + if (entity_number === conn2[side][color][i].entity_id && + Number(side) === (isE1 ? conn.get('entity_side_2') : conn.get('entity_side_1')) && + color === conn.get('color') + ) { + entitiesToModify.push({ + entity_number: entNr2, + side, + color, + index: Number(i) + }) + } + } + } + } + map.deleteIn([k, map.get(k).indexOf(conn)]) + }) + } + if (map.get(k).size === 0) map.delete(k) + }) + })) + return entitiesToModify + } +} diff --git a/src/factorio-data/entity.ts b/src/factorio-data/entity.ts new file mode 100644 index 00000000..f9a893f0 --- /dev/null +++ b/src/factorio-data/entity.ts @@ -0,0 +1,324 @@ +import { Blueprint } from './blueprint' +import Immutable from 'immutable' +import factorioData from './factorioData' +import util from '../util' +import { Area } from './positionGrid' + +export default (BP: Blueprint) => { + Immutable.Map.prototype.entity = function() { + // tslint:disable-next-line:no-this-assignment + const rawEntity = this + return { + get entity_number() { return rawEntity.get('entity_number') }, + get name() { return rawEntity.get('name') }, + + get type() { return factorioData.getEntity(this.name).type }, + get entityData() { return factorioData.getEntity(this.name) }, + get recipeData() { return factorioData.getRecipe(this.name) }, + get itemData() { return factorioData.getItem(this.name) }, + get size() { return util.switchSizeBasedOnDirection(this.entityData.size, this.direction) }, + + get position() { return rawEntity.get('position').toJS() }, + get direction() { return rawEntity.get('direction') || 0 }, + get directionType() { return rawEntity.get('type') }, + get recipe() { return rawEntity.get('recipe') }, + + set recipe(recipeName: string) { + BP.operation(this.entity_number, 'Changed recipe', entities => ( + entities.withMutations(map => { + map.setIn([this.entity_number, 'recipe'], recipeName) + + const modules = this.modules + if (modules && recipeName && !factorioData.getItem('productivity-module').limitation.includes(recipeName)) { + for (const k in modules) { + if (k.includes('productivity-module')) delete modules[k] + } + map.setIn([this.entity_number, 'items'], Object.keys(modules).length ? Immutable.fromJS(modules) : undefined) + } + }) + )) + }, + + get acceptedRecipes() { + const acceptedRecipes: string[] = [] + const recipes = factorioData.getRecipes() + const cc = this.entityData.crafting_categories + for (const k in recipes) { + if (cc.includes(recipes[k].category) || (cc.includes('crafting') && !recipes[k].category)) { + const recipe = (recipes[k].normal ? recipes[k].normal : recipes[k]) + if (!((this.name === 'assembling-machine-1' && recipe.ingredients.length > 2) || + (this.name === 'assembling-machine-2' && recipe.ingredients.length > 4)) + ) { + acceptedRecipes.push(k) + } + } + } + return acceptedRecipes + }, + + get acceptedModules() { + const ommitProductivityModules = this.name === 'beacon' || + (this.recipe && !factorioData.getItem('productivity-module').limitation.includes(this.recipe)) + const items = factorioData.getItems() + const acceptedModules: string[] = [] + for (const k in items) { + if (items[k].type === 'module' && !(k.includes('productivity-module') && ommitProductivityModules)) acceptedModules.push(k) + } + return acceptedModules + }, + + set direction(direction: number) { + BP.operation(this.entity_number, 'Set entity direction to ' + direction, + entities => entities.setIn([this.entity_number, 'direction'], direction) + ) + }, + + get modules() { + const i = rawEntity.get('items') + return i ? i.toJS() : undefined + }, + + get modulesList() { + const i = rawEntity.get('items') + if (!i) return + const modules = i.toJS() + const moduleList = [] + for (const n in modules) { + for (let i = 0; i < modules[n]; i++) { + moduleList.push(n) + } + } + return moduleList + }, + + set modulesList(list: any) { + const modules = {} + for (const m of list) { + if (Object.keys(modules).includes(m)) { + modules[m]++ + } else { + modules[m] = 1 + } + } + BP.operation(this.entity_number, 'Changed modules', + entities => entities.setIn([this.entity_number, 'items'], Immutable.fromJS(modules)) + ) + }, + + get splitterInputPriority() { + return rawEntity.get('input_priority') + }, + + get splitterOutputPriority() { + return rawEntity.get('output_priority') + }, + + get splitterFilter() { + return rawEntity.get('filter') + }, + + get inserterFilters() { + const f = rawEntity.get('filters') + return f ? f.toJS() : undefined + }, + + get constantCombinatorFilters() { + const f = rawEntity.getIn(['control_behavior', 'filters']) + return f ? f.toJS() : undefined + }, + + get logisticChestFilters() { + const f = rawEntity.get('request_filters') + return f ? f.toJS() : undefined + }, + + get deciderCombinatorConditions() { + const c = rawEntity.getIn(['control_behavior', 'decider_conditions']) + return c ? c.toJS() : undefined + }, + + get arithmeticCombinatorConditions() { + const c = rawEntity.getIn(['control_behavior', 'arithmetic_conditions']) + return c ? c.toJS() : undefined + }, + + get hasConnections() { + return rawEntity.get('connections') !== undefined + }, + + get connections() { + const c = rawEntity.get('connections') + return c ? c.toJS() : undefined + }, + + get connectedEntities() { + const c = rawEntity.get('connections') + if (!c) return + const connections = c.toJS() + const entities = [] + for (const side in connections) { + for (const color in connections[side]) { + for (const c of connections[side][color]) { + entities.push(c.entity_id) + } + } + } + return entities + }, + + get chemicalPlantDontConnectOutput() { + const r = this.recipe + if (!r) return false + const rData = factorioData.getRecipe(r) + const recipe = (rData.normal ? rData.normal : rData) + if (recipe.result || recipe.results[0].type === 'item') return true + return false + }, + + get trainStopColor() { + const c = rawEntity.get('color') + return c ? c.toJS() : undefined + }, + + get operator() { + if (this.name === 'decider-combinator') { + const cb = rawEntity.get('control_behavior') + if (cb) return cb.getIn(['decider_conditions', 'comparator']) + } + if (this.name === 'arithmetic-combinator') { + const cb = rawEntity.get('control_behavior') + if (cb) return cb.getIn(['arithmetic_conditions', 'operation']) + } + return undefined + }, + + getArea(pos?: IPoint) { + return new Area({ + x: pos ? pos.x : this.position.x, + y: pos ? pos.y : this.position.y, + width: this.size.x, + height: this.size.y + }, true) + }, + + change(name: string, direction: number) { + BP.operation(this.entity_number, 'Changed Entity', entities => ( + entities.withMutations(map => { + map.setIn([this.entity_number, 'name'], name) + map.setIn([this.entity_number, 'direction'], direction) + }) + )) + }, + + move(pos: IPoint) { + const entity = BP.entity(this.entity_number) + if (!BP.entityPositionGrid.checkNoOverlap(entity.name, entity.direction, pos)) return false + BP.operation(this.entity_number, 'Moved entity', + entities => entities.setIn([this.entity_number, 'position'], Immutable.fromJS(pos)), + 'mov' + ) + BP.entityPositionGrid.setTileData(this.entity_number) + return true + }, + + rotate(notMoving: boolean, offset?: IPoint, pushToHistory = true, otherEntity?: number) { + if (!this.assemblerCraftsWithFluid && + (this.name === 'assembling-machine-2' || this.name === 'assembling-machine-3')) return false + if (notMoving && BP.entityPositionGrid.sharesCell(this.getArea())) return false + const pr = this.entityData.possible_rotations + if (!pr) return false + const newDir = pr[(pr.indexOf(this.direction) + + (notMoving && (this.size.x !== this.size.y || this.type === 'underground-belt') ? 2 : 1) + ) % pr.length + ] + if (newDir === this.direction) return false + BP.operation(otherEntity ? [this.entity_number, otherEntity] : this.entity_number, 'Rotated entity', + entities => entities.withMutations(map => { + map.setIn([this.entity_number, 'direction'], newDir) + if (notMoving && this.type === 'underground-belt') { + map.updateIn([this.entity_number, 'type'], directionType => + directionType === 'input' ? 'output' : 'input' + ) + } + if (!notMoving && this.size.x !== this.size.y) { + // tslint:disable-next-line:no-parameter-reassignment + map.updateIn([this.entity_number, 'position', 'x'], x => x += offset.x) + // tslint:disable-next-line:no-parameter-reassignment + map.updateIn([this.entity_number, 'position', 'y'], y => y += offset.y) + } + }), + 'upd', + notMoving && pushToHistory + ) + return true + }, + + topLeft() { + return { x: this.position.x - (this.size.x / 2), y: this.position.y - (this.size.y / 2) } + }, + topRight() { + return { x: this.position.x + (this.size.x / 2), y: this.position.y - (this.size.y / 2) } + }, + bottomLeft() { + return { x: this.position.x - (this.size.x / 2), y: this.position.y + (this.size.y / 2) } + }, + bottomRight() { + return { x: this.position.x + (this.size.x / 2), y: this.position.y + (this.size.y / 2) } + }, + + get assemblerCraftsWithFluid() { + return this.recipe && + factorioData.getRecipe(this.recipe).category === 'crafting-with-fluid' && + this.entityData.crafting_categories && + this.entityData.crafting_categories.includes('crafting-with-fluid') + }, + + get assemblerPipeDirection() { + if (!this.recipe) return + const recipeData = factorioData.getRecipe(this.recipe) + const rD = recipeData.normal ? recipeData.normal : recipeData + for (const io of rD.ingredients) { + if (io.type === 'fluid') { + return 'input' + } + } + if (rD.results) { + for (const io of rD.results) { + if (io.type === 'fluid') { + return 'output' + } + } + } + }, + + getWireConnectionPoint(color: string, side: number) { + const e = this.entityData + // poles + if (e.connection_points) return e.connection_points[this.direction / 2].wire[color] + // combinators + if (e.input_connection_points) { + if (side === 1) return e.input_connection_points[this.direction / 2].wire[color] + return e.output_connection_points[this.direction / 2].wire[color] + } + if (e.circuit_wire_connection_point) return e.circuit_wire_connection_point.wire[color] + + if (this.type === 'transport-belt') { + return e.circuit_wire_connection_points[ + factorioData.getBeltConnections2(BP, this.position, this.direction) * 4 + ].wire[color] + } + if (e.circuit_wire_connection_points.length === 8) { + return e.circuit_wire_connection_points[7 - this.direction].wire[color] + } + if (this.name === 'constant-combinator') { + return e.circuit_wire_connection_points[this.direction / 2].wire[color] + } + return e.circuit_wire_connection_points[3 - this.direction / 2].wire[color] + }, + + toJS() { + return rawEntity.toJS() + } + } + } +} diff --git a/src/factorio-data/factorioData.ts b/src/factorio-data/factorioData.ts new file mode 100644 index 00000000..b6b9227e --- /dev/null +++ b/src/factorio-data/factorioData.ts @@ -0,0 +1,1048 @@ +import itemBundle from '../bundles/itemBundle.json' +import recipeBundle from '../bundles/recipeBundle.json' +import entityBundle from '../bundles/entityBundle.json' +import tileBundle from '../bundles/tileBundle.json' +import { Area } from './positionGrid' +import util from '../util' +import { Blueprint } from './blueprint' + +// tslint:disable:max-file-line-count +export default { + getSpriteData, + getTile, + getItem, + getRecipe, + getEntity, + getEntities, + getItems, + getRecipes, + getTiles, + getAll, + checkEntityName, + checkItemName, + checkRecipeName, + checkTileName, + getItemTypeForBp, + getBeltConnections2 +} + +for (const e in entityBundle) { + const entity = entityBundle[e] + let func = generateGraphics(entity) + if (hasPipeCoverFeature(entity)) { + func = appendToFunc(entity, func) + } + if (hasWireConnectionFeature(entity)) { + func = appendToFunc2(entity, func) + } + func = appendToFunc3(func) + entity.generate = func +} + +function hasPipeCoverFeature(e: any) { + if (e.fluid_box || + e.fluid_boxes || + e.output_fluid_box) return true +} + +function hasWireConnectionFeature(e: any) { + if (e.type === 'transport-belt') return false + if (e.connection_points || + e.input_connection_points || + e.circuit_wire_connection_point || + e.circuit_wire_connection_points) return true +} + +function appendToFunc(e: any, func: (data: any) => any) { + return (data: any) => { + const ret = func(data) + generateCovers(e, data, ret) + return ret + } +} + +function appendToFunc2(e: any, func: (data: any) => any) { + return (data: any) => { + const ret = func(data) + generateConnection(e, data, ret) + return ret + } +} + +function appendToFunc3(func: (data: any) => any) { + return (data: any) => { + const ret = func(data) + for (let i = 0; i < ret.length; i++) { + ret[i] = data.hr && ret[i].hr_version ? ret[i].hr_version : ret[i] + if (ret[i].apply_runtime_tint && !ret[i].color) { + ret[i].color = { + r: 0.73, + g: 0.59, + b: 0.44, + a: 0.75 + } + } + } + return ret + } +} + +function getSpriteData(entity: any, hr: boolean, bp: Blueprint) { + return entityBundle[entity.name].generate({ + hr, + dir: entity.direction, + + bp, + position: entity.position, + hasConnections: entity.hasConnections, + + dirType: entity.directionType, + operator: entity.operator, + assemblerCraftsWithFluid: entity.assemblerCraftsWithFluid, + assemblerPipeDirection: entity.assemblerPipeDirection, + trainStopColor: entity.trainStopColor, + chemicalPlantDontConnectOutput: entity.chemicalPlantDontConnectOutput + }) +} + +function checkNameInBundle(name: string, bundle: any/*, bundleName*/) { + // if (typeof name !== 'string') throw new Error('Expected name to be a string, instead got ' + name) + // if (!bundle[name]) throw new Error(name + ' does not exist in ' + bundleName + '!') + // return name + if (bundle[name]) return true + return false +} + +function checkItemName(name: string) { + return checkNameInBundle(name, itemBundle) +} + +function checkRecipeName(name: string) { + return checkNameInBundle(name, recipeBundle) +} + +function checkEntityName(name: string) { + return checkNameInBundle(name, entityBundle) +} + +function checkTileName(name: string) { + return checkNameInBundle(name, tileBundle) +} + +function getItem(name: string) { + return itemBundle[name] || undefined +} + +function getRecipe(name: string) { + return recipeBundle[name] || undefined +} + +function getEntity(name: string) { + return entityBundle[name] || undefined +} + +function getTile(name: string) { + return tileBundle[name] || undefined +} + +function getItems() { + return itemBundle +} + +function getRecipes() { + return recipeBundle +} + +function getEntities() { + return entityBundle +} + +function getTiles() { + return tileBundle +} + +function getAll(name: string) { + return { + item: getItem(name), + recipe: getRecipe(name), + entity: getEntity(name) + } +} + +function getItemTypeForBp(name: string) { + const type = getItem(name).type + if (type === 'virtual-signal') return 'virtual' + if (type === 'fluid') return 'fluid' + return 'item' +} + +function getPipeCovers(e: any) { + if (e.fluid_box && e.output_fluid_box) { + return e.fluid_box.pipe_covers + } + if (e.fluid_box) { + return e.fluid_box.pipe_covers + } + if (e.output_fluid_box) { + return e.output_fluid_box.pipe_covers + } + if (e.fluid_boxes) { + for (const fb of e.fluid_boxes) { + if (typeof fb === 'object') { + return fb.pipe_covers + } + } + } +} + +function generateConnection(e: any, data: any, out: any[]) { + if (data.hasConnections) { + if (e.circuit_connector_sprites) { + const temp = e.circuit_connector_sprites instanceof Array ? + e.circuit_connector_sprites[ + e.circuit_connector_sprites.length === 8 ? (7 - data.dir) : (3 - data.dir / 2) + ] : e.circuit_connector_sprites + out.push(temp.connector_main) + out.push(temp.wire_pins) + out.push(temp.led_blue_off) + } + } +} + +function generateCovers(e: any, data: IEntityData, out: any[]) { + if (e.name === 'pipe' || + ((e.name === 'assembling-machine-2' || e.name === 'assembling-machine-3') && + !data.assemblerCraftsWithFluid) + ) return + + const connections = getPipeConnectionPoints(e, data.dir, data.assemblerPipeDirection) + if (connections) { + for (const connection of connections) { + + const dir = Math.abs(connection.x) > Math.abs(connection.y) ? + (Math.sign(connection.x) === 1 ? 2 : 6) : + (Math.sign(connection.y) === 1 ? 4 : 0) + + function needsCover() { + if (e.name === 'chemical-plant' && data.chemicalPlantDontConnectOutput && + data.dir === (dir + 4) % 8) return true + + const pos = { + x: Math.floor(data.position.x + connection.x), + y: Math.floor(data.position.y + connection.y) + } + + const ent = data.bp.entity(data.bp.entityPositionGrid.getCellAtPosition(pos)) + if (!ent) return true + + if (ent.name === 'chemical-plant' && ent.chemicalPlantDontConnectOutput && + ent.direction === dir) return true + + if (ent.name === 'pipe' || + ent.name === 'pipe-to-ground' || + ent.entityData.fluid_box || + ent.entityData.output_fluid_box || + ent.entityData.fluid_boxes) { + + const connections2 = getPipeConnectionPoints( + ent.entityData, ent.direction, ent.assemblerPipeDirection + ) + for (const connection2 of connections2) { + const p2 = { ...pos } + switch (dir) { + case 0: p2.y += 1; break + case 2: p2.x -= 1; break + case 4: p2.y -= 1; break + case 6: p2.x += 1 + } + if (p2.x === Math.floor(ent.position.x + connection2.x) && + p2.y === Math.floor(ent.position.y + connection2.y)) return false + } + } + return true + } + + if (!data.bp || needsCover()) { + let temp = getPipeCovers(e)[dir].layers[0] + temp = util.add_to_shift(connection, util.duplicate(temp)) + if (dir === 4) { + out.push(temp) + } else { + out.unshift(temp) + } + } + } + } +} + +function getPipeConnectionPoints(e: any, dir: number, assemblerPipeDirection: string) { + function getConn() { + if (e.fluid_box && e.output_fluid_box) { + return [...e.fluid_box.pipe_connections, ...e.output_fluid_box.pipe_connections] + } + if (e.fluid_box) { + if (e.name === 'pipe-to-ground') { + return [e.fluid_box.pipe_connections[0]] + } + return e.fluid_box.pipe_connections + } + if (e.output_fluid_box) { + return e.output_fluid_box.pipe_connections + } + if (e.fluid_boxes) { + const conn = [] + for (const fb of e.fluid_boxes) { + if (typeof fb === 'object') { + conn.push(fb.pipe_connections[0]) + } + } + return conn + } + return undefined + } + const connections = getConn() + if (!connections) return undefined + const positions = [] + // tslint:disable-next-line:prefer-switch + if (e.name === 'pumpjack') { + positions.push({ x: connections[0].positions[dir / 2][0], y: connections[0].positions[dir / 2][1] }) + } else if (e.name === 'assembling-machine-2' || e.name === 'assembling-machine-3') { + positions.push(util.rotatePointBasedOnDir( + connections[assemblerPipeDirection === 'input' ? 0 : 1].position, dir + )) + } else { + for (const connection of connections) { + positions.push(util.rotatePointBasedOnDir(connection.position, dir)) + } + } + return positions +} + +function getHeatConectionPoints(e: any) { + // nuclear reactor + if (e.heat_buffer) return e.heat_buffer.connections + // heat exchanger + if (e.energy_source) return e.energy_source.connections +} + +function getHeatConnections(position: IPoint, bp: Blueprint) { + return bp.entityPositionGrid.getSurroundingEntities(new Area(position), (entnr, _, X, Y) => { + const entity = bp.entity(entnr) + // tslint:disable-next-line:prefer-switch + if (entity.name === 'heat-pipe') return true + else if (entity.name === 'heat-exchanger' || entity.name === 'nuclear-reactor') { + const connections = getHeatConectionPoints(entity.entityData) + for (const connection of connections) { + const offset = util.rotatePointBasedOnDir(connection.position, entity.direction) + if (X === Math.floor(entity.position.x + offset.x) && + Y === Math.floor(entity.position.y + offset.y)) return true + } + } + }) +} + +function getBeltConnections2(bp: Blueprint, position: IPoint, dir: number) { + const directions = bp.entityPositionGrid.getSurroundingEntities(new Area(position), entnr => { + const entity = bp.entity(entnr) + if (entity.type === 'transport-belt' || + entity.type === 'splitter' || + (entity.type === 'underground-belt' && + entity.directionType === 'output')) return entity.direction + }, dir) + + const foundR = directions[1] !== false && (directions[1] + 2) % 8 === dir + const foundL = directions[3] === (dir + 2) % 8 + + if ((dir === directions[2] && (foundR || foundL)) || (foundR && foundL)) { + return 0 + } + if (!foundR && !foundL) { + if (dir === 0 || dir === 4) return 2 + return 1 + } + switch (dir) { + case 0: if (foundR) return 5; else return 6 + case 2: if (foundR) return 3; else return 5 + case 4: if (foundR) return 4; else return 3 + case 6: if (foundR) return 6; else return 4 + } +} + +function generateGraphics(e: any) { + + if (e.name.search('combinator') !== -1) { + return (data: IEntityData) => { + function getBaseSprite() { return e.sprites[data.dir].layers[0] } + + if (e.name === 'decider-combinator' || e.name === 'arithmetic-combinator') { + function mapSymbolToSpriteName() { + if (!data.operator) return e.name === 'decider-combinator' ? 'less' : 'multiply' + switch (data.operator) { + case '<': return 'less' + case '>': return 'greater' + case '≤': return 'less_or_equal' + case '≥': return 'greater_or_equal' + case '=': return 'equal' + case '≠': return 'not_equal' + + case '+': return 'plus' + case '-': return 'minus' + case '*': return 'multiply' + case '/': return 'divide' + case '%': return 'modulo' + case '^': return 'power' + case '<<': return 'left_shift' + case '>>': return 'right_shift' + case 'AND': return 'and' + case 'OR': return 'or' + case 'XOR': return 'xor' + } + } + return [getBaseSprite(), e[mapSymbolToSpriteName() + '_symbol_sprites'][data.dir]] + } + return [getBaseSprite()] + } + } + + if (e.name.search('assembling-machine') !== -1) { + return (data: IEntityData) => { + if ( + (e.name === 'assembling-machine-2' || e.name === 'assembling-machine-3') && + data.assemblerCraftsWithFluid + ) { + const pipeDirection = data.assemblerPipeDirection === 'input' ? data.dir : (data.dir + 4) % 8 + const out = [ + e.animation.layers[0], + util.add_to_shift( + getPipeConnectionPoints(e, data.dir, data.assemblerPipeDirection)[0], + util.duplicate(e.fluid_boxes[0].pipe_picture[pipeDirection]) + ) + ] + if (pipeDirection === 0) return [out[1], out[0]] + return out + } + return [e.animation.layers[0]] + } + } + + switch (e.name) { + case 'accumulator': return () => [e.picture] + case 'solar-panel': return () => [e.picture.layers[0]] + case 'radar': return () => [e.pictures.layers[0]] + case 'small-lamp': return () => [e.picture_off.layers[0]] + case 'land-mine': return () => [e.picture_set] + case 'programmable-speaker': return () => [e.sprite.layers[0]] + case 'power-switch': return () => [e.power_on_animation] + case 'beacon': return () => [e.base_picture, e.animation] + case 'lab': return () => [e.off_animation.layers[0]] + + case 'offshore-pump': return (data: IEntityData) => [e.picture[data.dir]] + case 'pipe-to-ground': return (data: IEntityData) => [e.pictures[data.dir]] + case 'burner-mining-drill': return (data: IEntityData) => [e.animations[data.dir].layers[0]] + + case 'pumpjack': return (data: IEntityData) => [ + util.duplicateAndSetPropertyUsing(e.base_picture.sheets[0], 'x', 'width', data.dir / 2), + e.animations[0].layers[0] + ] + case 'storage-tank': return (data: IEntityData) => [ + e.pictures.window_background, + util.set_property_using(util.duplicate(e.pictures.picture.sheets[0]), 'x', data.dir === 2 ? 'width' : undefined) + ] + case 'centrifuge': return () => [ + e.idle_animation.layers[0], + e.idle_animation.layers[2], + e.idle_animation.layers[4] + ] + case 'roboport': return () => [e.base.layers[0], e.door_animation_up, e.door_animation_down, e.base_animation] + case 'rocket-silo': return () => [ + e.door_back_sprite, + e.door_front_sprite, + e.base_day_sprite, + e.arm_01_back_animation, + e.arm_02_right_animation, + e.arm_03_front_animation, + e.satellite_animation + ] + + case 'electric-mining-drill': + case 'pump': return (data: IEntityData) => [e.animations[data.dir]] + case 'boiler': return (data: IEntityData) => [e.structure[data.dir].layers[0]] + case 'heat-exchanger': return (data: IEntityData) => { + let needsEnding = true + if (data.bp) { + const conn = getHeatConectionPoints(e)[0] + const pos = util.rotatePointBasedOnDir(conn.position, data.dir) + const c = getHeatConnections({ + x: Math.floor(data.position.x + pos.x), + y: Math.floor(data.position.y + pos.y) + }, data.bp) + needsEnding = !c[(data.dir + conn.direction) % 8 / 2] + } + if (needsEnding) { + return [ + util.add_to_shift(util.rotatePointBasedOnDir([0, 1.5], data.dir), + util.duplicate(e.energy_source.pipe_covers[(data.dir + 4) % 8]) + ), + e.structure[data.dir].layers[0] + ] + } + return [e.structure[data.dir].layers[0]] + } + case 'oil-refinery': + case 'chemical-plant': return (data: IEntityData) => [e.animation[data.dir].layers[0]] + case 'steam-engine': + case 'steam-turbine': return (data: IEntityData) => [ + data.dir === 0 ? e.vertical_animation.layers[0] : e.horizontal_animation.layers[0] + ] + case 'gun-turret': + case 'laser-turret': return (data: IEntityData) => [ + ...e.base_picture.layers, + util.duplicateAndSetPropertyUsing(e.folded_animation.layers[0], 'y', 'height', data.dir / 2), + util.duplicateAndSetPropertyUsing(e.folded_animation.layers[e.name === 'laser-turret' ? 2 : 1], 'y', 'height', data.dir / 2) + ] + + case 'train-stop': return (data: IEntityData) => { + const dir = data.dir + let ta = util.duplicate(e.top_animations[dir].layers[1]) + ta = util.set_property(ta, 'color', data.trainStopColor ? data.trainStopColor : e.color) + return [ + e.rail_overlay_animations[dir], + e.animations[dir].layers[0], + e.top_animations[dir].layers[0], + ta, + e.light1.picture[dir], + e.light2.picture[dir] + ] + } + case 'flamethrower-turret': return (data: IEntityData) => { + const dir = data.dir + let pipe = entityBundle['pipe'] + pipe = dir === 0 || dir === 4 ? pipe.pictures.straight_horizontal : pipe.pictures.straight_vertical + const p1 = util.add_to_shift(util.rotatePointBasedOnDir([0.5, 1], dir), util.duplicate(pipe)) + const p2 = util.add_to_shift(util.rotatePointBasedOnDir([-0.5, 1], dir), util.duplicate(pipe)) + return [ + p1, + p2, + e.base_picture[dir].layers[0], + e.base_picture[dir].layers[1], + e.folded_animation[dir].layers[0], + e.folded_animation[dir].layers[1] + ] + } + case 'artillery-turret': return (data: IEntityData) => { + const d = data.dir * 2 + e.cannon_base_pictures.layers[0].filename = e.cannon_base_pictures.layers[0].filenames[d] + e.cannon_base_pictures.layers[0].hr_version.filename = e.cannon_base_pictures.layers[0].hr_version.filenames[d] + e.cannon_barrel_pictures.layers[0].filename = e.cannon_barrel_pictures.layers[0].filenames[d] + e.cannon_barrel_pictures.layers[0].hr_version.filename = e.cannon_barrel_pictures.layers[0].hr_version.filenames[d] + return [ + e.base_picture.layers[0], + e.cannon_barrel_pictures.layers[0], + e.cannon_base_pictures.layers[0] + ] + } + case 'straight-rail': + case 'curved-rail': return (data: IEntityData) => { + const dir = data.dir + function getBaseSprites() { + function getRailSpriteForDir() { + const p = e.pictures + if (e.name === 'straight-rail') { + switch (dir) { + case 0: return p.straight_rail_vertical + case 1: return p.straight_rail_diagonal_right_top + case 2: return p.straight_rail_horizontal + case 3: return p.straight_rail_diagonal_right_bottom + case 4: return p.straight_rail_vertical + case 5: return p.straight_rail_diagonal_left_bottom + case 6: return p.straight_rail_horizontal + case 7: return p.straight_rail_diagonal_left_top + } + } else { + switch (dir) { + case 0: return p.curved_rail_vertical_left_bottom + case 1: return p.curved_rail_vertical_right_bottom + case 2: return p.curved_rail_horizontal_left_top + case 3: return p.curved_rail_horizontal_left_bottom + case 4: return p.curved_rail_vertical_right_top + case 5: return p.curved_rail_vertical_left_top + case 6: return p.curved_rail_horizontal_right_bottom + case 7: return p.curved_rail_horizontal_right_top + } + } + } + const ps = getRailSpriteForDir() + return [ + ps.stone_path_background, + ps.stone_path, + ps.ties, + ps.backplates, + ps.metals + ] + } + + if (data.bp && e.name === 'straight-rail' && (dir === 0 || dir === 2)) { + const size = util.switchSizeBasedOnDirection(e.size, dir) + const gates = data.bp.entityPositionGrid.foreachOverlap(new Area({ + x: data.position.x, + y: data.position.y, + width: size.x, + height: size.y + }, true), (entnr: number) => { + const ent = data.bp.entity(entnr) + if (ent && ent.name === 'gate') return true + }, true) + if (gates) { + const railBases: any[] = [] + function assignShiftAndPushPicture(shift: number[], picture: string) { + railBases.push(util.add_to_shift(shift, util.duplicate(entityBundle['gate'][picture]))) + } + if (dir === 0) { + if (gates[0] || gates[2]) { + assignShiftAndPushPicture([0, -0.5], 'horizontal_rail_base') + assignShiftAndPushPicture([0, -0.5], 'horizontal_rail_base_mask') + } + if (gates[1] || gates[3]) { + assignShiftAndPushPicture([0, 0.5], 'horizontal_rail_base') + assignShiftAndPushPicture([0, 0.5], 'horizontal_rail_base_mask') + } + } + if (dir === 2) { + if (gates[0] || gates[1]) { + assignShiftAndPushPicture([-0.5, 0], 'vertical_rail_base') + assignShiftAndPushPicture([-0.5, 0], 'vertical_rail_base_mask') + } + if (gates[2] || gates[3]) { + assignShiftAndPushPicture([0.5, 0], 'vertical_rail_base') + assignShiftAndPushPicture([0.5, 0], 'vertical_rail_base_mask') + } + } + return [...getBaseSprites(), ...railBases] + } + } + return getBaseSprites() + } + case 'rail-signal': + case 'rail-chain-signal': return (data: IEntityData) => { + const dir = data.dir + let rp = util.duplicateAndSetPropertyUsing(e.rail_piece, 'x', 'width', dir) + let a = util.duplicateAndSetPropertyUsing(e.animation, 'y', 'height', dir) + if (e.name === 'rail-chain-signal') { + function getRightShift() { + switch (dir) { + case 0: return [1, 0] + case 1: return [1, 1] + case 2: return [0, 1] + case 3: return [-1, 1] + case 4: return [-2, 0] + case 5: return [-1, -1] + case 6: return [0, -2] + case 7: return [1, -1] + } + } + const s = getRightShift() + rp = util.add_to_shift(s, rp) + a = util.add_to_shift(s, a) + } + return [rp, a] + } + case 'nuclear-reactor': return (data: IEntityData) => { + const conn = e.heat_buffer.connections + const patches = [] + for (let i = 0; i < conn.length; i++) { + let patchSheet = e.connection_patches_disconnected.sheet + if (data.bp) { + const c = getHeatConnections({ + x: Math.floor(data.position.x) + conn[i].position[0], + y: Math.floor(data.position.y) + conn[i].position[1] + }, data.bp) + if (c[conn[i].direction / 2]) { + patchSheet = e.connection_patches_connected.sheet + } + } + patchSheet = util.duplicateAndSetPropertyUsing(patchSheet, 'x', 'width', i) + patchSheet = util.add_to_shift(conn[i].position, patchSheet) + patches.push(patchSheet) + } + return [...patches, e.lower_layer_picture, e.picture.layers[0]] + } + case 'stone-wall': return (data: IEntityData) => { + function getBaseSprite() { + function getRandomPic(type: string) { + if (e.pictures[type] instanceof Array) { + return e.pictures[type][util.getRandomInt(0, e.pictures[type].length - 1)].layers[0] + } + return e.pictures[type].layers[0] + } + if (data.bp) { + const conn = data.bp.entityPositionGrid.getSurroundingEntities(new Area(data.position), (entnr: number, D: number) => { + const entity = data.bp.entity(entnr) + if (entity.name === 'stone-wall' || (entity.name === 'gate' && entity.direction === D % 4)) return true + }) + + if (conn[1] && conn[2] && conn[3]) return getRandomPic('t_up') + if (conn[1] && conn[2]) return getRandomPic('corner_right_down') + if (conn[2] && conn[3]) return getRandomPic('corner_left_down') + if (conn[1] && conn[3]) return getRandomPic('straight_horizontal') + if (conn[1]) return getRandomPic('ending_right') + if (conn[2]) return getRandomPic('straight_vertical') + if (conn[3]) return getRandomPic('ending_left') + } + return getRandomPic('single') + } + + if (data.bp) { + let found = false + data.bp.entityPositionGrid.getSurroundingEntities(new Area(data.position), (entnr: any, D: number) => { + const entity = data.bp.entity(entnr) + if (entity.name === 'gate' && entity.direction === D % 4) found = true + }) + if (found && !data.hasConnections) return [getBaseSprite(), e.wall_diode_red] + } + return [getBaseSprite()] + } + case 'gate': return (data: IEntityData) => { + const dir = data.dir + function getBaseSprites() { + if (data.bp) { + const size = util.switchSizeBasedOnDirection(e.size, dir) + const rail = data.bp.entityPositionGrid.getFirstFromArea(new Area({ + x: data.position.x, + y: data.position.y, + width: size.x, + height: size.y + }, true), (entnr: number) => { + const ent = data.bp.entity(entnr) + if (ent.name === 'straight-rail') return ent + }) + if (rail) { + if (dir === 0) { + if (rail.position.y > data.position.y) return [e.vertical_rail_animation_left.layers[0]] + return [e.vertical_rail_animation_right.layers[0]] + } else { + if (rail.position.x > data.position.x) return [e.horizontal_rail_animation_left.layers[0]] + return [e.horizontal_rail_animation_right.layers[0]] + } + } + } + + if (dir === 0) return [...e.vertical_base.layers, e.vertical_animation.layers[0]] + return [...e.horizontal_base.layers, e.horizontal_animation.layers[0]] + } + if (data.bp) { + const out = getBaseSprites() + const conn = data.bp.entityPositionGrid.getSurroundingEntities(new Area(data.position), (entnr: any, D: number) => { + const entity = data.bp.entity(entnr) + if (entity.name === 'stone-wall' && dir === D % 4) return true + }) + for (let i = 0; i < conn.length; i++) { + if (conn[i]) { + const wp = entityBundle['gate'].wall_patch[(i * 2 + 4) % 8].layers[0] + if (i === 0) { + out.unshift(wp) + } else { + out.push(wp) + } + } + } + return out + } + return getBaseSprites() + } + case 'pipe': return (data: IEntityData) => { + if (data.bp) { + const conn = data.bp.entityPositionGrid.getSurroundingEntities(new Area(data.position), (entnr: any, D: number) => { + const entity = data.bp.entity(entnr) + if (entity.name === 'pipe') return true + if (entity.name === 'pipe-to-ground' && entity.direction === (D + 4) % 8) return true + if ((entity.name === 'assembling-machine-2' || entity.name === 'assembling-machine-3') && + !entity.assemblerCraftsWithFluid) return false + if (entity.name === 'chemical-plant' && entity.chemicalPlantDontConnectOutput && + entity.direction === D) return false + const ed = entity.entityData + if (ed.fluid_box || ed.output_fluid_box || ed.fluid_boxes) { + const connections = getPipeConnectionPoints(ed, entity.direction, entity.assemblerPipeDirection) + for (const connection of connections) { + if (Math.floor(data.position.x) === Math.floor(entity.position.x + connection.x) && + Math.floor(data.position.y) === Math.floor(entity.position.y + connection.y)) { + return true + } + } + } + }) + + if (conn[0] && conn[1] && conn[2] && conn[3]) return [e.pictures.cross] + if (conn[0] && conn[1] && conn[3]) return [e.pictures.t_up] + if (conn[1] && conn[2] && conn[3]) return [e.pictures.t_down] + if (conn[0] && conn[1] && conn[2]) return [e.pictures.t_right] + if (conn[0] && conn[2] && conn[3]) return [e.pictures.t_left] + if (conn[0] && conn[2]) return [e.pictures.straight_vertical] + if (conn[1] && conn[3]) return [e.pictures.straight_horizontal] + if (conn[0] && conn[1]) return [e.pictures.corner_up_right] + if (conn[0] && conn[3]) return [e.pictures.corner_up_left] + if (conn[1] && conn[2]) return [e.pictures.corner_down_right] + if (conn[2] && conn[3]) return [e.pictures.corner_down_left] + if (conn[0]) return [e.pictures.ending_up] + if (conn[2]) return [e.pictures.ending_down] + if (conn[1]) return [e.pictures.ending_right] + if (conn[3]) return [e.pictures.ending_left] + } + return [e.pictures.straight_vertical_single] + } + case 'heat-pipe': return (data: IEntityData) => { + function getRandomPic(type: string) { + if (e.connection_sprites[type].length === 1) return [e.connection_sprites[type][0]] + return [e.connection_sprites[type][util.getRandomInt(0, e.connection_sprites[type].length - 1)]] + } + if (data.bp) { + const conn = getHeatConnections(data.position, data.bp) + if (conn[0] && conn[1] && conn[2] && conn[3]) return getRandomPic('cross') + if (conn[0] && conn[1] && conn[3]) return getRandomPic('t_up') + if (conn[1] && conn[2] && conn[3]) return getRandomPic('t_down') + if (conn[0] && conn[1] && conn[2]) return getRandomPic('t_right') + if (conn[0] && conn[2] && conn[3]) return getRandomPic('t_left') + if (conn[0] && conn[2]) return getRandomPic('straight_vertical') + if (conn[1] && conn[3]) return getRandomPic('straight_horizontal') + if (conn[0] && conn[1]) return getRandomPic('corner_right_up') + if (conn[0] && conn[3]) return getRandomPic('corner_left_up') + if (conn[1] && conn[2]) return getRandomPic('corner_right_down') + if (conn[2] && conn[3]) return getRandomPic('corner_left_down') + if (conn[0]) return getRandomPic('ending_up') + if (conn[2]) return getRandomPic('ending_down') + if (conn[1]) return getRandomPic('ending_right') + if (conn[3]) return getRandomPic('ending_left') + } + return getRandomPic('single') + } + } + + switch (e.type) { + case 'electric-pole': return () => [e.pictures] + case 'furnace': return () => [e.animation.layers[0]] + case 'container': + case 'logistic-container': return () => [e.picture] + + case 'splitter': return (data: IEntityData) => { + const dir = data.dir + const nP = e.name.split('-') + const beltType = nP.length === 1 ? '' : nP[0] + '-' + + let belt = entityBundle[beltType + 'transport-belt'] + belt = dir === 0 || dir === 4 ? belt.belt_vertical : belt.belt_horizontal + + belt = util.duplicate(belt) + if (dir === 4) belt = util.set_property(belt, 'flipY', true) + if (dir === 6) belt = util.set_property(belt, 'flipX', true) + + let belt2 = util.duplicate(belt) + belt = util.add_to_shift(util.rotatePointBasedOnDir([-0.5, 0], dir), belt) + belt2 = util.add_to_shift(util.rotatePointBasedOnDir([0.5, 0], dir), belt2) + + return [belt, belt2, e.structure[dir]] + } + case 'underground-belt': return (data: IEntityData) => { + const dir = data.dir + let belt = dir === 0 || dir === 4 ? e.belt_vertical : e.belt_horizontal + + belt = util.duplicate(belt) + if (dir === 6) belt = util.set_property(belt, 'flipX', true) + if (dir === 4) belt = util.set_property(belt, 'flipY', true) + belt = util.set_property(belt, dir === 2 || dir === 6 ? 'divW' : 'divH', 2) + + const dirType = data.dirType === 'output' ? -1 : 1 + belt = util.add_to_shift([ + (dir === 2 ? -1 : (dir === 6 ? 1 : 0)) * dirType * (dirType === 1 ? 0.35 : 0.2), + // * ((data.hr ? belt.hr_version.width : belt.width) / 8 * dirType) / 32, + (dir === 4 ? -1 : (dir === 0 ? 1 : 0)) * dirType * (dirType === 1 ? 0.2 : 0.35) + // * ((data.hr ? belt.hr_version.height : belt.height) / 8 * dirType) / 32 + ], belt) + return [ + belt, + util.duplicateAndSetPropertyUsing( + dirType === 1 ? e.structure.direction_in.sheet : e.structure.direction_out.sheet, + 'x', + 'width', + (dirType === 1 ? dir : ((dir + 4) % 8)) / 2 + ) + ] + } + case 'transport-belt': return (data: IEntityData) => { + const dir = data.dir + function getBeltConnections() { + const directions = data.bp.entityPositionGrid.getSurroundingEntities(new Area(data.position), (entnr: number) => { + const entity = data.bp.entity(entnr) + if (entity.type === 'transport-belt' || + entity.type === 'splitter' || + (entity.type === 'underground-belt' && + entity.directionType === 'output')) { + return entity.direction + } + }, dir) + + const rightEntDir = directions[1] + const leftEntDir = directions[3] + + if (dir === directions[2]) return false + let found = false + if (rightEntDir !== false && (rightEntDir + 2) % 8 === dir) { + found = true + } + if (leftEntDir === (dir + 2) % 8) { + if (found) { + return false + } else { + return leftEntDir + } + } + if (found) { + return rightEntDir + } + return false + } + + let belt = dir === 0 || dir === 4 ? e.belt_vertical : e.belt_horizontal + + if (data.bp) { + belt = util.duplicate(belt) + const res = getBeltConnections() + if (res !== false) { + const temp = res === 0 || res === 4 + belt = util.set_property(belt, 'rot', (res + (temp ? 0 : 2)) / 2) + belt = util.set_property_using(belt, 'y', 'height', + (temp ? 11 : 8) * (data.hr && e.name !== 'transport-belt' ? 2 : 1)) + if (res === (dir + 2) % 8) { + belt = util.set_property(belt, temp ? 'flipX' : 'flipY', true) + } + } else { + if (dir === 6) { + belt = util.set_property(belt, 'flipX', true) + } + if (dir === 4) { + belt = util.set_property(belt, 'flipY', true) + } + } + } else { + if (dir === 6) { + belt = util.set_property(util.duplicate(belt), 'flipX', true) + } + if (dir === 4) { + belt = util.set_property(util.duplicate(belt), 'flipY', true) + } + } + + if (data.hasConnections) { + let frame = e.connector_frame_sprites.frame_main.sheet + frame = util.duplicate(frame) + frame = util.set_property_using(frame, 'x', 'width') + frame = util.set_property_using(frame, 'y', 'height', + data.bp ? getBeltConnections2(data.bp, data.position, dir) : (dir === 0 || dir === 4 ? 2 : 1) + ) + return [belt, frame] + } + return [belt] + } + case 'inserter': return (data: IEntityData) => { + const dir = data.dir + let ho = util.duplicate(e.hand_open_picture) + let hb = util.duplicate(e.hand_base_picture) + const hoMod = { + rot: 0, + height_divider: 1, + x: 0, + y: 0 + } + const hbMod = { ...hoMod } + const am = 0.5 + if (e.name === 'long-handed-inserter') { + switch (dir) { + case 0: + hoMod.rot = 2 + hoMod.height_divider = 3 + hoMod.y = -am * 1.5 + + hbMod.y = -am + break + case 2: + hoMod.rot = 1.7 + hoMod.height_divider = 1.5 + hoMod.x = am + hoMod.y = -am / 1.25 + + hbMod.rot = 0.3 + hbMod.x = am / 3 + hbMod.y = -am / 1.5 + break + case 4: + hoMod.rot = 2 + hoMod.height_divider = 1.25 + hoMod.y = am / 1.75 + + hbMod.rot = 0 + hbMod.height_divider = 1.75 + hbMod.y = -am / 1.75 + break + case 6: + hoMod.rot = 2.3 + hoMod.height_divider = 1.5 + hoMod.x = -am + hoMod.y = -am / 1.25 + + hbMod.rot = 3.7 + hbMod.x = -am / 3 + hbMod.y = -am / 1.5 + } + } else { + switch (dir) { + case 6: + hoMod.rot = 2.5 + hoMod.height_divider = 2 + hoMod.x = -am + hoMod.y = -am * 0.5 + + hbMod.rot = 3.5 + hbMod.height_divider = 1.5 + hbMod.x = -am / 3 + hbMod.y = -am / 2 + break + case 2: + hoMod.rot = 1.5 + hoMod.height_divider = 2 + hoMod.x = am + hoMod.y = -am * 0.5 + + hbMod.rot = 0.5 + hbMod.height_divider = 1.5 + hbMod.x = am / 3 + hbMod.y = -am / 2 + break + case 4: + hoMod.rot = 2 + hoMod.height_divider = 1.75 + hoMod.y = am / 1.5 + + hbMod.rot = 2 + hbMod.height_divider = 5 + break + case 0: + hoMod.height_divider = 3 + hoMod.y = -am * 1.5 + + hbMod.height_divider = 1.25 + hbMod.y = -am / 1.5 + } + } + ho = util.set_property(ho, 'rot', hoMod.rot) + ho = util.set_property(ho, 'height_divider', hoMod.height_divider) + ho = util.add_to_shift(hoMod, ho) + + hb = util.set_property(hb, 'rot', hbMod.rot) + hb = util.set_property(hb, 'height_divider', hbMod.height_divider) + hb = util.add_to_shift(hbMod, hb) + return [ + util.duplicateAndSetPropertyUsing(e.platform_picture.sheet, 'x', 'width', ((dir + 4) % 8) / 2), + ho, + hb + ] + } + } +} diff --git a/src/factorio-data/positionGrid.ts b/src/factorio-data/positionGrid.ts new file mode 100644 index 00000000..d9739eae --- /dev/null +++ b/src/factorio-data/positionGrid.ts @@ -0,0 +1,361 @@ +import { Blueprint } from './blueprint' +import util from '../util' +import factorioData from './factorioData' +import Immutable from 'immutable' +import { isNumber } from 'util' + +export class Area { + y: number + x: number + height: number + width: number + + constructor(data: any, posIsCenter?: boolean) { + this.width = data.width || 1 + this.height = data.height || 1 + if (posIsCenter) { + this.x = Math.round(data.x - this.width / 2) + this.y = Math.round(data.y - this.height / 2) + } else { + this.x = Math.floor(data.x) + this.y = Math.floor(data.y) + } + } +} + +export class PositionGrid { + + static tileDataAction( + grid: Immutable.Map>, + area: Area, + fn: (key: string, cell: number | Immutable.List) => boolean | void, + returnEmptyCells = false + ) { + let stop = false + for (let x = area.x, maxX = area.x + area.width; x < maxX; x++) { + for (let y = area.y, maxY = area.y + area.height; y < maxY; y++) { + const key = `${x},${y}` + const cell = grid.get(key) + if (cell || returnEmptyCells) stop = !!fn(key, cell) + if (stop) break + } + if (stop) break + } + } + + bp: Blueprint + grid: Immutable.Map> + historyIndex: number + history: Array>> + + constructor(bp: Blueprint, entity_numbers?: number[]) { + this.bp = bp + this.grid = Immutable.Map() + + // Set Bulk + if (entity_numbers) { + this.grid = this.grid.withMutations(map => { + for (const entity_number of entity_numbers) { + const entity = this.bp.entity(entity_number) + if (!entity.entityData.flags.includes('placeable-off-grid')) { + PositionGrid.tileDataAction(map, entity.getArea(), (key, cell) => { + if (cell) { + if (isNumber(cell)) { + map.set(key, Immutable.List([ + cell, + entity_number + ])) + } else { + map.setIn([key, cell.size], entity_number) + } + } else { + map.set(key, entity_number) + } + }, true) + } + } + }) + } + + this.history = [this.grid] + this.historyIndex = 0 + } + + undo() { + if (this.historyIndex === 0) return + this.grid = this.history[--this.historyIndex] + } + + redo() { + if (this.historyIndex === this.history.length - 1) return + this.grid = this.history[++this.historyIndex] + } + + operation(fn: (grid: Immutable.Map>) => Immutable.Map, pushToHistory = true) { + this.grid = fn(this.grid) + if (pushToHistory) { + if (this.historyIndex < this.history.length) { + this.history = this.history.slice(0, this.historyIndex + 1) + } + this.history.push(this.grid) + this.historyIndex++ + } + } + + getAllPositions() { + return [...this.grid.keys()].map(p => { + const pS = p.split(',') + return {x: Number(pS[0]), y: Number(pS[1])} + }) + } + + getCellAtPosition(position: any): number { + const POS = position instanceof Array ? {x: position[0], y: position[1]} : position + const cell = this.grid.get(`${Math.floor(POS.x)},${Math.floor(POS.y)}`) + if (cell) { + if (isNumber(cell)) return cell + else return cell.first() + } + } + + setTileData(entity_number: number) { + const entity = this.bp.entity(entity_number) + if (entity.entityData.flags.includes('placeable-off-grid')) return + this.operation(grid => grid.withMutations(map => { + PositionGrid.tileDataAction(map, entity.getArea(), (key, cell) => { + if (cell) { + if (isNumber(cell)) { + map.set(key, Immutable.List([ + cell, + entity_number + ])) + } else { + map.setIn([key, cell.size], entity_number) + } + } else { + map.set(key, entity_number) + } + }, true) + })) + } + + removeTileData(entity_number: number, pushToHistory?: boolean) { + this.operation(grid => grid.withMutations(map => { + PositionGrid.tileDataAction(map, this.bp.entity(entity_number).getArea(), (key, cell) => { + if (isNumber(cell)) { + if (cell === entity_number) map.delete(key) + } else { + const res = cell.findIndex(v => { + if (v === entity_number) return true + }) + if (res !== -1) { + if (map.get(key).count() === 1) { + map.delete(key) + } else { + map.deleteIn([key, res]) + if (map.get(key).count() === 1) map.set(key, map.get(key).first()) + } + } + } + }) + }), pushToHistory) + } + + checkNoOverlap(name: string, direction: number, pos: IPoint) { + const fd = factorioData.getEntity(name) + const size = util.switchSizeBasedOnDirection(fd.size, direction) + const area = new Area({ + x: pos.x, + y: pos.y, + width: size.x, + height: size.y + }, true) + + const allStrRailEnt: number[] = [] + let gateEnt: number + let strRailEnt: number + let curRailEnt: number + let otherEntities = false + + if (!this.foreachOverlap(area, cell => { + switch (this.bp.entity(cell).name) { + case 'gate': gateEnt = cell; break + case 'curved-rail': curRailEnt = cell; break + case 'straight-rail': allStrRailEnt.push(cell); strRailEnt = cell; break + default: otherEntities = true + } + })) return true + + let sameDirStrRails = false + for (const k of allStrRailEnt) { + if (this.bp.entity(k).direction === direction) { + sameDirStrRails = true + break + } + } + + if ( + (name === 'gate' && strRailEnt && allStrRailEnt.length === 1 && this.bp.entity(strRailEnt).direction !== direction && !gateEnt) || + (name === 'straight-rail' && gateEnt && !strRailEnt && this.bp.entity(gateEnt).direction !== direction && !otherEntities) || + (name === 'straight-rail' && strRailEnt && !sameDirStrRails && !gateEnt) || + (name === 'curved-rail' && strRailEnt && !gateEnt) || + (name === 'straight-rail' && curRailEnt) || + (name === 'curved-rail' && curRailEnt && this.bp.entity(curRailEnt).direction !== direction) + ) return true + + return false + } + + checkFastReplaceableGroup(name: string, direction: number, pos: IPoint) { + const fd = factorioData.getEntity(name) + const size = util.switchSizeBasedOnDirection(fd.size, direction) + const area = new Area({ + x: pos.x, + y: pos.y, + width: size.x, + height: size.y + }, true) + + if (this.sharesCell(area)) return false + const ent = this.getFirstFromArea(area, cell => { + const ent = this.bp.entity(cell) + if (ent.name !== name && + ent.entityData.fast_replaceable_group && + fd.fast_replaceable_group && + ent.entityData.fast_replaceable_group === + fd.fast_replaceable_group + ) return cell + }) + if (!ent || pos.x !== this.bp.entity(ent).position.x || + pos.y !== this.bp.entity(ent).position.y) return false + return ent + } + + checkSameEntityAndDifferentDirection(name: string, direction: number, pos: IPoint) { + if (name === 'straight-rail') return false + const fd = factorioData.getEntity(name) + const size = util.switchSizeBasedOnDirection(fd.size, direction) + const area = new Area({ + x: pos.x, + y: pos.y, + width: size.x, + height: size.y + }, true) + + if (this.sharesCell(area)) return false + const ent = this.getFirstFromArea(area, cell => { + if (this.bp.entity(cell).name === name) return cell + }) + + if (!ent) return false + const e = this.bp.entity(ent) + if (pos.x !== e.position.x || pos.y !== e.position.y || e.direction === direction) return false + return ent + } + + findEntityWithSameNameAndDirection(name: string, direction: number, pos: IPoint, searchDirection: number, maxDistance: number) { + const position = { + x: Math.floor(pos.x), + y: Math.floor(pos.y) + } + const horizontal = searchDirection % 4 !== 0 + const sign = searchDirection === 0 || searchDirection === 6 ? -1 : 1 + + for (let i = 1; i <= maxDistance; i++) { + const cell = this.grid.get( + `${position.x + (horizontal ? i * sign : 0)},${position.y + (!horizontal ? i * sign : 0)}` + ) + if (isNumber(cell)) { + const entity = this.bp.entity(cell) + if (entity.name === name) { + if (entity.direction === direction) return cell + if ((entity.direction + 4) % 8 === direction) return false + } + } + } + + return false + } + + sharesCell(area: Area) { + let output = false + PositionGrid.tileDataAction(this.grid, area, (_, cell) => { + if (Immutable.List.isList(cell)) { + output = true + return true + } + }) + return output + } + + getFirstFromArea(area: Area, fn: (cell: number) => number): false | number { + let output: boolean | number = false + PositionGrid.tileDataAction(this.grid, area, (_, cell) => { + if (isNumber(cell)) { + output = fn(cell) + if (output) return true + } else { + for (const v of cell.values()) { + output = fn(v) + if (output) return true + } + } + }) + return output + } + + foreachOverlap(area: Area, fn: (cell: number) => any, returnEmptyCells?: boolean) { + const output: boolean[] = [] + PositionGrid.tileDataAction(this.grid, area, (_, cell) => { + let out = false + if (Immutable.List.isList(cell)) { + for (const v of cell.values()) { + const o = fn(v) + if (o !== undefined) out = o + } + } else { + const o = fn(cell as number) + if (o !== undefined) out = o + } + output.push(out) + }, returnEmptyCells) + return output.length === 0 ? false : output + } + + getSurroundingEntities( + area: Area, + fn: (cell: number, relDir: number, x: number, y: number) => any, + direction?: number + ) { + const coordinates = [] + + for (let i = 0; i < area.width; i++) { + coordinates.push([0, area.x + i, area.y - 1]) + coordinates.push([4, area.x + i, area.y + area.height]) + } + for (let i = 0; i < area.height; i++) { + coordinates.push([2, area.x + area.width, area.y + i]) + coordinates.push([6, area.x - 1, area.y + i]) + } + + let output: any[] = [false, false, false, false] + for (const coordinate of coordinates) { + const cell = this.grid.get(`${coordinate[1]},${coordinate[2]}`) + const relDir = coordinate[0] / 2 + if (cell) { + if (isNumber(cell)) { + const o = fn(cell as number, coordinate[0], coordinate[1], coordinate[2]) + if (o !== undefined) output[relDir] = o + } else { + for (const v of cell.values()) { + const o = fn(v, coordinate[0], coordinate[1], coordinate[2]) + if (o !== undefined) output[relDir] = o + } + } + } + } + + if (direction) output = [...output, ...output].splice(direction / 2, 4) + return output + } +} diff --git a/src/factorio-data/tile.ts b/src/factorio-data/tile.ts new file mode 100644 index 00000000..58ffc32a --- /dev/null +++ b/src/factorio-data/tile.ts @@ -0,0 +1,30 @@ +import { Blueprint } from './blueprint' + +export class Tile { + + id: number + bp: any + name: any + position: any + + constructor(data: any, bp: Blueprint) { + this.id = -1 + this.bp = bp + this.name = data.name + if (!data.position || data.position.x === undefined || data.position.y === undefined) { + throw new Error(`Invalid position provided: ${data.position}`) + } + this.position = data.position + } + + remove() { + return this.bp.removeTile(this) + } + + getData() { + return { + name: this.name, + position: this.position + } + } +} diff --git a/src/globals.ts b/src/globals.ts new file mode 100644 index 00000000..404d3afa --- /dev/null +++ b/src/globals.ts @@ -0,0 +1,84 @@ +import { Blueprint } from './factorio-data/blueprint' +import { ToolbarContainer } from './containers/toolbar' +import { BlueprintContainer } from './containers/blueprint' +import { EditEntityContainer } from './containers/editEntity' +import { InventoryContainer } from './containers/inventory' + +// tslint:disable:prefer-const + +let app: PIXI.Application + +let toolbarContainer: ToolbarContainer +let editEntityContainer: EditEntityContainer +let inventoryContainer: InventoryContainer +let BPC: BlueprintContainer + +let gridCoordsOfCursor: IPoint = { x: 0, y: 0 } +let gridCoords16: IPoint = { x: 0, y: 0 } +let railMoveOffset: IPoint = { x: 0, y: 0 } + +let openedGUIWindow: InventoryContainer | EditEntityContainer | undefined + +const cellSize = 32 + +const positionBPContainer = { + x: 0, + y: 32 +} + +const bpArea = { + width: 400, + height: 400 +} + +const sizeBPContainer = { + width: bpArea.width * 32, + height: bpArea.height * 32 +} + +let bp: Blueprint + +const mouseStates = { + NONE: 0, + MOVING: 1, + PAINTING: 2, + PANNING: 3 +} + +const keyboard = { + w: false, + a: false, + s: false, + d: false, + shift: false +} + +let currentMouseState = mouseStates.NONE + +const copyData = { + recipe: '' +} + +let renderOnly = false + +export default { + renderOnly, + copyData, + openedGUIWindow, + inventoryContainer, + editEntityContainer, + BPC, + app, + keyboard, + toolbarContainer, + cellSize, + bpArea, + positionBPContainer, + sizeBPContainer, + gridCoordsOfCursor, + railMoveOffset, + gridCoords16, + bp, + mouseStates, + currentMouseState +} diff --git a/src/index.d.ts b/src/index.d.ts new file mode 100644 index 00000000..f9c00a78 --- /dev/null +++ b/src/index.d.ts @@ -0,0 +1,25 @@ +declare module '*.json' { + const content: any + export default content +} + +interface IPoint { + x: number + y: number +} + +interface IEntityData { + hr: boolean + dir: number + + bp: Blueprint + position: IPoint + hasConnections: boolean + + assemblerPipeDirection: string + dirType: string + operator: string + assemblerCraftsWithFluid: boolean + trainStopColor: { r: number; g: number; b: number; a: number} + chemicalPlantDontConnectOutput: boolean +} diff --git a/src/index.html b/src/index.html new file mode 100644 index 00000000..fb942f5d --- /dev/null +++ b/src/index.html @@ -0,0 +1,13 @@ + + + + + + + + BlueprintEditor + + + + + diff --git a/src/logo.png b/src/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e3f55490a6e72e08adaceb2da41219c400dd5abd GIT binary patch literal 11279 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 literal 0 HcmV?d00001 diff --git a/src/sample-blueprint.ts b/src/sample-blueprint.ts new file mode 100644 index 00000000..d5457f66 --- /dev/null +++ b/src/sample-blueprint.ts @@ -0,0 +1,2 @@ +// tslint:disable:max-line-length +export default '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' diff --git a/src/spritesheets/entitySpritesheet.json b/src/spritesheets/entitySpritesheet.json new file mode 100644 index 00000000..68709540 --- /dev/null +++ b/src/spritesheets/entitySpritesheet.json @@ -0,0 +1,1730 @@ +{ + "frames": { + "entity:rail-chain-signal/hr-rail-chain-signal-metal": { + "frame": { "x": 1, "y": 1, "w": 3840, "h": 384 }, + "sourceSize": { "w": 3840, "h": 384 } + }, + "entity:rail-chain-signal/hr-rail-chain-signal": { + "frame": { "x": 1, "y": 387, "w": 400, "h": 2560 }, + "sourceSize": { "w": 400, "h": 2560 } + }, + "entity:oil-refinery/hr-oil-refinery": { + "frame": { "x": 403, "y": 387, "w": 1544, "h": 430 }, + "sourceSize": { "w": 1544, "h": 430 } + }, + "entity:train-stop/hr-train-stop-ground": { + "frame": { "x": 1949, "y": 387, "w": 1544, "h": 377 }, + "sourceSize": { "w": 1544, "h": 377 } + }, + "entity:rail-endings/hr-rail-endings-metals": { + "frame": { "x": 403, "y": 819, "w": 2048, "h": 256 }, + "sourceSize": { "w": 2048, "h": 256 } + }, + "entity:rail-endings/hr-rail-endings-background": { + "frame": { "x": 403, "y": 1077, "w": 2048, "h": 256 }, + "sourceSize": { "w": 2048, "h": 256 } + }, + "entity:train-stop/hr-train-stop-top": { + "frame": { "x": 403, "y": 1335, "w": 1244, "h": 305 }, + "sourceSize": { "w": 1244, "h": 305 } + }, + "entity:rail-signal/hr-rail-signal-metal": { + "frame": { "x": 1649, "y": 1335, "w": 1920, "h": 192 }, + "sourceSize": { "w": 1920, "h": 192 } + }, + "entity:train-stop/hr-train-stop-top-mask": { + "frame": { "x": 403, "y": 1642, "w": 1224, "h": 295 }, + "sourceSize": { "w": 1224, "h": 295 } + }, + "entity:rail-signal/hr-rail-signal": { + "frame": { "x": 3843, "y": 1, "w": 192, "h": 1536 }, + "sourceSize": { "w": 192, "h": 1536 } + }, + "entity:pumpjack/hr-pumpjack-base": { + "frame": { "x": 1629, "y": 1642, "w": 1044, "h": 273 }, + "sourceSize": { "w": 1044, "h": 273 } + }, + "entity:chemical-plant/hr-chemical-plant": { + "frame": { "x": 2675, "y": 1642, "w": 976, "h": 268 }, + "sourceSize": { "w": 976, "h": 268 } + }, + "entity:curved-rail/hr-curved-rail-vertical-left-bottom-stone-path": { + "frame": { "x": 403, "y": 1939, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-left-top-backplates": { + "frame": { "x": 789, "y": 1939, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-left-top-ties": { + "frame": { "x": 1175, "y": 1939, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-left-top-stone-path": { + "frame": { "x": 1561, "y": 1939, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-left-top-stone-path-background": { + "frame": { "x": 1947, "y": 1939, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-right-top-metals": { + "frame": { "x": 2333, "y": 1939, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-right-top-backplates": { + "frame": { "x": 2719, "y": 1939, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-right-top-ties": { + "frame": { "x": 3105, "y": 1939, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-right-top-stone-path": { + "frame": { "x": 1, "y": 2949, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-right-top-stone-path-background": { + "frame": { "x": 387, "y": 2949, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-right-bottom-metals": { + "frame": { "x": 773, "y": 2949, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-right-bottom-backplates": { + "frame": { "x": 1159, "y": 2949, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-right-bottom-ties": { + "frame": { "x": 1545, "y": 2949, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-right-bottom-stone-path": { + "frame": { "x": 1931, "y": 2949, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-right-bottom-stone-path-background": { + "frame": { "x": 2317, "y": 2949, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-left-bottom-metals": { + "frame": { "x": 2703, "y": 2949, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-vertical-left-bottom-backplates": { + "frame": { "x": 3089, "y": 2949, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-right-top-ties": { + "frame": { "x": 403, "y": 2517, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-right-top-backplates": { + "frame": { "x": 981, "y": 2517, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-vertical-left-bottom-ties": { + "frame": { "x": 3475, "y": 2949, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-ties": { + "frame": { "x": 1559, "y": 2517, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-vertical-left-bottom-stone-path-background": { + "frame": { "x": 4037, "y": 1, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-left-top-metals": { + "frame": { "x": 2137, "y": 2517, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-left-top-backplates": { + "frame": { "x": 2715, "y": 2517, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-left-top-ties": { + "frame": { "x": 1, "y": 3527, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-left-top-stone-path": { + "frame": { "x": 579, "y": 3527, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-left-top-stone-path-background": { + "frame": { "x": 1157, "y": 3527, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-stone-path": { + "frame": { "x": 1735, "y": 3527, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-stone-path-background": { + "frame": { "x": 2313, "y": 3527, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-right-top-metals": { + "frame": { "x": 2891, "y": 3527, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-metals": { + "frame": { "x": 3469, "y": 3527, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-right-top-stone-path-background": { + "frame": { "x": 1, "y": 3913, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-backplates": { + "frame": { "x": 579, "y": 3913, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-ties": { + "frame": { "x": 1157, "y": 3913, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-stone-path": { + "frame": { "x": 1735, "y": 3913, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-right-bottom-stone-path-background": { + "frame": { "x": 2313, "y": 3913, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-metals": { + "frame": { "x": 2891, "y": 3913, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-left-bottom-backplates": { + "frame": { "x": 3469, "y": 3913, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:curved-rail/hr-curved-rail-vertical-left-top-metals": { + "frame": { "x": 4037, "y": 579, "w": 384, "h": 576 }, + "sourceSize": { "w": 384, "h": 576 } + }, + "entity:curved-rail/hr-curved-rail-horizontal-right-top-stone-path": { + "frame": { "x": 4423, "y": 1, "w": 576, "h": 384 }, + "sourceSize": { "w": 576, "h": 384 } + }, + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-9": { + "frame": { "x": 4423, "y": 387, "w": 530, "h": 384 }, + "sourceSize": { "w": 530, "h": 384 } + }, + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-13": { + "frame": { "x": 4423, "y": 773, "w": 530, "h": 384 }, + "sourceSize": { "w": 530, "h": 384 } + }, + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-5": { + "frame": { "x": 4423, "y": 1159, "w": 530, "h": 384 }, + "sourceSize": { "w": 530, "h": 384 } + }, + "entity:artillery-wagon/hr-artillery-wagon-cannon-barrel-1": { + "frame": { "x": 4423, "y": 1545, "w": 530, "h": 384 }, + "sourceSize": { "w": 530, "h": 384 } + }, + "entity:connector/hr-ccm-belt-04a-sequence": { + "frame": { "x": 4423, "y": 1931, "w": 320, "h": 630 }, + "sourceSize": { "w": 320, "h": 630 } + }, + "entity:train-stop/hr-train-stop-bottom": { + "frame": { "x": 4423, "y": 2563, "w": 560, "h": 291 }, + "sourceSize": { "w": 560, "h": 291 } + }, + "entity:express-transport-belt/hr-express-transport-belt": { + "frame": { "x": 4037, "y": 1157, "w": 80, "h": 1920 }, + "sourceSize": { "w": 80, "h": 1920 } + }, + "entity:fast-transport-belt/hr-fast-transport-belt": { + "frame": { "x": 4119, "y": 1157, "w": 80, "h": 1920 }, + "sourceSize": { "w": 80, "h": 1920 } + }, + "entity:06-silo-base/06-silo-base-day": { + "frame": { "x": 4423, "y": 2856, "w": 352, "h": 384 }, + "sourceSize": { "w": 352, "h": 384 } + }, + "entity:06-silo-base/06-silo-base-night": { + "frame": { "x": 4423, "y": 3242, "w": 352, "h": 384 }, + "sourceSize": { "w": 352, "h": 384 } + }, + "entity:circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence": { + "frame": { "x": 4423, "y": 3628, "w": 480, "h": 240 }, + "sourceSize": { "w": 480, "h": 240 } + }, + "entity:circuit-connector/hr-ccm-universal-04c-wire-sequence": { + "frame": { "x": 4423, "y": 3870, "w": 496, "h": 232 }, + "sourceSize": { "w": 496, "h": 232 } + }, + "entity:big-electric-pole/big-electric-pole": { + "frame": { "x": 2453, "y": 819, "w": 672, "h": 165 }, + "sourceSize": { "w": 672, "h": 165 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-left-top-backplates": { + "frame": { "x": 4423, "y": 4104, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-left-top-ties": { + "frame": { "x": 2453, "y": 1077, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-backplates": { + "frame": { "x": 3031, "y": 1077, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-left-top-stone-path": { + "frame": { "x": 1, "y": 4299, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-stone-path": { + "frame": { "x": 579, "y": 4299, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-ties": { + "frame": { "x": 1157, "y": 4299, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-stone-path-background": { + "frame": { "x": 1735, "y": 4299, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-left-top-stone-path-background": { + "frame": { "x": 2313, "y": 4299, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-right-top-metals": { + "frame": { "x": 2891, "y": 4299, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-right-top-backplates": { + "frame": { "x": 3469, "y": 4299, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-right-top-ties": { + "frame": { "x": 4047, "y": 4299, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-right-top-stone-path": { + "frame": { "x": 1, "y": 4493, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-right-top-stone-path-background": { + "frame": { "x": 579, "y": 4493, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-metals": { + "frame": { "x": 1157, "y": 4493, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-backplates": { + "frame": { "x": 1735, "y": 4493, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-ties": { + "frame": { "x": 2313, "y": 4493, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-stone-path": { + "frame": { "x": 2891, "y": 4493, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-right-bottom-stone-path-background": { + "frame": { "x": 3469, "y": 4493, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-left-bottom-metals": { + "frame": { "x": 4047, "y": 4493, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:straight-rail/hr-straight-rail-diagonal-left-top-metals": { + "frame": { "x": 1, "y": 4687, "w": 576, "h": 192 }, + "sourceSize": { "w": 576, "h": 192 } + }, + "entity:nuclear-reactor/hr-reactor": { + "frame": { "x": 4037, "y": 3079, "w": 320, "h": 320 }, + "sourceSize": { "w": 320, "h": 320 } + }, + "entity:nuclear-reactor/hr-reactor-pipes": { + "frame": { "x": 3495, "y": 387, "w": 320, "h": 320 }, + "sourceSize": { "w": 320, "h": 320 } + }, + "entity:nuclear-reactor/hr-reactor-connect-patches": { + "frame": { "x": 579, "y": 4687, "w": 768, "h": 128 }, + "sourceSize": { "w": 768, "h": 128 } + }, + "entity:straight-rail/hr-straight-rail-vertical-metals": { + "frame": { "x": 1349, "y": 4687, "w": 768, "h": 128 }, + "sourceSize": { "w": 768, "h": 128 } + }, + "entity:straight-rail/hr-straight-rail-vertical-backplates": { + "frame": { "x": 2119, "y": 4687, "w": 768, "h": 128 }, + "sourceSize": { "w": 768, "h": 128 } + }, + "entity:straight-rail/hr-straight-rail-vertical-ties": { + "frame": { "x": 2889, "y": 4687, "w": 768, "h": 128 }, + "sourceSize": { "w": 768, "h": 128 } + }, + "entity:straight-rail/hr-straight-rail-vertical-stone-path-background": { + "frame": { "x": 3659, "y": 4687, "w": 768, "h": 128 }, + "sourceSize": { "w": 768, "h": 128 } + }, + "entity:straight-rail/hr-straight-rail-vertical-stone-path": { + "frame": { "x": 5001, "y": 1, "w": 768, "h": 128 }, + "sourceSize": { "w": 768, "h": 128 } + }, + "entity:straight-rail/hr-straight-rail-horizontal-stone-path": { + "frame": { "x": 5001, "y": 131, "w": 384, "h": 256 }, + "sourceSize": { "w": 384, "h": 256 } + }, + "entity:straight-rail/hr-straight-rail-horizontal-ties": { + "frame": { "x": 5001, "y": 389, "w": 384, "h": 256 }, + "sourceSize": { "w": 384, "h": 256 } + }, + "entity:straight-rail/hr-straight-rail-horizontal-backplates": { + "frame": { "x": 5001, "y": 647, "w": 384, "h": 256 }, + "sourceSize": { "w": 384, "h": 256 } + }, + "entity:straight-rail/hr-straight-rail-horizontal-stone-path-background": { + "frame": { "x": 5001, "y": 905, "w": 384, "h": 256 }, + "sourceSize": { "w": 384, "h": 256 } + }, + "entity:straight-rail/hr-straight-rail-horizontal-metals": { + "frame": { "x": 5001, "y": 1163, "w": 384, "h": 256 }, + "sourceSize": { "w": 384, "h": 256 } + }, + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-1": { + "frame": { "x": 5001, "y": 1421, "w": 358, "h": 270 }, + "sourceSize": { "w": 358, "h": 270 } + }, + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-5": { + "frame": { "x": 5361, "y": 1421, "w": 358, "h": 270 }, + "sourceSize": { "w": 358, "h": 270 } + }, + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-9": { + "frame": { "x": 5001, "y": 1693, "w": 358, "h": 270 }, + "sourceSize": { "w": 358, "h": 270 } + }, + "entity:artillery-wagon/hr-artillery-wagon-cannon-base-13": { + "frame": { "x": 5361, "y": 1693, "w": 358, "h": 270 }, + "sourceSize": { "w": 358, "h": 270 } + }, + "entity:storage-tank/hr-storage-tank": { + "frame": { "x": 5001, "y": 1965, "w": 438, "h": 215 }, + "sourceSize": { "w": 438, "h": 215 } + }, + "entity:steam-engine/hr-steam-engine-H": { + "frame": { "x": 5001, "y": 2182, "w": 352, "h": 257 }, + "sourceSize": { "w": 352, "h": 257 } + }, + "entity:steam-engine/hr-steam-engine-V": { + "frame": { "x": 5001, "y": 2441, "w": 225, "h": 391 }, + "sourceSize": { "w": 225, "h": 391 } + }, + "entity:substation/substation": { + "frame": { "x": 5228, "y": 2441, "w": 528, "h": 158 }, + "sourceSize": { "w": 528, "h": 158 } + }, + "entity:circuit-connector/hr-ccm-universal-04a-base-sequence": { + "frame": { "x": 5228, "y": 2601, "w": 416, "h": 200 }, + "sourceSize": { "w": 416, "h": 200 } + }, + "entity:combinator/hr-decider-combinator": { + "frame": { "x": 5001, "y": 2834, "w": 624, "h": 132 }, + "sourceSize": { "w": 624, "h": 132 } + }, + "entity:steam-turbine/hr-steam-turbine-H": { + "frame": { "x": 5387, "y": 131, "w": 320, "h": 245 }, + "sourceSize": { "w": 320, "h": 245 } + }, + "entity:transport-belt/hr-transport-belt": { + "frame": { "x": 5001, "y": 2968, "w": 80, "h": 960 }, + "sourceSize": { "w": 80, "h": 960 } + }, + "entity:steam-turbine/hr-steam-turbine-V": { + "frame": { "x": 5083, "y": 2968, "w": 217, "h": 347 }, + "sourceSize": { "w": 217, "h": 347 } + }, + "entity:underground-belt/hr-underground-belt-structure": { + "frame": { "x": 5302, "y": 2968, "w": 424, "h": 170 }, + "sourceSize": { "w": 424, "h": 170 } + }, + "entity:express-underground-belt/hr-express-underground-belt-structure": { + "frame": { "x": 5302, "y": 3140, "w": 424, "h": 170 }, + "sourceSize": { "w": 424, "h": 170 } + }, + "entity:fast-underground-belt/hr-fast-underground-belt-structure": { + "frame": { "x": 5083, "y": 3317, "w": 424, "h": 170 }, + "sourceSize": { "w": 424, "h": 170 } + }, + "entity:combinator/hr-arithmetic-combinator": { + "frame": { "x": 5083, "y": 3489, "w": 576, "h": 124 }, + "sourceSize": { "w": 576, "h": 124 } + }, + "entity:circuit-connector/hr-ccm-universal-04h-green-LED-sequence": { + "frame": { "x": 5355, "y": 2182, "w": 384, "h": 184 }, + "sourceSize": { "w": 384, "h": 184 } + }, + "entity:circuit-connector/hr-ccm-universal-04i-red-LED-sequence": { + "frame": { "x": 5083, "y": 3615, "w": 384, "h": 184 }, + "sourceSize": { "w": 384, "h": 184 } + }, + "entity:medium-electric-pole/medium-electric-pole": { + "frame": { "x": 5083, "y": 3801, "w": 544, "h": 122 }, + "sourceSize": { "w": 544, "h": 122 } + }, + "entity:offshore-pump/offshore-pump": { + "frame": { "x": 5001, "y": 3930, "w": 640, "h": 102 }, + "sourceSize": { "w": 640, "h": 102 } + }, + "entity:boiler/hr-boiler-E-idle": { + "frame": { "x": 5001, "y": 4034, "w": 216, "h": 301 }, + "sourceSize": { "w": 216, "h": 301 } + }, + "entity:circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence": { + "frame": { "x": 5387, "y": 389, "w": 368, "h": 176 }, + "sourceSize": { "w": 368, "h": 176 } + }, + "entity:heat-exchanger/hr-heatex-E-idle": { + "frame": { "x": 5219, "y": 4034, "w": 211, "h": 301 }, + "sourceSize": { "w": 211, "h": 301 } + }, + "entity:roboport/hr-roboport-base": { + "frame": { "x": 5432, "y": 4034, "w": 228, "h": 277 }, + "sourceSize": { "w": 228, "h": 277 } + }, + "entity:chemical-plant/hr-boiling-window-green-patch": { + "frame": { "x": 5001, "y": 4337, "w": 522, "h": 119 }, + "sourceSize": { "w": 522, "h": 119 } + }, + "entity:flamethrower-turret/flamethrower-turret-gun-extension": { + "frame": { "x": 4201, "y": 1157, "w": 78, "h": 780 }, + "sourceSize": { "w": 78, "h": 780 } + }, + "entity:small-electric-pole/small-electric-pole": { + "frame": { "x": 5001, "y": 4458, "w": 479, "h": 124 }, + "sourceSize": { "w": 479, "h": 124 } + }, + "entity:boiler/hr-boiler-N-idle": { + "frame": { "x": 5387, "y": 647, "w": 269, "h": 221 }, + "sourceSize": { "w": 269, "h": 221 } + }, + "entity:heat-exchanger/hr-heatex-N-idle": { + "frame": { "x": 5387, "y": 905, "w": 269, "h": 221 }, + "sourceSize": { "w": 269, "h": 221 } + }, + "entity:flamethrower-turret/flamethrower-turret-gun-extension-mask": { + "frame": { "x": 4281, "y": 1157, "w": 74, "h": 732 }, + "sourceSize": { "w": 74, "h": 732 } + }, + "entity:heat-exchanger/hr-heatex-W-idle": { + "frame": { "x": 5001, "y": 4584, "w": 196, "h": 273 }, + "sourceSize": { "w": 196, "h": 273 } + }, + "entity:boiler/hr-boiler-W-idle": { + "frame": { "x": 5199, "y": 4584, "w": 196, "h": 273 }, + "sourceSize": { "w": 196, "h": 273 } + }, + "entity:electric-furnace/hr-electric-furnace": { + "frame": { "x": 5387, "y": 1163, "w": 239, "h": 219 }, + "sourceSize": { "w": 239, "h": 219 } + }, + "entity:heat-exchanger/hr-heatex-S-idle": { + "frame": { "x": 5441, "y": 1965, "w": 260, "h": 201 }, + "sourceSize": { "w": 260, "h": 201 } + }, + "entity:solar-panel/hr-solar-panel": { + "frame": { "x": 5397, "y": 4584, "w": 230, "h": 224 }, + "sourceSize": { "w": 230, "h": 224 } + }, + "entity:assembling-machine-3/hr-assembling-machine-3": { + "frame": { "x": 4745, "y": 1931, "w": 214, "h": 237 }, + "sourceSize": { "w": 214, "h": 237 } + }, + "entity:centrifuge/hr-centrifuge-C": { + "frame": { "x": 4745, "y": 2170, "w": 237, "h": 214 }, + "sourceSize": { "w": 237, "h": 214 } + }, + "entity:boiler/hr-boiler-S-idle": { + "frame": { "x": 3571, "y": 1335, "w": 260, "h": 192 }, + "sourceSize": { "w": 260, "h": 192 } + }, + "entity:radar/hr-radar": { + "frame": { "x": 4777, "y": 2856, "w": 196, "h": 254 }, + "sourceSize": { "w": 196, "h": 254 } + }, + "entity:assembling-machine-1/hr-assembling-machine-1": { + "frame": { "x": 4777, "y": 3242, "w": 214, "h": 226 }, + "sourceSize": { "w": 214, "h": 226 } + }, + "entity:combinator/hr-constant-combinator": { + "frame": { "x": 3127, "y": 819, "w": 456, "h": 102 }, + "sourceSize": { "w": 456, "h": 102 } + }, + "entity:assembling-machine-2/hr-assembling-machine-2": { + "frame": { "x": 4201, "y": 1939, "w": 214, "h": 218 }, + "sourceSize": { "w": 214, "h": 218 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-N": { + "frame": { "x": 4201, "y": 2159, "w": 196, "h": 226 }, + "sourceSize": { "w": 196, "h": 226 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-S": { + "frame": { "x": 4201, "y": 2387, "w": 196, "h": 219 }, + "sourceSize": { "w": 196, "h": 219 } + }, + "entity:pumpjack/hr-pumpjack-horsehead": { + "frame": { "x": 4201, "y": 2608, "w": 206, "h": 202 }, + "sourceSize": { "w": 206, "h": 202 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-E": { + "frame": { "x": 4201, "y": 2812, "w": 211, "h": 197 }, + "sourceSize": { "w": 211, "h": 197 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-W": { + "frame": { "x": 3491, "y": 1939, "w": 211, "h": 197 }, + "sourceSize": { "w": 211, "h": 197 } + }, + "entity:artillery-turret/hr-artillery-turret-base": { + "frame": { "x": 3491, "y": 2138, "w": 207, "h": 199 }, + "sourceSize": { "w": 207, "h": 199 } + }, + "entity:roboport/hr-roboport-base-animation": { + "frame": { "x": 3127, "y": 923, "w": 664, "h": 59 }, + "sourceSize": { "w": 664, "h": 59 } + }, + "entity:laser-turret/laser-turret-gun": { + "frame": { "x": 3843, "y": 1539, "w": 68, "h": 544 }, + "sourceSize": { "w": 68, "h": 544 } + }, + "entity:centrifuge/hr-centrifuge-B": { + "frame": { "x": 3843, "y": 2085, "w": 156, "h": 234 }, + "sourceSize": { "w": 156, "h": 234 } + }, + "entity:centrifuge/hr-centrifuge-A": { + "frame": { "x": 3843, "y": 2321, "w": 139, "h": 246 }, + "sourceSize": { "w": 139, "h": 246 } + }, + "entity:14-silo-front/14-silo-front": { + "frame": { "x": 4037, "y": 3401, "w": 352, "h": 96 }, + "sourceSize": { "w": 352, "h": 96 } + }, + "entity:lab/hr-lab": { + "frame": { "x": 5469, "y": 3615, "w": 194, "h": 174 }, + "sourceSize": { "w": 194, "h": 174 } + }, + "entity:inserter/hr-inserter-platform": { + "frame": { "x": 2453, "y": 986, "w": 420, "h": 79 }, + "sourceSize": { "w": 420, "h": 79 } + }, + "entity:filter-inserter/hr-filter-inserter-platform": { + "frame": { "x": 2875, "y": 986, "w": 420, "h": 79 }, + "sourceSize": { "w": 420, "h": 79 } + }, + "entity:stack-inserter/hr-stack-inserter-platform": { + "frame": { "x": 3297, "y": 986, "w": 420, "h": 79 }, + "sourceSize": { "w": 420, "h": 79 } + }, + "entity:fast-inserter/hr-fast-inserter-platform": { + "frame": { "x": 1649, "y": 1529, "w": 420, "h": 79 }, + "sourceSize": { "w": 420, "h": 79 } + }, + "entity:stack-filter-inserter/hr-stack-filter-inserter-platform": { + "frame": { "x": 2071, "y": 1529, "w": 420, "h": 79 }, + "sourceSize": { "w": 420, "h": 79 } + }, + "entity:burner-inserter/hr-burner-inserter-platform": { + "frame": { "x": 2493, "y": 1529, "w": 420, "h": 79 }, + "sourceSize": { "w": 420, "h": 79 } + }, + "entity:long-handed-inserter/hr-long-handed-inserter-platform": { + "frame": { "x": 2915, "y": 1529, "w": 420, "h": 79 }, + "sourceSize": { "w": 420, "h": 79 } + }, + "entity:burner-mining-drill/hr-burner-mining-drill-N": { + "frame": { "x": 3843, "y": 2569, "w": 173, "h": 188 }, + "sourceSize": { "w": 173, "h": 188 } + }, + "entity:burner-mining-drill/hr-burner-mining-drill-W": { + "frame": { "x": 3843, "y": 2759, "w": 180, "h": 176 }, + "sourceSize": { "w": 180, "h": 176 } + }, + "entity:burner-mining-drill/hr-burner-mining-drill-E": { + "frame": { "x": 5509, "y": 3317, "w": 185, "h": 168 }, + "sourceSize": { "w": 185, "h": 168 } + }, + "entity:burner-mining-drill/hr-burner-mining-drill-S": { + "frame": { "x": 4745, "y": 2386, "w": 174, "h": 174 }, + "sourceSize": { "w": 174, "h": 174 } + }, + "entity:steel-furnace/hr-steel-furnace": { + "frame": { "x": 3609, "y": 1077, "w": 171, "h": 174 }, + "sourceSize": { "w": 171, "h": 174 } + }, + "entity:pipe/hr-pipe-straight-vertical-single": { + "frame": { "x": 3653, "y": 1642, "w": 160, "h": 160 }, + "sourceSize": { "w": 160, "h": 160 } + }, + "entity:stone-furnace/hr-stone-furnace": { + "frame": { "x": 4777, "y": 3470, "w": 151, "h": 146 }, + "sourceSize": { "w": 151, "h": 146 } + }, + "entity:04-05-doors/05-door-front": { + "frame": { "x": 5525, "y": 4337, "w": 192, "h": 112 }, + "sourceSize": { "w": 192, "h": 112 } + }, + "entity:stack-inserter/hr-stack-inserter-hand-open": { + "frame": { "x": 5628, "y": 1163, "w": 130, "h": 164 }, + "sourceSize": { "w": 130, "h": 164 } + }, + "entity:stack-filter-inserter/hr-stack-filter-inserter-hand-open": { + "frame": { "x": 5629, "y": 4584, "w": 130, "h": 164 }, + "sourceSize": { "w": 130, "h": 164 } + }, + "entity:04-05-doors/04-door-back": { + "frame": { "x": 5482, "y": 4458, "w": 192, "h": 108 }, + "sourceSize": { "w": 192, "h": 108 } + }, + "entity:laser-turret/laser-turret-gun-mask": { + "frame": { "x": 4357, "y": 1157, "w": 54, "h": 352 }, + "sourceSize": { "w": 54, "h": 352 } + }, + "entity:pump/hr-pump-south": { + "frame": { "x": 5646, "y": 2601, "w": 114, "h": 160 }, + "sourceSize": { "w": 114, "h": 160 } + }, + "entity:laser-turret/laser-turret-gun-start": { + "frame": { "x": 5662, "y": 4034, "w": 66, "h": 268 }, + "sourceSize": { "w": 66, "h": 268 } + }, + "entity:pump/hr-pump-north": { + "frame": { "x": 5658, "y": 647, "w": 103, "h": 164 }, + "sourceSize": { "w": 103, "h": 164 } + }, + "entity:heat-exchanger/hr-heatex-endings": { + "frame": { "x": 5387, "y": 567, "w": 256, "h": 64 }, + "sourceSize": { "w": 256, "h": 64 } + }, + "entity:gun-turret/gun-turret-gun-extension": { + "frame": { "x": 3913, "y": 1539, "w": 65, "h": 252 }, + "sourceSize": { "w": 65, "h": 252 } + }, + "entity:pipe/hr-pipe-ending-right": { + "frame": { "x": 5627, "y": 2834, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-vertical-window-background": { + "frame": { "x": 4777, "y": 3112, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-ending-up": { + "frame": { "x": 3704, "y": 1939, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-horizontal-window-background": { + "frame": { "x": 3700, "y": 2138, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-cross": { + "frame": { "x": 3491, "y": 2339, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe-to-ground/hr-pipe-to-ground-left": { + "frame": { "x": 3621, "y": 2339, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-ending-left": { + "frame": { "x": 3293, "y": 2517, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe-covers/hr-pipe-cover-south": { + "frame": { "x": 3423, "y": 2517, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-t-left": { + "frame": { "x": 3553, "y": 2517, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe-covers/hr-pipe-cover-west": { + "frame": { "x": 3683, "y": 2517, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe-covers/hr-pipe-cover-east": { + "frame": { "x": 3293, "y": 2647, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-t-right": { + "frame": { "x": 3423, "y": 2647, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-ending-down": { + "frame": { "x": 3553, "y": 2647, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-straight-vertical": { + "frame": { "x": 3683, "y": 2647, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe-covers/hr-pipe-cover-north": { + "frame": { "x": 3861, "y": 2949, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-straight-vertical-window": { + "frame": { "x": 3861, "y": 3079, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe-to-ground/hr-pipe-to-ground-down": { + "frame": { "x": 3861, "y": 3209, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe-to-ground/hr-pipe-to-ground-right": { + "frame": { "x": 3861, "y": 3339, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-straight-horizontal-window": { + "frame": { "x": 4047, "y": 3527, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe-to-ground/hr-pipe-to-ground-up": { + "frame": { "x": 4177, "y": 3527, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-straight-horizontal": { + "frame": { "x": 4047, "y": 3657, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-corner-up-right": { + "frame": { "x": 4177, "y": 3657, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-corner-up-left": { + "frame": { "x": 4047, "y": 3913, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-corner-down-right": { + "frame": { "x": 4177, "y": 3913, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-corner-down-left": { + "frame": { "x": 4047, "y": 4043, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-t-up": { + "frame": { "x": 4177, "y": 4043, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:pipe/hr-pipe-t-down": { + "frame": { "x": 4625, "y": 4299, "w": 128, "h": 128 }, + "sourceSize": { "w": 128, "h": 128 } + }, + "entity:fast-splitter/hr-fast-splitter-east": { + "frame": { "x": 5658, "y": 905, "w": 93, "h": 157 }, + "sourceSize": { "w": 93, "h": 157 } + }, + "entity:express-splitter/hr-express-splitter-east": { + "frame": { "x": 5665, "y": 3615, "w": 93, "h": 157 }, + "sourceSize": { "w": 93, "h": 157 } + }, + "entity:splitter/hr-splitter-east": { + "frame": { "x": 4905, "y": 3628, "w": 93, "h": 157 }, + "sourceSize": { "w": 93, "h": 157 } + }, + "entity:pump/hr-pump-west": { + "frame": { "x": 5629, "y": 3801, "w": 131, "h": 111 }, + "sourceSize": { "w": 131, "h": 111 } + }, + "entity:fast-splitter/hr-fast-splitter-west": { + "frame": { "x": 3913, "y": 1793, "w": 94, "h": 154 }, + "sourceSize": { "w": 94, "h": 154 } + }, + "entity:express-splitter/hr-express-splitter-west": { + "frame": { "x": 4625, "y": 4493, "w": 94, "h": 154 }, + "sourceSize": { "w": 94, "h": 154 } + }, + "entity:splitter/hr-splitter-west": { + "frame": { "x": 4721, "y": 4493, "w": 94, "h": 154 }, + "sourceSize": { "w": 94, "h": 154 } + }, + "entity:stone-wall/wall-patch": { + "frame": { "x": 5355, "y": 2368, "w": 208, "h": 68 }, + "sourceSize": { "w": 208, "h": 68 } + }, + "entity:pump/hr-pump-east": { + "frame": { "x": 3293, "y": 2777, "w": 130, "h": 109 }, + "sourceSize": { "w": 130, "h": 109 } + }, + "entity:roboport/hr-roboport-base-patch": { + "frame": { "x": 3585, "y": 819, "w": 138, "h": 100 }, + "sourceSize": { "w": 138, "h": 100 } + }, + "entity:accumulator/accumulator": { + "frame": { "x": 3653, "y": 1804, "w": 124, "h": 103 }, + "sourceSize": { "w": 124, "h": 103 } + }, + "entity:combinator/hr-combinator-displays": { + "frame": { "x": 5565, "y": 2368, "w": 180, "h": 66 }, + "sourceSize": { "w": 180, "h": 66 } + }, + "entity:filter-inserter/hr-filter-inserter-hand-open": { + "frame": { "x": 5696, "y": 3317, "w": 72, "h": 164 }, + "sourceSize": { "w": 72, "h": 164 } + }, + "entity:fast-inserter/hr-fast-inserter-hand-open": { + "frame": { "x": 4921, "y": 2386, "w": 72, "h": 164 }, + "sourceSize": { "w": 72, "h": 164 } + }, + "entity:long-handed-inserter/hr-long-handed-inserter-hand-open": { + "frame": { "x": 4921, "y": 3870, "w": 72, "h": 164 }, + "sourceSize": { "w": 72, "h": 164 } + }, + "entity:burner-inserter/hr-burner-inserter-hand-open": { + "frame": { "x": 1, "y": 4881, "w": 72, "h": 164 }, + "sourceSize": { "w": 72, "h": 164 } + }, + "entity:inserter/hr-inserter-hand-open": { + "frame": { "x": 75, "y": 4881, "w": 72, "h": 164 }, + "sourceSize": { "w": 72, "h": 164 } + }, + "entity:circuit-connector/hr-ccm-inserter-01-wire-sequence": { + "frame": { "x": 5397, "y": 4810, "w": 248, "h": 46 }, + "sourceSize": { "w": 248, "h": 46 } + }, + "entity:express-splitter/hr-express-splitter-north": { + "frame": { "x": 3337, "y": 1529, "w": 164, "h": 70 }, + "sourceSize": { "w": 164, "h": 70 } + }, + "entity:fast-splitter/hr-fast-splitter-north": { + "frame": { "x": 3503, "y": 1529, "w": 164, "h": 70 }, + "sourceSize": { "w": 164, "h": 70 } + }, + "entity:splitter/hr-splitter-north": { + "frame": { "x": 3669, "y": 1529, "w": 164, "h": 70 }, + "sourceSize": { "w": 164, "h": 70 } + }, + "entity:connector/hr-CCM-BELT-SPRITES-SCANNER": { + "frame": { "x": 4201, "y": 3011, "w": 176, "h": 64 }, + "sourceSize": { "w": 176, "h": 64 } + }, + "entity:splitter/hr-splitter-south": { + "frame": { "x": 3425, "y": 2777, "w": 168, "h": 67 }, + "sourceSize": { "w": 168, "h": 67 } + }, + "entity:fast-splitter/hr-fast-splitter-south": { + "frame": { "x": 3595, "y": 2777, "w": 168, "h": 67 }, + "sourceSize": { "w": 168, "h": 67 } + }, + "entity:express-splitter/hr-express-splitter-south": { + "frame": { "x": 4047, "y": 3787, "w": 168, "h": 67 }, + "sourceSize": { "w": 168, "h": 67 } + }, + "entity:circuit-connector/hr-ccm-inserter-01-LED-G-sequence": { + "frame": { "x": 3495, "y": 709, "w": 216, "h": 50 }, + "sourceSize": { "w": 216, "h": 50 } + }, + "entity:circuit-connector/hr-ccm-inserter-01-LED-R-sequence": { + "frame": { "x": 1949, "y": 766, "w": 216, "h": 50 }, + "sourceSize": { "w": 216, "h": 50 } + }, + "entity:beacon/beacon-base": { + "frame": { "x": 5643, "y": 3930, "w": 116, "h": 93 }, + "sourceSize": { "w": 116, "h": 93 } + }, + "entity:programmable-speaker/hr-programmable-speaker": { + "frame": { "x": 5709, "y": 131, "w": 59, "h": 178 }, + "sourceSize": { "w": 59, "h": 178 } + }, + "entity:circuit-connector/hr-ccm-inserter-01-LED-B-on-sequence": { + "frame": { "x": 2167, "y": 766, "w": 240, "h": 42 }, + "sourceSize": { "w": 240, "h": 42 } + }, + "entity:laser-turret/laser-turret-gun-start-mask": { + "frame": { "x": 5703, "y": 1965, "w": 51, "h": 188 }, + "sourceSize": { "w": 51, "h": 188 } + }, + "entity:connector/hr-ccm-belt-04c-LED-B": { + "frame": { "x": 4955, "y": 387, "w": 30, "h": 308 }, + "sourceSize": { "w": 30, "h": 308 } + }, + "entity:power-switch/power-switch": { + "frame": { "x": 3913, "y": 1949, "w": 117, "h": 74 }, + "sourceSize": { "w": 117, "h": 74 } + }, + "entity:circuit-connector/hr-ccm-inserter-01-base-sequence": { + "frame": { "x": 2409, "y": 766, "w": 208, "h": 40 }, + "sourceSize": { "w": 208, "h": 40 } + }, + "entity:laser-turret/laser-turret-base": { + "frame": { "x": 5661, "y": 3489, "w": 98, "h": 82 }, + "sourceSize": { "w": 98, "h": 82 } + }, + "entity:connector/hr-ccm-belt-04e-LED-G": { + "frame": { "x": 5721, "y": 1421, "w": 42, "h": 182 }, + "sourceSize": { "w": 42, "h": 182 } + }, + "entity:gun-turret/gun-turret-base": { + "frame": { "x": 5676, "y": 4458, "w": 90, "h": 75 }, + "sourceSize": { "w": 90, "h": 75 } + }, + "entity:flamethrower-turret/flamethrower-turret-base-south": { + "frame": { "x": 4907, "y": 3112, "w": 70, "h": 90 }, + "sourceSize": { "w": 70, "h": 90 } + }, + "entity:flamethrower-turret/flamethrower-turret-base-north": { + "frame": { "x": 4930, "y": 3470, "w": 69, "h": 86 }, + "sourceSize": { "w": 69, "h": 86 } + }, + "entity:small-lamp/hr-lamp": { + "frame": { "x": 4905, "y": 3787, "w": 83, "h": 70 }, + "sourceSize": { "w": 83, "h": 70 } + }, + "entity:flamethrower-turret/flamethrower-turret-base-east": { + "frame": { "x": 5645, "y": 567, "w": 95, "h": 60 }, + "sourceSize": { "w": 95, "h": 60 } + }, + "entity:flamethrower-turret/flamethrower-turret-base-west": { + "frame": { "x": 5658, "y": 1064, "w": 93, "h": 59 }, + "sourceSize": { "w": 93, "h": 59 } + }, + "entity:assembling-machine-2/hr-assembling-machine-2-pipe-S": { + "frame": { "x": 3725, "y": 819, "w": 88, "h": 61 }, + "sourceSize": { "w": 88, "h": 61 } + }, + "entity:assembling-machine-3/hr-assembling-machine-3-pipe-S": { + "frame": { "x": 3719, "y": 986, "w": 88, "h": 61 }, + "sourceSize": { "w": 88, "h": 61 } + }, + "entity:circuit-connector/hr-ccm-inserter-01-LED-B-off-sequence": { + "frame": { "x": 5387, "y": 870, "w": 184, "h": 26 }, + "sourceSize": { "w": 184, "h": 26 } + }, + "entity:stack-inserter/hr-stack-inserter-hand-base": { + "frame": { "x": 5721, "y": 1693, "w": 32, "h": 136 }, + "sourceSize": { "w": 32, "h": 136 } + }, + "entity:long-handed-inserter/hr-long-handed-inserter-hand-base": { + "frame": { "x": 5728, "y": 2968, "w": 32, "h": 136 }, + "sourceSize": { "w": 32, "h": 136 } + }, + "entity:burner-inserter/hr-burner-inserter-hand-base": { + "frame": { "x": 5728, "y": 3140, "w": 32, "h": 136 }, + "sourceSize": { "w": 32, "h": 136 } + }, + "entity:stack-filter-inserter/hr-stack-filter-inserter-hand-base": { + "frame": { "x": 5730, "y": 4034, "w": 32, "h": 136 }, + "sourceSize": { "w": 32, "h": 136 } + }, + "entity:filter-inserter/hr-filter-inserter-hand-base": { + "frame": { "x": 4955, "y": 773, "w": 32, "h": 136 }, + "sourceSize": { "w": 32, "h": 136 } + }, + "entity:inserter/hr-inserter-hand-base": { + "frame": { "x": 4955, "y": 911, "w": 32, "h": 136 }, + "sourceSize": { "w": 32, "h": 136 } + }, + "entity:fast-inserter/hr-fast-inserter-hand-base": { + "frame": { "x": 4955, "y": 1159, "w": 32, "h": 136 }, + "sourceSize": { "w": 32, "h": 136 } + }, + "entity:connector/hr-ccm-belt-04d-LED-R": { + "frame": { "x": 5721, "y": 1831, "w": 34, "h": 126 }, + "sourceSize": { "w": 34, "h": 126 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-left-1": { + "frame": { "x": 4921, "y": 4036, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-right-6": { + "frame": { "x": 4357, "y": 1511, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-left-2": { + "frame": { "x": 4357, "y": 1577, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-horizontal-2": { + "frame": { "x": 4357, "y": 1643, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-left-3": { + "frame": { "x": 4357, "y": 1709, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-left-6": { + "frame": { "x": 4357, "y": 1775, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-left-4": { + "frame": { "x": 3704, "y": 2069, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-right-5": { + "frame": { "x": 3770, "y": 2069, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-left-5": { + "frame": { "x": 3700, "y": 2268, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-horizontal-1": { + "frame": { "x": 3766, "y": 2268, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-right-2": { + "frame": { "x": 3751, "y": 2339, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-left-6": { + "frame": { "x": 3765, "y": 2777, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-right-1": { + "frame": { "x": 4307, "y": 3527, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-vertical-6": { + "frame": { "x": 4307, "y": 3657, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-right-2": { + "frame": { "x": 4217, "y": 3787, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-vertical-5": { + "frame": { "x": 4283, "y": 3787, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-vertical-4": { + "frame": { "x": 4349, "y": 3787, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-vertical-3": { + "frame": { "x": 4307, "y": 3913, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:gate/gate-rail-base-vertical": { + "frame": { "x": 4307, "y": 4043, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-ending-left-1": { + "frame": { "x": 4047, "y": 4173, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-ending-right-1": { + "frame": { "x": 4113, "y": 4173, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-ending-down-1": { + "frame": { "x": 4179, "y": 4173, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-ending-up-1": { + "frame": { "x": 4245, "y": 4173, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-t-1": { + "frame": { "x": 4311, "y": 4173, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-t-left-1": { + "frame": { "x": 4755, "y": 4299, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-right-3": { + "frame": { "x": 4821, "y": 4299, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-right-4": { + "frame": { "x": 4887, "y": 4299, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-right-5": { + "frame": { "x": 4817, "y": 4493, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-right-6": { + "frame": { "x": 4883, "y": 4493, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-left-1": { + "frame": { "x": 4817, "y": 4559, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-left-2": { + "frame": { "x": 4883, "y": 4559, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-vertical-2": { + "frame": { "x": 4429, "y": 4687, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-vertical-1": { + "frame": { "x": 4495, "y": 4687, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-vertical-single": { + "frame": { "x": 4561, "y": 4687, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-right-4": { + "frame": { "x": 4627, "y": 4687, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-t-right-1": { + "frame": { "x": 4693, "y": 4687, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-left-3": { + "frame": { "x": 4759, "y": 4687, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-left-4": { + "frame": { "x": 4825, "y": 4687, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-right-1": { + "frame": { "x": 4891, "y": 4687, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-horizontal-6": { + "frame": { "x": 149, "y": 4881, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-horizontal-5": { + "frame": { "x": 215, "y": 4881, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-up-right-3": { + "frame": { "x": 281, "y": 4881, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-horizontal-4": { + "frame": { "x": 347, "y": 4881, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-corner-down-left-5": { + "frame": { "x": 413, "y": 4881, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-t-down-1": { + "frame": { "x": 479, "y": 4881, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-straight-horizontal-3": { + "frame": { "x": 545, "y": 4881, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:heat-pipe/hr-heat-pipe-t-up-1": { + "frame": { "x": 611, "y": 4881, "w": 64, "h": 64 }, + "sourceSize": { "w": 64, "h": 64 } + }, + "entity:roboport/hr-roboport-door-down": { + "frame": { "x": 5658, "y": 813, "w": 97, "h": 41 }, + "sourceSize": { "w": 97, "h": 41 } + }, + "entity:electric-furnace/hr-electric-furnace-propeller-1": { + "frame": { "x": 5573, "y": 870, "w": 148, "h": 25 }, + "sourceSize": { "w": 148, "h": 25 } + }, + "entity:13-arm-front-red-lights-front/arm-03-front": { + "frame": { "x": 4359, "y": 3079, "w": 54, "h": 70 }, + "sourceSize": { "w": 54, "h": 70 } + }, + "entity:roboport/hr-roboport-door-up": { + "frame": { "x": 5628, "y": 1329, "w": 97, "h": 38 }, + "sourceSize": { "w": 97, "h": 38 } + }, + "entity:08-arms-back-satellite-animation/arm-02-right": { + "frame": { "x": 5629, "y": 4750, "w": 81, "h": 43 }, + "sourceSize": { "w": 81, "h": 43 } + }, + "entity:pipe/fluid-flow-low-temperature": { + "frame": { "x": 5387, "y": 1128, "w": 160, "h": 20 }, + "sourceSize": { "w": 160, "h": 20 } + }, + "entity:pipe/fluid-flow-medium-temperature": { + "frame": { "x": 5549, "y": 1128, "w": 160, "h": 20 }, + "sourceSize": { "w": 160, "h": 20 } + }, + "entity:pipe/fluid-flow-high-temperature": { + "frame": { "x": 5387, "y": 1384, "w": 160, "h": 20 }, + "sourceSize": { "w": 160, "h": 20 } + }, + "entity:assembling-machine-3/hr-assembling-machine-3-pipe-E": { + "frame": { "x": 5721, "y": 1605, "w": 42, "h": 76 }, + "sourceSize": { "w": 42, "h": 76 } + }, + "entity:assembling-machine-2/hr-assembling-machine-2-pipe-E": { + "frame": { "x": 5719, "y": 4337, "w": 42, "h": 76 }, + "sourceSize": { "w": 42, "h": 76 } + }, + "entity:gun-turret/gun-turret-gun-extension-mask": { + "frame": { "x": 5741, "y": 2182, "w": 24, "h": 124 }, + "sourceSize": { "w": 24, "h": 124 } + }, + "entity:gate/gate-rail-base-horizontal": { + "frame": { "x": 5647, "y": 4810, "w": 64, "h": 45 }, + "sourceSize": { "w": 64, "h": 45 } + }, + "entity:assembling-machine-3/hr-assembling-machine-3-pipe-W": { + "frame": { "x": 5730, "y": 4172, "w": 39, "h": 73 }, + "sourceSize": { "w": 39, "h": 73 } + }, + "entity:assembling-machine-2/hr-assembling-machine-2-pipe-W": { + "frame": { "x": 4955, "y": 697, "w": 39, "h": 73 }, + "sourceSize": { "w": 39, "h": 73 } + }, + "entity:assembling-machine-2/hr-assembling-machine-2-pipe-N": { + "frame": { "x": 5646, "y": 2763, "w": 71, "h": 38 }, + "sourceSize": { "w": 71, "h": 38 } + }, + "entity:assembling-machine-3/hr-assembling-machine-3-pipe-N": { + "frame": { "x": 5661, "y": 3573, "w": 71, "h": 38 }, + "sourceSize": { "w": 71, "h": 38 } + }, + "entity:beacon/beacon-antenna": { + "frame": { "x": 5709, "y": 311, "w": 54, "h": 50 }, + "sourceSize": { "w": 54, "h": 50 } + }, + "entity:08-arms-back-satellite-animation/arm-01-back": { + "frame": { "x": 4930, "y": 3558, "w": 54, "h": 50 }, + "sourceSize": { "w": 54, "h": 50 } + }, + "entity:steel-furnace/steel-furnace-glow": { + "frame": { "x": 4357, "y": 1841, "w": 60, "h": 43 }, + "sourceSize": { "w": 60, "h": 43 } + }, + "entity:pipe/hr-fluid-background": { + "frame": { "x": 4281, "y": 1891, "w": 64, "h": 40 }, + "sourceSize": { "w": 64, "h": 40 } + }, + "entity:laser-turret/laser-turret-base-mask": { + "frame": { "x": 4359, "y": 3151, "w": 54, "h": 46 }, + "sourceSize": { "w": 54, "h": 46 } + }, + "entity:gate/gate-rail-base-mask-vertical": { + "frame": { "x": 4347, "y": 1891, "w": 63, "h": 39 }, + "sourceSize": { "w": 63, "h": 39 } + }, + "entity:gun-turret/gun-turret-base-mask": { + "frame": { "x": 4359, "y": 3199, "w": 52, "h": 47 }, + "sourceSize": { "w": 52, "h": 47 } + }, + "entity:gate/gate-rail-base-mask-horizontal": { + "frame": { "x": 5713, "y": 4810, "w": 53, "h": 45 }, + "sourceSize": { "w": 53, "h": 45 } + }, + "entity:connector/transport-belt-connector-frame-main-scanner-sw-se": { + "frame": { "x": 5753, "y": 905, "w": 15, "h": 112 }, + "sourceSize": { "w": 15, "h": 112 } + }, + "entity:iron-chest/iron-chest": { + "frame": { "x": 5719, "y": 2763, "w": 48, "h": 34 }, + "sourceSize": { "w": 48, "h": 34 } + }, + "entity:storage-tank/hr-window-background": { + "frame": { "x": 5730, "y": 4247, "w": 34, "h": 48 }, + "sourceSize": { "w": 34, "h": 48 } + }, + "entity:steel-chest/steel-chest": { + "frame": { "x": 5719, "y": 4415, "w": 48, "h": 34 }, + "sourceSize": { "w": 48, "h": 34 } + }, + "entity:wooden-chest/wooden-chest": { + "frame": { "x": 5712, "y": 4750, "w": 46, "h": 33 }, + "sourceSize": { "w": 46, "h": 33 } + }, + "entity:gate/gate-rail-horizontal-left": { + "frame": { "x": 4955, "y": 1049, "w": 32, "h": 47 }, + "sourceSize": { "w": 32, "h": 47 } + }, + "entity:electric-furnace/hr-electric-furnace-propeller-2": { + "frame": { "x": 5549, "y": 1384, "w": 92, "h": 15 }, + "sourceSize": { "w": 92, "h": 15 } + }, + "entity:connector/transport-belt-connector-frame-main-scanner-nw-ne": { + "frame": { "x": 5755, "y": 1693, "w": 14, "h": 96 }, + "sourceSize": { "w": 14, "h": 96 } + }, + "entity:flamethrower-turret/flamethrower-turret-base-east-mask": { + "frame": { "x": 4955, "y": 1098, "w": 33, "h": 42 }, + "sourceSize": { "w": 33, "h": 42 } + }, + "entity:gate/gate-rail-horizontal-right": { + "frame": { "x": 4955, "y": 1297, "w": 32, "h": 43 }, + "sourceSize": { "w": 32, "h": 43 } + }, + "entity:flamethrower-turret/flamethrower-turret-base-north-mask": { + "frame": { "x": 5727, "y": 1329, "w": 37, "h": 37 }, + "sourceSize": { "w": 37, "h": 37 } + }, + "entity:flamethrower-turret/flamethrower-turret-base-south-mask": { + "frame": { "x": 4955, "y": 1342, "w": 37, "h": 37 }, + "sourceSize": { "w": 37, "h": 37 } + }, + "entity:stone-wall/wall-straight-horizontal-3": { + "frame": { "x": 4955, "y": 1381, "w": 32, "h": 42 }, + "sourceSize": { "w": 32, "h": 42 } + }, + "entity:stone-wall/wall-straight-horizontal-2": { + "frame": { "x": 4955, "y": 1425, "w": 32, "h": 42 }, + "sourceSize": { "w": 32, "h": 42 } + }, + "entity:stone-wall/wall-straight-horizontal-1": { + "frame": { "x": 4955, "y": 1469, "w": 32, "h": 42 }, + "sourceSize": { "w": 32, "h": 42 } + }, + "entity:stone-wall/wall-t-down": { + "frame": { "x": 4955, "y": 1545, "w": 32, "h": 42 }, + "sourceSize": { "w": 32, "h": 42 } + }, + "entity:flamethrower-turret/flamethrower-turret-base-west-mask": { + "frame": { "x": 4955, "y": 1589, "w": 33, "h": 40 }, + "sourceSize": { "w": 33, "h": 40 } + }, + "entity:logistic-chest/logistic-chest-passive-provider": { + "frame": { "x": 4955, "y": 1631, "w": 39, "h": 33 }, + "sourceSize": { "w": 39, "h": 33 } + }, + "entity:gate/gate-vertical": { + "frame": { "x": 5742, "y": 567, "w": 21, "h": 60 }, + "sourceSize": { "w": 21, "h": 60 } + }, + "entity:logistic-chest/logistic-chest-requester": { + "frame": { "x": 5728, "y": 3106, "w": 39, "h": 32 }, + "sourceSize": { "w": 39, "h": 32 } + }, + "entity:logistic-chest/logistic-chest-active-provider": { + "frame": { "x": 5728, "y": 3278, "w": 39, "h": 32 }, + "sourceSize": { "w": 39, "h": 32 } + }, + "entity:gate/gate-rail-vertical-right": { + "frame": { "x": 5741, "y": 2308, "w": 22, "h": 55 }, + "sourceSize": { "w": 22, "h": 55 } + }, + "entity:logistic-chest/logistic-chest-buffer": { + "frame": { "x": 4955, "y": 1666, "w": 38, "h": 32 }, + "sourceSize": { "w": 38, "h": 32 } + }, + "entity:logistic-chest/logistic-chest-storage": { + "frame": { "x": 4955, "y": 1700, "w": 38, "h": 32 }, + "sourceSize": { "w": 38, "h": 32 } + }, + "entity:gate/gate-rail-vertical-left": { + "frame": { "x": 5747, "y": 2368, "w": 22, "h": 54 }, + "sourceSize": { "w": 22, "h": 54 } + }, + "entity:gate/gate-horizontal": { + "frame": { "x": 5734, "y": 3573, "w": 32, "h": 36 }, + "sourceSize": { "w": 32, "h": 36 } + }, + "entity:stone-wall/wall-ending-right": { + "frame": { "x": 4955, "y": 1734, "w": 27, "h": 42 }, + "sourceSize": { "w": 27, "h": 42 } + }, + "entity:stone-wall/wall-ending-left": { + "frame": { "x": 4955, "y": 1778, "w": 27, "h": 42 }, + "sourceSize": { "w": 27, "h": 42 } + }, + "entity:stone-wall/wall-corner-left-down": { + "frame": { "x": 4955, "y": 1822, "w": 27, "h": 42 }, + "sourceSize": { "w": 27, "h": 42 } + }, + "entity:stone-wall/wall-corner-right-down": { + "frame": { "x": 4955, "y": 1866, "w": 27, "h": 42 }, + "sourceSize": { "w": 27, "h": 42 } + }, + "entity:activity-leds/hr-decider-combinator-LED-W": { + "frame": { "x": 5228, "y": 2803, "w": 64, "h": 16 }, + "sourceSize": { "w": 64, "h": 16 } + }, + "entity:activity-leds/hr-decider-combinator-LED-E": { + "frame": { "x": 5294, "y": 2803, "w": 64, "h": 16 }, + "sourceSize": { "w": 64, "h": 16 } + }, + "entity:activity-leds/hr-arithmetic-combinator-LED-S": { + "frame": { "x": 5360, "y": 2803, "w": 64, "h": 16 }, + "sourceSize": { "w": 64, "h": 16 } + }, + "entity:land-mine/land-mine-set-enemy": { + "frame": { "x": 4961, "y": 1931, "w": 32, "h": 32 }, + "sourceSize": { "w": 32, "h": 32 } + }, + "entity:land-mine/land-mine-set": { + "frame": { "x": 4961, "y": 1965, "w": 32, "h": 32 }, + "sourceSize": { "w": 32, "h": 32 } + }, + "entity:land-mine/land-mine": { + "frame": { "x": 4961, "y": 1999, "w": 32, "h": 32 }, + "sourceSize": { "w": 32, "h": 32 } + }, + "entity:gate/gate-base-vertical-mask": { + "frame": { "x": 4961, "y": 2033, "w": 32, "h": 32 }, + "sourceSize": { "w": 32, "h": 32 } + }, + "entity:gate/gate-base-vertical": { + "frame": { "x": 4961, "y": 2067, "w": 32, "h": 32 }, + "sourceSize": { "w": 32, "h": 32 } + }, + "entity:activity-leds/hr-decider-combinator-LED-S": { + "frame": { "x": 5643, "y": 1384, "w": 64, "h": 14 }, + "sourceSize": { "w": 64, "h": 14 } + }, + "entity:activity-leds/hr-arithmetic-combinator-LED-N": { + "frame": { "x": 5426, "y": 2803, "w": 64, "h": 14 }, + "sourceSize": { "w": 64, "h": 14 } + }, + "entity:activity-leds/hr-decider-combinator-LED-N": { + "frame": { "x": 5492, "y": 2803, "w": 64, "h": 14 }, + "sourceSize": { "w": 64, "h": 14 } + }, + "entity:stone-wall/wall-straight-vertical-3": { + "frame": { "x": 4961, "y": 2101, "w": 22, "h": 42 }, + "sourceSize": { "w": 22, "h": 42 } + }, + "entity:stone-wall/wall-straight-vertical-2": { + "frame": { "x": 4975, "y": 2856, "w": 22, "h": 42 }, + "sourceSize": { "w": 22, "h": 42 } + }, + "entity:stone-wall/wall-straight-vertical-1": { + "frame": { "x": 4975, "y": 2900, "w": 22, "h": 42 }, + "sourceSize": { "w": 22, "h": 42 } + }, + "entity:stone-wall/wall-single": { + "frame": { "x": 4975, "y": 2944, "w": 22, "h": 42 }, + "sourceSize": { "w": 22, "h": 42 } + }, + "entity:activity-leds/hr-constant-combinator-LED-S": { + "frame": { "x": 5711, "y": 1128, "w": 56, "h": 16 }, + "sourceSize": { "w": 56, "h": 16 } + }, + "entity:activity-leds/hr-constant-combinator-LED-W": { + "frame": { "x": 5432, "y": 4313, "w": 56, "h": 16 }, + "sourceSize": { "w": 56, "h": 16 } + }, + "entity:gate/wall-patch-south": { + "frame": { "x": 4975, "y": 2988, "w": 22, "h": 40 }, + "sourceSize": { "w": 22, "h": 40 } + }, + "entity:activity-leds/hr-arithmetic-combinator-LED-W": { + "frame": { "x": 5709, "y": 1384, "w": 56, "h": 14 }, + "sourceSize": { "w": 56, "h": 14 } + }, + "entity:activity-leds/hr-constant-combinator-LED-E": { + "frame": { "x": 5558, "y": 2803, "w": 56, "h": 14 }, + "sourceSize": { "w": 56, "h": 14 } + }, + "entity:activity-leds/hr-arithmetic-combinator-LED-E": { + "frame": { "x": 5616, "y": 2803, "w": 56, "h": 14 }, + "sourceSize": { "w": 56, "h": 14 } + }, + "entity:gate/wall-patch-north": { + "frame": { "x": 4975, "y": 3030, "w": 22, "h": 35 }, + "sourceSize": { "w": 22, "h": 35 } + }, + "entity:08-arms-back-satellite-animation/satellite": { + "frame": { "x": 5676, "y": 4535, "w": 27, "h": 28 }, + "sourceSize": { "w": 27, "h": 28 } + }, + "entity:gate/gate-base-horizontal": { + "frame": { "x": 5723, "y": 870, "w": 32, "h": 23 }, + "sourceSize": { "w": 32, "h": 23 } + }, + "entity:gate/gate-base-horizontal-mask": { + "frame": { "x": 5705, "y": 4535, "w": 32, "h": 23 }, + "sourceSize": { "w": 32, "h": 23 } + }, + "entity:activity-leds/hr-constant-combinator-LED-N": { + "frame": { "x": 5709, "y": 363, "w": 56, "h": 12 }, + "sourceSize": { "w": 56, "h": 12 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-S-patch": { + "frame": { "x": 4955, "y": 1513, "w": 25, "h": 28 }, + "sourceSize": { "w": 25, "h": 28 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-W-patch": { + "frame": { "x": 4907, "y": 3204, "w": 25, "h": 28 }, + "sourceSize": { "w": 25, "h": 28 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-N-patch": { + "frame": { "x": 4934, "y": 3204, "w": 25, "h": 28 }, + "sourceSize": { "w": 25, "h": 28 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-E-patch": { + "frame": { "x": 4961, "y": 3204, "w": 25, "h": 27 }, + "sourceSize": { "w": 25, "h": 27 } + }, + "entity:storage-tank/fluid-background": { + "frame": { "x": 5665, "y": 3774, "w": 32, "h": 15 }, + "sourceSize": { "w": 32, "h": 15 } + }, + "entity:gate/wall-diode-green": { + "frame": { "x": 5739, "y": 4535, "w": 21, "h": 22 }, + "sourceSize": { "w": 21, "h": 22 } + }, + "entity:gate/wall-diode-red": { + "frame": { "x": 4961, "y": 2145, "w": 21, "h": 22 }, + "sourceSize": { "w": 21, "h": 22 } + }, + "entity:gate/wall-patch-west": { + "frame": { "x": 5757, "y": 389, "w": 11, "h": 40 }, + "sourceSize": { "w": 11, "h": 40 } + }, + "entity:gate/wall-patch-east": { + "frame": { "x": 5757, "y": 431, "w": 11, "h": 40 }, + "sourceSize": { "w": 11, "h": 40 } + }, + "entity:boiler/hr-boiler-E-patch": { + "frame": { "x": 5757, "y": 473, "w": 6, "h": 36 }, + "sourceSize": { "w": 6, "h": 36 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-E-window-background": { + "frame": { "x": 5753, "y": 1019, "w": 13, "h": 18 }, + "sourceSize": { "w": 13, "h": 18 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-N-window-background": { + "frame": { "x": 5628, "y": 1369, "w": 18, "h": 13 }, + "sourceSize": { "w": 18, "h": 13 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-N-fluid-background": { + "frame": { "x": 5387, "y": 633, "w": 17, "h": 12 }, + "sourceSize": { "w": 17, "h": 12 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-N-fluid-flow": { + "frame": { "x": 5406, "y": 633, "w": 17, "h": 12 }, + "sourceSize": { "w": 17, "h": 12 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-S-window-background": { + "frame": { "x": 5425, "y": 633, "w": 18, "h": 11 }, + "sourceSize": { "w": 18, "h": 11 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-E-fluid-background": { + "frame": { "x": 5757, "y": 511, "w": 11, "h": 17 }, + "sourceSize": { "w": 11, "h": 17 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-W-fluid-flow": { + "frame": { "x": 5757, "y": 530, "w": 10, "h": 18 }, + "sourceSize": { "w": 10, "h": 18 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-W-window-background": { + "frame": { "x": 5757, "y": 813, "w": 10, "h": 17 }, + "sourceSize": { "w": 10, "h": 17 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-S-fluid-background": { + "frame": { "x": 5445, "y": 633, "w": 17, "h": 10 }, + "sourceSize": { "w": 17, "h": 10 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-W-fluid-background": { + "frame": { "x": 5757, "y": 832, "w": 10, "h": 17 }, + "sourceSize": { "w": 10, "h": 17 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-S-fluid-flow": { + "frame": { "x": 5464, "y": 633, "w": 17, "h": 10 }, + "sourceSize": { "w": 17, "h": 10 } + }, + "entity:electric-mining-drill/hr-electric-mining-drill-E-fluid-flow": { + "frame": { "x": 5757, "y": 870, "w": 10, "h": 17 }, + "sourceSize": { "w": 10, "h": 17 } + }, + "entity:train-stop/hr-train-stop-north-light-1": { + "frame": { "x": 5387, "y": 378, "w": 17, "h": 9 }, + "sourceSize": { "w": 17, "h": 9 } + }, + "entity:train-stop/hr-train-stop-north-red-light-1": { + "frame": { "x": 5406, "y": 378, "w": 17, "h": 9 }, + "sourceSize": { "w": 17, "h": 9 } + }, + "entity:train-stop/hr-train-stop-north-light-2": { + "frame": { "x": 5425, "y": 378, "w": 16, "h": 9 }, + "sourceSize": { "w": 16, "h": 9 } + }, + "entity:train-stop/hr-train-stop-north-red-light-2": { + "frame": { "x": 5443, "y": 378, "w": 16, "h": 9 }, + "sourceSize": { "w": 16, "h": 9 } + }, + "entity:pumpjack/pumpjack-radius-visualization": { + "frame": { "x": 5757, "y": 550, "w": 12, "h": 12 }, + "sourceSize": { "w": 12, "h": 12 } + }, + "entity:small-electric-pole/electric-pole-radius-visualization": { + "frame": { "x": 5658, "y": 856, "w": 12, "h": 12 }, + "sourceSize": { "w": 12, "h": 12 } + }, + "entity:flamethrower-turret/flamethrower-turret-led-indicator-west": { + "frame": { "x": 5461, "y": 378, "w": 20, "h": 6 }, + "sourceSize": { "w": 20, "h": 6 } + }, + "entity:flamethrower-turret/flamethrower-turret-led-indicator-east": { + "frame": { "x": 5483, "y": 378, "w": 20, "h": 6 }, + "sourceSize": { "w": 20, "h": 6 } + }, + "entity:train-stop/hr-train-stop-west-light-2": { + "frame": { "x": 5753, "y": 1039, "w": 7, "h": 15 }, + "sourceSize": { "w": 7, "h": 15 } + }, + "entity:train-stop/hr-train-stop-west-red-light-2": { + "frame": { "x": 5762, "y": 1039, "w": 7, "h": 15 }, + "sourceSize": { "w": 7, "h": 15 } + }, + "entity:train-stop/hr-train-stop-east-red-light-2": { + "frame": { "x": 5763, "y": 647, "w": 6, "h": 16 }, + "sourceSize": { "w": 6, "h": 16 } + }, + "entity:train-stop/hr-train-stop-east-light-2": { + "frame": { "x": 5763, "y": 665, "w": 6, "h": 16 }, + "sourceSize": { "w": 6, "h": 16 } + }, + "entity:train-stop/hr-train-stop-east-light-1": { + "frame": { "x": 5763, "y": 683, "w": 6, "h": 16 }, + "sourceSize": { "w": 6, "h": 16 } + }, + "entity:train-stop/hr-train-stop-west-red-light-1": { + "frame": { "x": 5763, "y": 701, "w": 6, "h": 16 }, + "sourceSize": { "w": 6, "h": 16 } + }, + "entity:beacon/beacon-radius-visualization": { + "frame": { "x": 5483, "y": 633, "w": 10, "h": 10 }, + "sourceSize": { "w": 10, "h": 10 } + }, + "entity:train-stop/hr-train-stop-west-light-1": { + "frame": { "x": 5763, "y": 719, "w": 6, "h": 16 }, + "sourceSize": { "w": 6, "h": 16 } + }, + "entity:train-stop/hr-train-stop-east-red-light-1": { + "frame": { "x": 5763, "y": 737, "w": 6, "h": 16 }, + "sourceSize": { "w": 6, "h": 16 } + }, + "entity:flamethrower-turret/flamethrower-turret-led-indicator-north": { + "frame": { "x": 5495, "y": 633, "w": 10, "h": 9 }, + "sourceSize": { "w": 10, "h": 9 } + }, + "entity:train-stop/hr-train-stop-south-light-2": { + "frame": { "x": 5505, "y": 378, "w": 16, "h": 5 }, + "sourceSize": { "w": 16, "h": 5 } + }, + "entity:train-stop/hr-train-stop-south-red-light-2": { + "frame": { "x": 5523, "y": 378, "w": 16, "h": 5 }, + "sourceSize": { "w": 16, "h": 5 } + }, + "entity:flamethrower-turret/flamethrower-turret-led-indicator-south": { + "frame": { "x": 5507, "y": 633, "w": 10, "h": 8 }, + "sourceSize": { "w": 10, "h": 8 } + }, + "entity:train-stop/hr-train-stop-south-light-1": { + "frame": { "x": 5541, "y": 378, "w": 16, "h": 4 }, + "sourceSize": { "w": 16, "h": 4 } + }, + "entity:train-stop/hr-train-stop-south-red-light-1": { + "frame": { "x": 5559, "y": 378, "w": 16, "h": 4 }, + "sourceSize": { "w": 16, "h": 4 } + }, + "entity:power-switch/power-switch-led": { + "frame": { "x": 5577, "y": 378, "w": 6, "h": 3 }, + "sourceSize": { "w": 6, "h": 3 } + }, + "entity:electric-mining-drill/electric-mining-drill-radius-visualization": { + "frame": { "x": 5765, "y": 311, "w": 2, "h": 2 }, + "sourceSize": { "w": 2, "h": 2 } + } + + }, + "meta": { "image": "entitySprites.png" } +} diff --git a/src/spritesheets/entitySpritesheet.png b/src/spritesheets/entitySpritesheet.png new file mode 100644 index 0000000000000000000000000000000000000000..e161073abd07a73b32ed4bfe9d8e2e105223f8ec GIT binary patch literal 15774295 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

#2Zf=vBR}ek`Uny6pgih_Qp0 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

(cEe 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%0AqDp;B@i_I9_0nbNCQP_>=oo@_7P42a^!)+?&v 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

XDbV@$zGO9k$G?QjmjnuUD50hiOlF+s^@WmHl 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

Oh4c#ltOTG?gj*vc>UmZtSMS0uLl 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

v9{l5@$2IDb!kv)j(g~3dNxeHP0Q_ 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%0DKkJ+6mx2?hAN! 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 TcC#$%@+e{G*T?alP_A`u^b90^NX^IfDo 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

(QmVBTP*-o14&k?sSxU|H)? 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 z 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[*B0!r3&r4K~m?b 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 z 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 z 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 z S@`vNWzoF5m6-FL^=582mcgC* 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