Merge pull request #3590 from refinedmods/release/1.12.4
Release v1.12.4
This commit is contained in:
4
.github/CONTRIBUTING.md
vendored
4
.github/CONTRIBUTING.md
vendored
@@ -88,7 +88,7 @@ Documentation must be kept up to date when adding or changing functionality.
|
|||||||
|
|
||||||
### Javadoc
|
### Javadoc
|
||||||
|
|
||||||
Javadoc is available after every release on https://refinedmods.com/refinedstorage/.
|
Javadoc is available after every release on https://refinedmods.com/javadoc/refinedstorage.
|
||||||
|
|
||||||
### API annotations
|
### API annotations
|
||||||
|
|
||||||
@@ -196,7 +196,7 @@ The workflow takes care of the following:
|
|||||||
- Running a build.
|
- Running a build.
|
||||||
- Publishing on [GitHub packages](https://github.com/refinedmods/refinedstorage/packages) and
|
- Publishing on [GitHub packages](https://github.com/refinedmods/refinedstorage/packages) and
|
||||||
CreeperHost Maven.
|
CreeperHost Maven.
|
||||||
- Publishing Javadoc on [GitHub pages](https://github.com/refinedmods/refinedstorage/tree/gh-pages).
|
- Publishing Javadoc on [GitHub pages](https://github.com/refinedmods/javadoc).
|
||||||
- Deploying on [GitHub releases](https://github.com/refinedmods/refinedstorage/releases).
|
- Deploying on [GitHub releases](https://github.com/refinedmods/refinedstorage/releases).
|
||||||
- Announcing the release on Discord and Twitter.
|
- Announcing the release on Discord and Twitter.
|
||||||
- Creating a PR that merges `main` back into `develop` to get the changes to `CHANGELOG.md` and `build.gradle`
|
- Creating a PR that merges `main` back into `develop` to get the changes to `CHANGELOG.md` and `build.gradle`
|
||||||
|
24
CHANGELOG.md
24
CHANGELOG.md
@@ -7,6 +7,26 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [1.12.4] - 2023-11-05
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Re-added compatibility with Inventory Sorter.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Various world corruption issues if Refined Storage blocks were removed unexpectedly or with another mod.
|
||||||
|
- Fixed Grid search bar not being able to lose focus.
|
||||||
|
- Fixed JEI transfer crash for larger processing recipes.
|
||||||
|
- Fixed rare autocrafting crash.
|
||||||
|
- Fixed some models in inactive state being emissive.
|
||||||
|
- Fixed Controller item not rendering energy state correctly.
|
||||||
|
- Fixed duplication bug with the Crafting Grid.
|
||||||
|
- Fixed fluid duplication bug with the Importer and GregTechCEu machines.
|
||||||
|
- Attempted to fix issue where Grid doesn't load items and requires a client restart.
|
||||||
|
- Fixed Crafter Manager slots being able to sort with Inventory Sorter.
|
||||||
|
- Fixed duplication bug in the Crafter with Inventory Sorter.
|
||||||
|
|
||||||
## [1.12.3] - 2023-07-07
|
## [1.12.3] - 2023-07-07
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
@@ -3475,7 +3495,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
|
|
||||||
- Internal test release.
|
- Internal test release.
|
||||||
|
|
||||||
[Unreleased]: https://github.com/refinedmods/refinedstorage/compare/v1.12.3...HEAD
|
[Unreleased]: https://github.com/refinedmods/refinedstorage/compare/v1.12.4...HEAD
|
||||||
|
|
||||||
|
[1.12.4]: https://github.com/refinedmods/refinedstorage/compare/v1.12.3...v1.12.4
|
||||||
|
|
||||||
[1.12.3]: https://github.com/refinedmods/refinedstorage/compare/v1.12.2...v1.12.3
|
[1.12.3]: https://github.com/refinedmods/refinedstorage/compare/v1.12.2...v1.12.3
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
<p>Refined Storage is a mass storage mod for Minecraft that offers the player a network-based storage system, allowing
|
<p>Refined Storage is a mass storage mod for Minecraft that offers the player a network-based storage system, allowing
|
||||||
them to store items and fluids on a massively expandable device network.</p>
|
them to store items and fluids on a massively expandable device network.</p>
|
||||||
|
|
||||||
[](https://github.com/refinedmods/refinedstorage/actions/workflows/build.yml) [](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [](http://minecraft.curseforge.com/projects/refined-storage) [](https://discordapp.com/invite/VYzsydb) [](LICENSE.md)
|
[](https://github.com/refinedmods/refinedstorage/actions/workflows/build.yml) [](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [](http://minecraft.curseforge.com/projects/refined-storage) [](https://modrinth.com/mod/refined-storage) [](https://discordapp.com/invite/VYzsydb) [](LICENSE.md)
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## About
|
## About
|
||||||
@@ -27,6 +27,7 @@ this mod that allow the player to setup auto-crafting, allowing the crafting of
|
|||||||
- [CurseForge](https://curseforge.com/minecraft/mc-mods/refined-storage)
|
- [CurseForge](https://curseforge.com/minecraft/mc-mods/refined-storage)
|
||||||
- [Modrinth](https://modrinth.com/mod/refined-storage)
|
- [Modrinth](https://modrinth.com/mod/refined-storage)
|
||||||
- [Wiki](https://refinedmods.com/refined-storage/)
|
- [Wiki](https://refinedmods.com/refined-storage/)
|
||||||
|
- [Javadoc](https://refinedmods.com/javadoc/refinedstorage)
|
||||||
- [Discord](https://discordapp.com/invite/VYzsydb)
|
- [Discord](https://discordapp.com/invite/VYzsydb)
|
||||||
- [Twitter](https://twitter.com/refinedmods)
|
- [Twitter](https://twitter.com/refinedmods)
|
||||||
- [Mastodon](https://anvil.social/@refinedmods)
|
- [Mastodon](https://anvil.social/@refinedmods)
|
||||||
|
28
build.gradle
28
build.gradle
@@ -1,5 +1,10 @@
|
|||||||
apply from: "https://raw.githubusercontent.com/refinedmods/refinedarchitect/v0.7.1/helper.gradle"
|
apply from: "https://raw.githubusercontent.com/refinedmods/refinedarchitect/v0.7.1/helper.gradle"
|
||||||
|
|
||||||
|
// TODO: remove in 1.21
|
||||||
|
ext {
|
||||||
|
forgeVersion = "47.1.0"
|
||||||
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
maven {
|
maven {
|
||||||
name = 'JEI'
|
name = 'JEI'
|
||||||
@@ -38,8 +43,23 @@ dependencies {
|
|||||||
|
|
||||||
compileOnly fg.deobf('curse.maven:crafting-tweaks-233071:4596466')
|
compileOnly fg.deobf('curse.maven:crafting-tweaks-233071:4596466')
|
||||||
|
|
||||||
// TODO mixin issue
|
implementation fg.deobf("top.theillusivec4.curios:curios-forge:5.2.0-beta.3+1.20.1")
|
||||||
// runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:5.2.0-beta.3+1.20.1")
|
}
|
||||||
// can't depend on API due to Javadoc build error (CuriosApi imports stuff from common)
|
|
||||||
compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:5.2.0-beta.3+1.20.1")
|
// TODO: remove in 1.21
|
||||||
|
minecraft {
|
||||||
|
runs {
|
||||||
|
server {
|
||||||
|
property 'mixin.env.remapRefMap', 'true'
|
||||||
|
property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
|
||||||
|
}
|
||||||
|
client {
|
||||||
|
property 'mixin.env.remapRefMap', 'true'
|
||||||
|
property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
|
||||||
|
}
|
||||||
|
data {
|
||||||
|
property 'mixin.env.remapRefMap', 'true'
|
||||||
|
property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@@ -1,4 +1,4 @@
|
|||||||
// 1.20.1 2023-07-03T11:19:34.4889238 Loot Tables
|
// 1.20.1 2023-11-05T14:19:25.383214243 Loot Tables
|
||||||
24df81614f6b28c4c7e59589d79fd2c929d71727 data/refinedstorage/loot_tables/blocks/black_controller.json
|
24df81614f6b28c4c7e59589d79fd2c929d71727 data/refinedstorage/loot_tables/blocks/black_controller.json
|
||||||
aadbec0f79a3fb95d39e866a453cfec0cbbacd36 data/refinedstorage/loot_tables/blocks/black_crafter.json
|
aadbec0f79a3fb95d39e866a453cfec0cbbacd36 data/refinedstorage/loot_tables/blocks/black_crafter.json
|
||||||
a792eb6ac90ce775052c9c4a1b29bf9551477b5d data/refinedstorage/loot_tables/blocks/black_crafter_manager.json
|
a792eb6ac90ce775052c9c4a1b29bf9551477b5d data/refinedstorage/loot_tables/blocks/black_crafter_manager.json
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// 1.20.1 2023-07-03T11:19:34.5209453 Recipes
|
// 1.20.1 2023-11-05T14:19:25.387472745 Recipes
|
||||||
1ccdc8b9da42fbc8d8c954215c76634af2d5254e data/refinedstorage/advancements/recipes/misc/coloring_recipes/black_controller.json
|
1ccdc8b9da42fbc8d8c954215c76634af2d5254e data/refinedstorage/advancements/recipes/misc/coloring_recipes/black_controller.json
|
||||||
b4936ab0116ecd65cc2ca1f8342b18d9019d9bf4 data/refinedstorage/advancements/recipes/misc/coloring_recipes/black_crafter.json
|
b4936ab0116ecd65cc2ca1f8342b18d9019d9bf4 data/refinedstorage/advancements/recipes/misc/coloring_recipes/black_crafter.json
|
||||||
6632b2a29739b77ca01b29a33688640d63ba85fb data/refinedstorage/advancements/recipes/misc/coloring_recipes/black_crafter_manager.json
|
6632b2a29739b77ca01b29a33688640d63ba85fb data/refinedstorage/advancements/recipes/misc/coloring_recipes/black_crafter_manager.json
|
||||||
|
@@ -1,2 +1,2 @@
|
|||||||
// 1.20.1 2023-07-03T11:19:34.4768009 Block Entity Type Tags
|
// 1.20.1 2023-11-05T14:19:25.380203046 Block Entity Type Tags
|
||||||
98555d946827da8ddb7a7c451a1c99f4d0184ad3 data/packingtape/tags/block_entity_type/blacklist/problematic.json
|
98555d946827da8ddb7a7c451a1c99f4d0184ad3 data/packingtape/tags/block_entity_type/blacklist/problematic.json
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// 1.20.1 2023-07-03T11:19:34.4829224 Tags for minecraft:item mod id refinedstorage
|
// 1.20.1 2023-11-05T14:19:25.382491537 Tags for minecraft:item mod id refinedstorage
|
||||||
061bf4c2f3bdd530115615f2b04e55c2602908bd data/refinedstorage/tags/items/controller.json
|
061bf4c2f3bdd530115615f2b04e55c2602908bd data/refinedstorage/tags/items/controller.json
|
||||||
407a16e5d941c69915f75b135a13e9144cc9c43e data/refinedstorage/tags/items/crafter.json
|
407a16e5d941c69915f75b135a13e9144cc9c43e data/refinedstorage/tags/items/crafter.json
|
||||||
dc1342f1d3e6a4cd8eaaa52429a011c10c6c2d96 data/refinedstorage/tags/items/crafter_manager.json
|
dc1342f1d3e6a4cd8eaaa52429a011c10c6c2d96 data/refinedstorage/tags/items/crafter_manager.json
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
// 1.20.1 2023-07-03T11:19:34.5471111 Tags for minecraft:block mod id refinedstorage
|
// 1.20.1 2023-11-05T14:52:30.007687009 Tags for minecraft:block mod id refinedstorage
|
||||||
3f3a0c830f4ddc021ae2c2a36f75311d8df1fb2e data/forge/tags/blocks/relocation_not_supported.json
|
885d292a69d67240dbf2e57e951bf4fff5c7a064 data/forge/tags/blocks/relocation_not_supported.json
|
||||||
061bf4c2f3bdd530115615f2b04e55c2602908bd data/refinedstorage/tags/blocks/controller.json
|
061bf4c2f3bdd530115615f2b04e55c2602908bd data/refinedstorage/tags/blocks/controller.json
|
||||||
407a16e5d941c69915f75b135a13e9144cc9c43e data/refinedstorage/tags/blocks/crafter.json
|
407a16e5d941c69915f75b135a13e9144cc9c43e data/refinedstorage/tags/blocks/crafter.json
|
||||||
dc1342f1d3e6a4cd8eaaa52429a011c10c6c2d96 data/refinedstorage/tags/blocks/crafter_manager.json
|
dc1342f1d3e6a4cd8eaaa52429a011c10c6c2d96 data/refinedstorage/tags/blocks/crafter_manager.json
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// 1.20.1 2023-07-03T11:19:34.5335391 Block States: refinedstorage
|
// 1.20.1 2023-11-05T14:52:29.995381618 Block States: refinedstorage
|
||||||
7b69e3ab3a7471a50e264579d36c04adb8acad35 assets/refinedstorage/blockstates/black_controller.json
|
7b69e3ab3a7471a50e264579d36c04adb8acad35 assets/refinedstorage/blockstates/black_controller.json
|
||||||
c87045bd089212825bdd0f06b0d25e7bcf0e3f5d assets/refinedstorage/blockstates/black_crafter.json
|
c87045bd089212825bdd0f06b0d25e7bcf0e3f5d assets/refinedstorage/blockstates/black_crafter.json
|
||||||
999fe91e1661d6b45f9c29878f06438b3b5919dc assets/refinedstorage/blockstates/black_crafter_manager.json
|
999fe91e1661d6b45f9c29878f06438b3b5919dc assets/refinedstorage/blockstates/black_crafter_manager.json
|
||||||
@@ -267,7 +267,7 @@ e25236415255c8e84e8425cd5ef5068af2e90bf5 assets/refinedstorage/models/block/cont
|
|||||||
719f9943433757fe6d544facfad02cf5c863b128 assets/refinedstorage/models/block/controller/magenta.json
|
719f9943433757fe6d544facfad02cf5c863b128 assets/refinedstorage/models/block/controller/magenta.json
|
||||||
ac1cb6e399a675e681a5c32be92cf2bbbabb845e assets/refinedstorage/models/block/controller/nearly_off.json
|
ac1cb6e399a675e681a5c32be92cf2bbbabb845e assets/refinedstorage/models/block/controller/nearly_off.json
|
||||||
df5ef8ae2db4d693376007210753f08e8ed9aa1f assets/refinedstorage/models/block/controller/nearly_on.json
|
df5ef8ae2db4d693376007210753f08e8ed9aa1f assets/refinedstorage/models/block/controller/nearly_on.json
|
||||||
70e2a0e01172f7da1631c48358986597731f210f assets/refinedstorage/models/block/controller/off.json
|
649b3ac449fa858abcf8771bc91fe9ce04949989 assets/refinedstorage/models/block/controller/off.json
|
||||||
197c8d6037075f2a32aa361a573a86a93b71d178 assets/refinedstorage/models/block/controller/orange.json
|
197c8d6037075f2a32aa361a573a86a93b71d178 assets/refinedstorage/models/block/controller/orange.json
|
||||||
b5d54a0751d165ea36f32a545cd0d74cfec96138 assets/refinedstorage/models/block/controller/pink.json
|
b5d54a0751d165ea36f32a545cd0d74cfec96138 assets/refinedstorage/models/block/controller/pink.json
|
||||||
f6f6681357c6759a6de3baac9116c45f4027ed0b assets/refinedstorage/models/block/controller/purple.json
|
f6f6681357c6759a6de3baac9116c45f4027ed0b assets/refinedstorage/models/block/controller/purple.json
|
||||||
@@ -278,7 +278,7 @@ a3fc2ae7524e81e7ac41d116f23dfcfe58fcca9a assets/refinedstorage/models/block/craf
|
|||||||
ca9f47ac28aa1e6779613d426b837526b50ae0e2 assets/refinedstorage/models/block/crafter/blue.json
|
ca9f47ac28aa1e6779613d426b837526b50ae0e2 assets/refinedstorage/models/block/crafter/blue.json
|
||||||
58a500649c2d2a496f7228b9fa537802baf15a20 assets/refinedstorage/models/block/crafter/brown.json
|
58a500649c2d2a496f7228b9fa537802baf15a20 assets/refinedstorage/models/block/crafter/brown.json
|
||||||
cce737a93507d1eb58d51d2ddac6428c695c6b23 assets/refinedstorage/models/block/crafter/cyan.json
|
cce737a93507d1eb58d51d2ddac6428c695c6b23 assets/refinedstorage/models/block/crafter/cyan.json
|
||||||
9abba05387aa43ead444a35b3337f87dcf8a07ce assets/refinedstorage/models/block/crafter/disconnected.json
|
9a012e8377cf60c903a5d42918f3b2bde17539d2 assets/refinedstorage/models/block/crafter/disconnected.json
|
||||||
7c6c30838702c3e43f7c9e62319d2cd486d1498a assets/refinedstorage/models/block/crafter/gray.json
|
7c6c30838702c3e43f7c9e62319d2cd486d1498a assets/refinedstorage/models/block/crafter/gray.json
|
||||||
c495e9d2fc43e5e6094b4799609961445d391927 assets/refinedstorage/models/block/crafter/green.json
|
c495e9d2fc43e5e6094b4799609961445d391927 assets/refinedstorage/models/block/crafter/green.json
|
||||||
8c493f345d1a6af778087a49cf36588954bb84fe assets/refinedstorage/models/block/crafter/light_blue.json
|
8c493f345d1a6af778087a49cf36588954bb84fe assets/refinedstorage/models/block/crafter/light_blue.json
|
||||||
@@ -295,7 +295,7 @@ c1ab462d97a36b71baa6d03b0aefab777377aa80 assets/refinedstorage/models/block/craf
|
|||||||
947d1cacb3f457c5f9985961bf9a2cb64392f9c6 assets/refinedstorage/models/block/crafter_manager/blue.json
|
947d1cacb3f457c5f9985961bf9a2cb64392f9c6 assets/refinedstorage/models/block/crafter_manager/blue.json
|
||||||
bdf1b91bb479fdc377250a925dd569c222b8b983 assets/refinedstorage/models/block/crafter_manager/brown.json
|
bdf1b91bb479fdc377250a925dd569c222b8b983 assets/refinedstorage/models/block/crafter_manager/brown.json
|
||||||
41746225550b6f965c0bcb2168aef5afa6ac5780 assets/refinedstorage/models/block/crafter_manager/cyan.json
|
41746225550b6f965c0bcb2168aef5afa6ac5780 assets/refinedstorage/models/block/crafter_manager/cyan.json
|
||||||
3760e96ab56ce35790deccb0bc0dd5b777d5624a assets/refinedstorage/models/block/crafter_manager/disconnected.json
|
006345975c1de5fb804ad47027d66730f13676d9 assets/refinedstorage/models/block/crafter_manager/disconnected.json
|
||||||
7470d98e9ed8ab00a4cac8b651d095dbc33a787a assets/refinedstorage/models/block/crafter_manager/gray.json
|
7470d98e9ed8ab00a4cac8b651d095dbc33a787a assets/refinedstorage/models/block/crafter_manager/gray.json
|
||||||
a6b801087e0e0311fa660ae060879aede938bfa0 assets/refinedstorage/models/block/crafter_manager/green.json
|
a6b801087e0e0311fa660ae060879aede938bfa0 assets/refinedstorage/models/block/crafter_manager/green.json
|
||||||
e6d7a1289f13a29a429db62287ac6c3143a9565a assets/refinedstorage/models/block/crafter_manager/light_blue.json
|
e6d7a1289f13a29a429db62287ac6c3143a9565a assets/refinedstorage/models/block/crafter_manager/light_blue.json
|
||||||
@@ -312,7 +312,7 @@ a65b6a6e90137b5b6d061637daca39cf0230a756 assets/refinedstorage/models/block/craf
|
|||||||
f1beacefdaf9aae0aaafc5a3c5e865e84173c2d4 assets/refinedstorage/models/block/crafting_grid/blue.json
|
f1beacefdaf9aae0aaafc5a3c5e865e84173c2d4 assets/refinedstorage/models/block/crafting_grid/blue.json
|
||||||
3f85170b187def3b075ec11982f91775c72ea2bb assets/refinedstorage/models/block/crafting_grid/brown.json
|
3f85170b187def3b075ec11982f91775c72ea2bb assets/refinedstorage/models/block/crafting_grid/brown.json
|
||||||
e3a6ddbf8c7348f8f0678b7b88d7309c1c2048fb assets/refinedstorage/models/block/crafting_grid/cyan.json
|
e3a6ddbf8c7348f8f0678b7b88d7309c1c2048fb assets/refinedstorage/models/block/crafting_grid/cyan.json
|
||||||
d9bedeb26d136630195de1b309d67f58d771bfb5 assets/refinedstorage/models/block/crafting_grid/disconnected.json
|
6cc5581bebc7eaa3b6ab156aec032534afa56b89 assets/refinedstorage/models/block/crafting_grid/disconnected.json
|
||||||
c483c28bc8d003c214cd9d2c7de40500d9a14a5e assets/refinedstorage/models/block/crafting_grid/gray.json
|
c483c28bc8d003c214cd9d2c7de40500d9a14a5e assets/refinedstorage/models/block/crafting_grid/gray.json
|
||||||
53c5036ea2fd4bc481bccdcd3f37f4b4a3c0e25f assets/refinedstorage/models/block/crafting_grid/green.json
|
53c5036ea2fd4bc481bccdcd3f37f4b4a3c0e25f assets/refinedstorage/models/block/crafting_grid/green.json
|
||||||
034ce68bb933818291cc7b28b6c5da5471c16f01 assets/refinedstorage/models/block/crafting_grid/light_blue.json
|
034ce68bb933818291cc7b28b6c5da5471c16f01 assets/refinedstorage/models/block/crafting_grid/light_blue.json
|
||||||
@@ -329,7 +329,7 @@ e40a7af2d99a7ff0847a13865339fa00a3ebc439 assets/refinedstorage/models/block/craf
|
|||||||
52a2c625eb84f7586bdb98d8f709ffb3c17e4ee9 assets/refinedstorage/models/block/crafting_monitor/blue.json
|
52a2c625eb84f7586bdb98d8f709ffb3c17e4ee9 assets/refinedstorage/models/block/crafting_monitor/blue.json
|
||||||
9c8ceeee7c2dc1512e23d3798c51fa75387d411c assets/refinedstorage/models/block/crafting_monitor/brown.json
|
9c8ceeee7c2dc1512e23d3798c51fa75387d411c assets/refinedstorage/models/block/crafting_monitor/brown.json
|
||||||
1d071a43fa223ffd8261704132df37b8ee916a1d assets/refinedstorage/models/block/crafting_monitor/cyan.json
|
1d071a43fa223ffd8261704132df37b8ee916a1d assets/refinedstorage/models/block/crafting_monitor/cyan.json
|
||||||
185e19d54b212f6736caa383bfe0337f79439992 assets/refinedstorage/models/block/crafting_monitor/disconnected.json
|
8cc27a1d4bf9f12010581454f1d78aa1d982b3ac assets/refinedstorage/models/block/crafting_monitor/disconnected.json
|
||||||
1e2f04d1521c27e31f06940684c1ca7306fa3524 assets/refinedstorage/models/block/crafting_monitor/gray.json
|
1e2f04d1521c27e31f06940684c1ca7306fa3524 assets/refinedstorage/models/block/crafting_monitor/gray.json
|
||||||
ddf85353932580ced34a09ce5cd5fc121828e90d assets/refinedstorage/models/block/crafting_monitor/green.json
|
ddf85353932580ced34a09ce5cd5fc121828e90d assets/refinedstorage/models/block/crafting_monitor/green.json
|
||||||
a161a5fa71b287a0eb7ff801458ad5c76a55a7c5 assets/refinedstorage/models/block/crafting_monitor/light_blue.json
|
a161a5fa71b287a0eb7ff801458ad5c76a55a7c5 assets/refinedstorage/models/block/crafting_monitor/light_blue.json
|
||||||
@@ -352,7 +352,7 @@ c735ce9091c7a5ab2eb0c7b162af77c2ffac2ad8 assets/refinedstorage/models/block/dete
|
|||||||
b462ca74227c62a9e8567ab7461f45e5e95425d8 assets/refinedstorage/models/block/detector/light_gray.json
|
b462ca74227c62a9e8567ab7461f45e5e95425d8 assets/refinedstorage/models/block/detector/light_gray.json
|
||||||
4f52368581621adf1d799660c42f108207217575 assets/refinedstorage/models/block/detector/lime.json
|
4f52368581621adf1d799660c42f108207217575 assets/refinedstorage/models/block/detector/lime.json
|
||||||
170d5328b3f1d9c05c2f6af3191a42d734e89e2b assets/refinedstorage/models/block/detector/magenta.json
|
170d5328b3f1d9c05c2f6af3191a42d734e89e2b assets/refinedstorage/models/block/detector/magenta.json
|
||||||
d571bd12d733c62c3b7e28e6adbf44990429414e assets/refinedstorage/models/block/detector/off.json
|
f50f9956dc7bdd3cac13a6473a45906050667a78 assets/refinedstorage/models/block/detector/off.json
|
||||||
2c735eca8fcf7770558758a49f7f8ea469225897 assets/refinedstorage/models/block/detector/orange.json
|
2c735eca8fcf7770558758a49f7f8ea469225897 assets/refinedstorage/models/block/detector/orange.json
|
||||||
d795e18038baa420972781d7206c1809c7297ae8 assets/refinedstorage/models/block/detector/pink.json
|
d795e18038baa420972781d7206c1809c7297ae8 assets/refinedstorage/models/block/detector/pink.json
|
||||||
0fe0d9e192b473fdb4cc8a5844ca44de22364e43 assets/refinedstorage/models/block/detector/purple.json
|
0fe0d9e192b473fdb4cc8a5844ca44de22364e43 assets/refinedstorage/models/block/detector/purple.json
|
||||||
@@ -363,7 +363,7 @@ bb3725144c25a75f4e0e0a47e7efd174b7211261 assets/refinedstorage/models/block/dete
|
|||||||
08feb52f08c96567bbdc6cd0ab9f289748c3bd1c assets/refinedstorage/models/block/disk_manipulator/blue.json
|
08feb52f08c96567bbdc6cd0ab9f289748c3bd1c assets/refinedstorage/models/block/disk_manipulator/blue.json
|
||||||
5050a32ef1afdb15f31f169d257596a29cf0e46d assets/refinedstorage/models/block/disk_manipulator/brown.json
|
5050a32ef1afdb15f31f169d257596a29cf0e46d assets/refinedstorage/models/block/disk_manipulator/brown.json
|
||||||
9900ae5b9004204fea75cad20e4b18a6d8d3ec37 assets/refinedstorage/models/block/disk_manipulator/cyan.json
|
9900ae5b9004204fea75cad20e4b18a6d8d3ec37 assets/refinedstorage/models/block/disk_manipulator/cyan.json
|
||||||
2621bf9ea6ba66ebeb9eb3130c9a58b5858c8f78 assets/refinedstorage/models/block/disk_manipulator/disconnected.json
|
46b21908098b41f5a6a4229d941dd4732ef1dd76 assets/refinedstorage/models/block/disk_manipulator/disconnected.json
|
||||||
8f78635bbb9015e9b3c710418adec9b96570b133 assets/refinedstorage/models/block/disk_manipulator/gray.json
|
8f78635bbb9015e9b3c710418adec9b96570b133 assets/refinedstorage/models/block/disk_manipulator/gray.json
|
||||||
588bb56e49677311063aa0eee9ebbb864e528fc0 assets/refinedstorage/models/block/disk_manipulator/green.json
|
588bb56e49677311063aa0eee9ebbb864e528fc0 assets/refinedstorage/models/block/disk_manipulator/green.json
|
||||||
46677b54fec1f540a8d63e8037bbf164f755b995 assets/refinedstorage/models/block/disk_manipulator/light_blue.json
|
46677b54fec1f540a8d63e8037bbf164f755b995 assets/refinedstorage/models/block/disk_manipulator/light_blue.json
|
||||||
@@ -381,7 +381,7 @@ d7c7712fe9dc02e0bde2ed57f5e886698b5d1d65 assets/refinedstorage/models/block/disk
|
|||||||
2cc6db45ec512f617d3dfc74e56c812700e8c9be assets/refinedstorage/models/block/fluid_grid/blue.json
|
2cc6db45ec512f617d3dfc74e56c812700e8c9be assets/refinedstorage/models/block/fluid_grid/blue.json
|
||||||
043ee02c82d506d6f5024246fafdf467bcba50f4 assets/refinedstorage/models/block/fluid_grid/brown.json
|
043ee02c82d506d6f5024246fafdf467bcba50f4 assets/refinedstorage/models/block/fluid_grid/brown.json
|
||||||
92c6f3c28c41f179c507434f9e13c41fb6713942 assets/refinedstorage/models/block/fluid_grid/cyan.json
|
92c6f3c28c41f179c507434f9e13c41fb6713942 assets/refinedstorage/models/block/fluid_grid/cyan.json
|
||||||
0cbd7a5d7692ef3a031960eccc58307cf15d887d assets/refinedstorage/models/block/fluid_grid/disconnected.json
|
8715a94eb3b672cf941e471c5883cc9ddebff362 assets/refinedstorage/models/block/fluid_grid/disconnected.json
|
||||||
328db8a51dac5c943b005dd8178f70de0e69b03d assets/refinedstorage/models/block/fluid_grid/gray.json
|
328db8a51dac5c943b005dd8178f70de0e69b03d assets/refinedstorage/models/block/fluid_grid/gray.json
|
||||||
3a012b462e69bdca95c5bb3e030d8dea2d438539 assets/refinedstorage/models/block/fluid_grid/green.json
|
3a012b462e69bdca95c5bb3e030d8dea2d438539 assets/refinedstorage/models/block/fluid_grid/green.json
|
||||||
7f05d7725b608fdb70ba2ae4c6ade712912b5d30 assets/refinedstorage/models/block/fluid_grid/light_blue.json
|
7f05d7725b608fdb70ba2ae4c6ade712912b5d30 assets/refinedstorage/models/block/fluid_grid/light_blue.json
|
||||||
@@ -398,7 +398,7 @@ e845c4a37c72d5ad426fac7203353a9665648a46 assets/refinedstorage/models/block/grid
|
|||||||
589f51309dbecb1964c070a70496b79ae1c4ebcb assets/refinedstorage/models/block/grid/blue.json
|
589f51309dbecb1964c070a70496b79ae1c4ebcb assets/refinedstorage/models/block/grid/blue.json
|
||||||
437076a560cbafb39c685b88e6fd2073c7c158d0 assets/refinedstorage/models/block/grid/brown.json
|
437076a560cbafb39c685b88e6fd2073c7c158d0 assets/refinedstorage/models/block/grid/brown.json
|
||||||
49f3eb8374ee309b81f9242bd048f66421eaa75e assets/refinedstorage/models/block/grid/cyan.json
|
49f3eb8374ee309b81f9242bd048f66421eaa75e assets/refinedstorage/models/block/grid/cyan.json
|
||||||
b85adb5c23340beb39809692ae600bae8a8fbd97 assets/refinedstorage/models/block/grid/disconnected.json
|
97d78c65ba856ead9ff344625e37ed4f6f880516 assets/refinedstorage/models/block/grid/disconnected.json
|
||||||
3ad1130e18a706495810f1cc32e2658b4910607a assets/refinedstorage/models/block/grid/gray.json
|
3ad1130e18a706495810f1cc32e2658b4910607a assets/refinedstorage/models/block/grid/gray.json
|
||||||
83b393342de4c5aee81c50715479ec78efb21667 assets/refinedstorage/models/block/grid/green.json
|
83b393342de4c5aee81c50715479ec78efb21667 assets/refinedstorage/models/block/grid/green.json
|
||||||
3fb70b9aba3dbe38bc0279f1b2789695f8e0a784 assets/refinedstorage/models/block/grid/light_blue.json
|
3fb70b9aba3dbe38bc0279f1b2789695f8e0a784 assets/refinedstorage/models/block/grid/light_blue.json
|
||||||
@@ -415,7 +415,7 @@ b6ad5c9d362ca9c4cbb5727be2a3ea38f03e0a64 assets/refinedstorage/models/block/grid
|
|||||||
521b606adc714ae111325cfb4b86c2f00fc49838 assets/refinedstorage/models/block/network_receiver/blue.json
|
521b606adc714ae111325cfb4b86c2f00fc49838 assets/refinedstorage/models/block/network_receiver/blue.json
|
||||||
e988e5bf8a325e3ed5e80e5615e8d5b337e92892 assets/refinedstorage/models/block/network_receiver/brown.json
|
e988e5bf8a325e3ed5e80e5615e8d5b337e92892 assets/refinedstorage/models/block/network_receiver/brown.json
|
||||||
9feb023af7e1f64c0586fcaa67059743deb3da04 assets/refinedstorage/models/block/network_receiver/cyan.json
|
9feb023af7e1f64c0586fcaa67059743deb3da04 assets/refinedstorage/models/block/network_receiver/cyan.json
|
||||||
1ab3271c61288c831ec53f64d025a34c1805d87b assets/refinedstorage/models/block/network_receiver/disconnected.json
|
978191a2fcbf46cfd70fe9e4bfa564a3b1b89336 assets/refinedstorage/models/block/network_receiver/disconnected.json
|
||||||
44587865547f9c2e58421ea0a880ff51cf8b8fbf assets/refinedstorage/models/block/network_receiver/gray.json
|
44587865547f9c2e58421ea0a880ff51cf8b8fbf assets/refinedstorage/models/block/network_receiver/gray.json
|
||||||
180555a0b56ddbe2def2b86d44ad8d8747bffbea assets/refinedstorage/models/block/network_receiver/green.json
|
180555a0b56ddbe2def2b86d44ad8d8747bffbea assets/refinedstorage/models/block/network_receiver/green.json
|
||||||
cd3a8952d2246b8ae436f6b6b66ee7f7f3f51fa7 assets/refinedstorage/models/block/network_receiver/light_blue.json
|
cd3a8952d2246b8ae436f6b6b66ee7f7f3f51fa7 assets/refinedstorage/models/block/network_receiver/light_blue.json
|
||||||
@@ -432,7 +432,7 @@ c17ae790076c791a6f51b86f307c71452a47e5b9 assets/refinedstorage/models/block/netw
|
|||||||
c4e1615846d83ab4c806b6b24373be722261d1f3 assets/refinedstorage/models/block/network_transmitter/blue.json
|
c4e1615846d83ab4c806b6b24373be722261d1f3 assets/refinedstorage/models/block/network_transmitter/blue.json
|
||||||
0f59245da158e77b1cf84cfab5164eeb8814384d assets/refinedstorage/models/block/network_transmitter/brown.json
|
0f59245da158e77b1cf84cfab5164eeb8814384d assets/refinedstorage/models/block/network_transmitter/brown.json
|
||||||
d1dd664110221c97fe2d22a111800cd2b6df6982 assets/refinedstorage/models/block/network_transmitter/cyan.json
|
d1dd664110221c97fe2d22a111800cd2b6df6982 assets/refinedstorage/models/block/network_transmitter/cyan.json
|
||||||
90f410054ba60b9f9b4cc7212cefb0ec54b8d0db assets/refinedstorage/models/block/network_transmitter/disconnected.json
|
7fad44f8c99b39fa763f603e3f30fa67abebd566 assets/refinedstorage/models/block/network_transmitter/disconnected.json
|
||||||
8d516cc91c6e1bd3fb8e2eee31e268bf10b590df assets/refinedstorage/models/block/network_transmitter/gray.json
|
8d516cc91c6e1bd3fb8e2eee31e268bf10b590df assets/refinedstorage/models/block/network_transmitter/gray.json
|
||||||
ce9afe78c7f30a826630135797ca4c90f7cccbb8 assets/refinedstorage/models/block/network_transmitter/green.json
|
ce9afe78c7f30a826630135797ca4c90f7cccbb8 assets/refinedstorage/models/block/network_transmitter/green.json
|
||||||
3a230a4a14c2151ac1de52072514b622a4fac746 assets/refinedstorage/models/block/network_transmitter/light_blue.json
|
3a230a4a14c2151ac1de52072514b622a4fac746 assets/refinedstorage/models/block/network_transmitter/light_blue.json
|
||||||
@@ -449,7 +449,7 @@ ef2ca4a218be25d42a994a308d3a684f82aeb3e8 assets/refinedstorage/models/block/netw
|
|||||||
09d8500c01a62a454e8e1a817a82e1ad19deace2 assets/refinedstorage/models/block/pattern_grid/blue.json
|
09d8500c01a62a454e8e1a817a82e1ad19deace2 assets/refinedstorage/models/block/pattern_grid/blue.json
|
||||||
50406c5a5a65c0d46e91ef389cd3fd23a2b2599b assets/refinedstorage/models/block/pattern_grid/brown.json
|
50406c5a5a65c0d46e91ef389cd3fd23a2b2599b assets/refinedstorage/models/block/pattern_grid/brown.json
|
||||||
6ce91be1821a684898a59d3a8cfbe13ba4f6b707 assets/refinedstorage/models/block/pattern_grid/cyan.json
|
6ce91be1821a684898a59d3a8cfbe13ba4f6b707 assets/refinedstorage/models/block/pattern_grid/cyan.json
|
||||||
d06e4411da2bf8312b42cfefc1830610befa8bfd assets/refinedstorage/models/block/pattern_grid/disconnected.json
|
1dfe91631ef1f12dcecc7e0e45ec7f5e9aeb53f0 assets/refinedstorage/models/block/pattern_grid/disconnected.json
|
||||||
3257be294252ab0a567fc96486e30b028ba6009d assets/refinedstorage/models/block/pattern_grid/gray.json
|
3257be294252ab0a567fc96486e30b028ba6009d assets/refinedstorage/models/block/pattern_grid/gray.json
|
||||||
b0713d7de5cd75e371bc83e9abd33e842702f1cc assets/refinedstorage/models/block/pattern_grid/green.json
|
b0713d7de5cd75e371bc83e9abd33e842702f1cc assets/refinedstorage/models/block/pattern_grid/green.json
|
||||||
5412d15ff025c0ba4bf04e74cbecb765932cb697 assets/refinedstorage/models/block/pattern_grid/light_blue.json
|
5412d15ff025c0ba4bf04e74cbecb765932cb697 assets/refinedstorage/models/block/pattern_grid/light_blue.json
|
||||||
@@ -466,7 +466,7 @@ e6b978a202ab3b7096443862fc70418fab92d528 assets/refinedstorage/models/block/patt
|
|||||||
3918e0f6307e76c72f112b9e5a26977e4b32bb1a assets/refinedstorage/models/block/relay/blue.json
|
3918e0f6307e76c72f112b9e5a26977e4b32bb1a assets/refinedstorage/models/block/relay/blue.json
|
||||||
2e79077645de1d34de0d3f01102d5242a577440d assets/refinedstorage/models/block/relay/brown.json
|
2e79077645de1d34de0d3f01102d5242a577440d assets/refinedstorage/models/block/relay/brown.json
|
||||||
a683b28b4b41949b663208e28c393746419e5f1f assets/refinedstorage/models/block/relay/cyan.json
|
a683b28b4b41949b663208e28c393746419e5f1f assets/refinedstorage/models/block/relay/cyan.json
|
||||||
d27657d53a4ea85f6c28d11f82d08015af9ef0e2 assets/refinedstorage/models/block/relay/disconnected.json
|
b66ed29783c7a24a7112af3d58cfb903d14535bd assets/refinedstorage/models/block/relay/disconnected.json
|
||||||
9705e6e41a83a5349f74e4478284f6fe8b63a6dd assets/refinedstorage/models/block/relay/gray.json
|
9705e6e41a83a5349f74e4478284f6fe8b63a6dd assets/refinedstorage/models/block/relay/gray.json
|
||||||
2d21af4bfa0fade473addf82032db9e3187af096 assets/refinedstorage/models/block/relay/green.json
|
2d21af4bfa0fade473addf82032db9e3187af096 assets/refinedstorage/models/block/relay/green.json
|
||||||
f53061187c76cce0787d11c6b800745dfd48b36a assets/refinedstorage/models/block/relay/light_blue.json
|
f53061187c76cce0787d11c6b800745dfd48b36a assets/refinedstorage/models/block/relay/light_blue.json
|
||||||
@@ -483,7 +483,7 @@ d6e52eb671800d61b5565e502f395f91c5b650a0 assets/refinedstorage/models/block/rela
|
|||||||
e6dcfb1bfa2cd2ce4f3d3dc2aae7da3ad344bbda assets/refinedstorage/models/block/security_manager/blue.json
|
e6dcfb1bfa2cd2ce4f3d3dc2aae7da3ad344bbda assets/refinedstorage/models/block/security_manager/blue.json
|
||||||
cacca03ecf0de2bce557ca841401033c45cf4cc1 assets/refinedstorage/models/block/security_manager/brown.json
|
cacca03ecf0de2bce557ca841401033c45cf4cc1 assets/refinedstorage/models/block/security_manager/brown.json
|
||||||
e241938c7d93a4fc12a09fa9a1ee847d129e92b9 assets/refinedstorage/models/block/security_manager/cyan.json
|
e241938c7d93a4fc12a09fa9a1ee847d129e92b9 assets/refinedstorage/models/block/security_manager/cyan.json
|
||||||
101c60b99c9c532a248ed15adb59f64ec4bcd186 assets/refinedstorage/models/block/security_manager/disconnected.json
|
c47c799fca836d8d3ee2022acd5347c3e84836f1 assets/refinedstorage/models/block/security_manager/disconnected.json
|
||||||
5fcb0264b7cc0d4132cf9f18deafa366c6066f53 assets/refinedstorage/models/block/security_manager/gray.json
|
5fcb0264b7cc0d4132cf9f18deafa366c6066f53 assets/refinedstorage/models/block/security_manager/gray.json
|
||||||
871b6c7a028d339a551e10d432a936e316f7910e assets/refinedstorage/models/block/security_manager/green.json
|
871b6c7a028d339a551e10d432a936e316f7910e assets/refinedstorage/models/block/security_manager/green.json
|
||||||
f068112ed910080dfc74f2309228f2d5c41ea1b6 assets/refinedstorage/models/block/security_manager/light_blue.json
|
f068112ed910080dfc74f2309228f2d5c41ea1b6 assets/refinedstorage/models/block/security_manager/light_blue.json
|
||||||
@@ -500,7 +500,7 @@ a865ead60de383ea8e84c5c16ffdcc2fcbd2791a assets/refinedstorage/models/block/secu
|
|||||||
f338756587a7c6bce14677030543f7399aee9259 assets/refinedstorage/models/block/wireless_transmitter/blue.json
|
f338756587a7c6bce14677030543f7399aee9259 assets/refinedstorage/models/block/wireless_transmitter/blue.json
|
||||||
667bad1eaa409dbd56bb9db7048a029a610dc5c0 assets/refinedstorage/models/block/wireless_transmitter/brown.json
|
667bad1eaa409dbd56bb9db7048a029a610dc5c0 assets/refinedstorage/models/block/wireless_transmitter/brown.json
|
||||||
eeb75332e2a0a9a10b1f5d47b8621340c3913877 assets/refinedstorage/models/block/wireless_transmitter/cyan.json
|
eeb75332e2a0a9a10b1f5d47b8621340c3913877 assets/refinedstorage/models/block/wireless_transmitter/cyan.json
|
||||||
ca0a18305f47bf6b1e01014b9c557cefbd2873af assets/refinedstorage/models/block/wireless_transmitter/disconnected.json
|
7d8cdce240042937a7a9ad14390f02f978e3b38f assets/refinedstorage/models/block/wireless_transmitter/disconnected.json
|
||||||
732c1094b53f66b96e04630b2e3549f1ae3f3d3e assets/refinedstorage/models/block/wireless_transmitter/gray.json
|
732c1094b53f66b96e04630b2e3549f1ae3f3d3e assets/refinedstorage/models/block/wireless_transmitter/gray.json
|
||||||
2cb3ccf208c6144c461f8b6d05e45360f88e31f1 assets/refinedstorage/models/block/wireless_transmitter/green.json
|
2cb3ccf208c6144c461f8b6d05e45360f88e31f1 assets/refinedstorage/models/block/wireless_transmitter/green.json
|
||||||
f0c6cd01aa8af1558c43033433096942fdda103e assets/refinedstorage/models/block/wireless_transmitter/light_blue.json
|
f0c6cd01aa8af1558c43033433096942fdda103e assets/refinedstorage/models/block/wireless_transmitter/light_blue.json
|
||||||
@@ -513,12 +513,12 @@ c2e51f822376d1968fc07e6987f70ff069d460d4 assets/refinedstorage/models/block/wire
|
|||||||
747ea39519e81abea94ca278f2e610e7c55d342e assets/refinedstorage/models/block/wireless_transmitter/red.json
|
747ea39519e81abea94ca278f2e610e7c55d342e assets/refinedstorage/models/block/wireless_transmitter/red.json
|
||||||
c6258775f847e0957a14fdfd24dcce3116d90acc assets/refinedstorage/models/block/wireless_transmitter/white.json
|
c6258775f847e0957a14fdfd24dcce3116d90acc assets/refinedstorage/models/block/wireless_transmitter/white.json
|
||||||
556c8e5da522c6e27f8a6ee8de69fc95fafb504e assets/refinedstorage/models/block/wireless_transmitter/yellow.json
|
556c8e5da522c6e27f8a6ee8de69fc95fafb504e assets/refinedstorage/models/block/wireless_transmitter/yellow.json
|
||||||
b281a426469c35fbbb1cb3e87795daa52ec3f97b assets/refinedstorage/models/item/black_controller.json
|
0fb53d70880b97a55241dbb04f49b9ad39048920 assets/refinedstorage/models/item/black_controller.json
|
||||||
942d718968e1b8d27b203bc661801d37d154b5f2 assets/refinedstorage/models/item/black_crafter.json
|
942d718968e1b8d27b203bc661801d37d154b5f2 assets/refinedstorage/models/item/black_crafter.json
|
||||||
75ac21fb6def11be4568d2ac5ff2651f3564f25d assets/refinedstorage/models/item/black_crafter_manager.json
|
75ac21fb6def11be4568d2ac5ff2651f3564f25d assets/refinedstorage/models/item/black_crafter_manager.json
|
||||||
28891a28805f96c47409a34943342830a15e6690 assets/refinedstorage/models/item/black_crafting_grid.json
|
28891a28805f96c47409a34943342830a15e6690 assets/refinedstorage/models/item/black_crafting_grid.json
|
||||||
ddb0a90214bf85dc8e188068f73ae2b20f82150f assets/refinedstorage/models/item/black_crafting_monitor.json
|
ddb0a90214bf85dc8e188068f73ae2b20f82150f assets/refinedstorage/models/item/black_crafting_monitor.json
|
||||||
b281a426469c35fbbb1cb3e87795daa52ec3f97b assets/refinedstorage/models/item/black_creative_controller.json
|
0fb53d70880b97a55241dbb04f49b9ad39048920 assets/refinedstorage/models/item/black_creative_controller.json
|
||||||
241b9b206acf6f4c9ac3151c4044dac213bc0670 assets/refinedstorage/models/item/black_detector.json
|
241b9b206acf6f4c9ac3151c4044dac213bc0670 assets/refinedstorage/models/item/black_detector.json
|
||||||
ac9dc77f9d6ba5ee90101187aa09e406c0d14fbd assets/refinedstorage/models/item/black_disk_manipulator.json
|
ac9dc77f9d6ba5ee90101187aa09e406c0d14fbd assets/refinedstorage/models/item/black_disk_manipulator.json
|
||||||
876fc7ec3dda3568c1fd1e8d2b6ceb200d1380ab assets/refinedstorage/models/item/black_fluid_grid.json
|
876fc7ec3dda3568c1fd1e8d2b6ceb200d1380ab assets/refinedstorage/models/item/black_fluid_grid.json
|
||||||
@@ -529,12 +529,12 @@ d823ba7bc1affa7af633185834d1ff582882f2e6 assets/refinedstorage/models/item/black
|
|||||||
61861f588ea12538786c06129c3d0a1040394f16 assets/refinedstorage/models/item/black_relay.json
|
61861f588ea12538786c06129c3d0a1040394f16 assets/refinedstorage/models/item/black_relay.json
|
||||||
c634efc545854df54c57dd2bf61d6e03448742e6 assets/refinedstorage/models/item/black_security_manager.json
|
c634efc545854df54c57dd2bf61d6e03448742e6 assets/refinedstorage/models/item/black_security_manager.json
|
||||||
6a1e27442bf1512ba949fafaf135502ae0420169 assets/refinedstorage/models/item/black_wireless_transmitter.json
|
6a1e27442bf1512ba949fafaf135502ae0420169 assets/refinedstorage/models/item/black_wireless_transmitter.json
|
||||||
691f05fe24b16b4eb7688992e08b2f3f5afb02ee assets/refinedstorage/models/item/blue_controller.json
|
1df94eb9089e76129d911d793c26402ff9313880 assets/refinedstorage/models/item/blue_controller.json
|
||||||
2de69e179294ad396ebe181228c3e9c1787ab550 assets/refinedstorage/models/item/blue_crafter.json
|
2de69e179294ad396ebe181228c3e9c1787ab550 assets/refinedstorage/models/item/blue_crafter.json
|
||||||
cdea55152a48642717bdc630f74ee6fcf1d8f667 assets/refinedstorage/models/item/blue_crafter_manager.json
|
cdea55152a48642717bdc630f74ee6fcf1d8f667 assets/refinedstorage/models/item/blue_crafter_manager.json
|
||||||
c75d3ac7fb95df1b57ae997f5bf9ed7aad112eb0 assets/refinedstorage/models/item/blue_crafting_grid.json
|
c75d3ac7fb95df1b57ae997f5bf9ed7aad112eb0 assets/refinedstorage/models/item/blue_crafting_grid.json
|
||||||
4fba5520838ccf9f88f51853ad95b9bd6c6c9b9c assets/refinedstorage/models/item/blue_crafting_monitor.json
|
4fba5520838ccf9f88f51853ad95b9bd6c6c9b9c assets/refinedstorage/models/item/blue_crafting_monitor.json
|
||||||
691f05fe24b16b4eb7688992e08b2f3f5afb02ee assets/refinedstorage/models/item/blue_creative_controller.json
|
1df94eb9089e76129d911d793c26402ff9313880 assets/refinedstorage/models/item/blue_creative_controller.json
|
||||||
f59b716bc576eed79556110ef355fa28cf92d10a assets/refinedstorage/models/item/blue_detector.json
|
f59b716bc576eed79556110ef355fa28cf92d10a assets/refinedstorage/models/item/blue_detector.json
|
||||||
5f8275097f6478a4f23e1ce55dde36a5dc2e5407 assets/refinedstorage/models/item/blue_disk_manipulator.json
|
5f8275097f6478a4f23e1ce55dde36a5dc2e5407 assets/refinedstorage/models/item/blue_disk_manipulator.json
|
||||||
675c756edd54900ab155bc45d5a7134cf6dac3a3 assets/refinedstorage/models/item/blue_fluid_grid.json
|
675c756edd54900ab155bc45d5a7134cf6dac3a3 assets/refinedstorage/models/item/blue_fluid_grid.json
|
||||||
@@ -545,12 +545,12 @@ f59b716bc576eed79556110ef355fa28cf92d10a assets/refinedstorage/models/item/blue_
|
|||||||
763ebca22b3642be09f396deac9cd9c54b90e58f assets/refinedstorage/models/item/blue_relay.json
|
763ebca22b3642be09f396deac9cd9c54b90e58f assets/refinedstorage/models/item/blue_relay.json
|
||||||
5abbfde1e5a947ae44fde121c3294f9fb2b60e7d assets/refinedstorage/models/item/blue_security_manager.json
|
5abbfde1e5a947ae44fde121c3294f9fb2b60e7d assets/refinedstorage/models/item/blue_security_manager.json
|
||||||
e38c127e67a2ef649d7ed595577947c93473d3d2 assets/refinedstorage/models/item/blue_wireless_transmitter.json
|
e38c127e67a2ef649d7ed595577947c93473d3d2 assets/refinedstorage/models/item/blue_wireless_transmitter.json
|
||||||
4be65b24bde8f3b4dd101ee78b74bb8e22cfd193 assets/refinedstorage/models/item/brown_controller.json
|
f27acd12556251b68e10d33d55cb90bcee40ab07 assets/refinedstorage/models/item/brown_controller.json
|
||||||
0fb2cc9e3e05d19d9fcc5e04c6baeaa2cb04265c assets/refinedstorage/models/item/brown_crafter.json
|
0fb2cc9e3e05d19d9fcc5e04c6baeaa2cb04265c assets/refinedstorage/models/item/brown_crafter.json
|
||||||
022322ce32ac742f4ce5498d3da128741fe0767d assets/refinedstorage/models/item/brown_crafter_manager.json
|
022322ce32ac742f4ce5498d3da128741fe0767d assets/refinedstorage/models/item/brown_crafter_manager.json
|
||||||
eb37e649bbb3f087df69a30c22215418b3fc901d assets/refinedstorage/models/item/brown_crafting_grid.json
|
eb37e649bbb3f087df69a30c22215418b3fc901d assets/refinedstorage/models/item/brown_crafting_grid.json
|
||||||
4556f504e89f87de6ab73c12259b73eb151e8d7a assets/refinedstorage/models/item/brown_crafting_monitor.json
|
4556f504e89f87de6ab73c12259b73eb151e8d7a assets/refinedstorage/models/item/brown_crafting_monitor.json
|
||||||
4be65b24bde8f3b4dd101ee78b74bb8e22cfd193 assets/refinedstorage/models/item/brown_creative_controller.json
|
f27acd12556251b68e10d33d55cb90bcee40ab07 assets/refinedstorage/models/item/brown_creative_controller.json
|
||||||
470afaeaaaec68a1474b2efcb2e027382b6d4069 assets/refinedstorage/models/item/brown_detector.json
|
470afaeaaaec68a1474b2efcb2e027382b6d4069 assets/refinedstorage/models/item/brown_detector.json
|
||||||
12c9098c38f118056d9576671287b9783e50be98 assets/refinedstorage/models/item/brown_disk_manipulator.json
|
12c9098c38f118056d9576671287b9783e50be98 assets/refinedstorage/models/item/brown_disk_manipulator.json
|
||||||
7fcf4b0092b4a6e733046548217f8cd40a0b0c01 assets/refinedstorage/models/item/brown_fluid_grid.json
|
7fcf4b0092b4a6e733046548217f8cd40a0b0c01 assets/refinedstorage/models/item/brown_fluid_grid.json
|
||||||
@@ -561,18 +561,18 @@ a852eda91b130409a8127af77cf1a00b2aab81c8 assets/refinedstorage/models/item/brown
|
|||||||
023fb3d3d0164e237d6d8c83028e66ffb080905f assets/refinedstorage/models/item/brown_relay.json
|
023fb3d3d0164e237d6d8c83028e66ffb080905f assets/refinedstorage/models/item/brown_relay.json
|
||||||
45c70a18a9b27b3a0f7cd41a450ba23ba4b97faf assets/refinedstorage/models/item/brown_security_manager.json
|
45c70a18a9b27b3a0f7cd41a450ba23ba4b97faf assets/refinedstorage/models/item/brown_security_manager.json
|
||||||
3c329581c36a66b21409184843a78e90eae25c50 assets/refinedstorage/models/item/brown_wireless_transmitter.json
|
3c329581c36a66b21409184843a78e90eae25c50 assets/refinedstorage/models/item/brown_wireless_transmitter.json
|
||||||
016151e185659bb813f613e2fd854b97f409e6ee assets/refinedstorage/models/item/controller.json
|
9af89e77d470eaf03b34847b568e0fcd0cfeb2ca assets/refinedstorage/models/item/controller.json
|
||||||
712a2408676f6ce1208b196d0cfe065136d612fe assets/refinedstorage/models/item/crafter.json
|
712a2408676f6ce1208b196d0cfe065136d612fe assets/refinedstorage/models/item/crafter.json
|
||||||
2adb1c2ed2c30890df2492069293f20c085eddf2 assets/refinedstorage/models/item/crafter_manager.json
|
2adb1c2ed2c30890df2492069293f20c085eddf2 assets/refinedstorage/models/item/crafter_manager.json
|
||||||
2ef1da280a960eafd61369b67ea1647966fdcc0c assets/refinedstorage/models/item/crafting_grid.json
|
2ef1da280a960eafd61369b67ea1647966fdcc0c assets/refinedstorage/models/item/crafting_grid.json
|
||||||
ea61beccbf6896f3fdf99b8d4787be67573595dc assets/refinedstorage/models/item/crafting_monitor.json
|
ea61beccbf6896f3fdf99b8d4787be67573595dc assets/refinedstorage/models/item/crafting_monitor.json
|
||||||
016151e185659bb813f613e2fd854b97f409e6ee assets/refinedstorage/models/item/creative_controller.json
|
9af89e77d470eaf03b34847b568e0fcd0cfeb2ca assets/refinedstorage/models/item/creative_controller.json
|
||||||
0771c634ffd9a6a354ca2464a26c48bfbb19699d assets/refinedstorage/models/item/cyan_controller.json
|
d3d25cbac485889dd6766253c3fb96a1827963a9 assets/refinedstorage/models/item/cyan_controller.json
|
||||||
5b3089cc0257509445e335427fcee15a0c6d19e4 assets/refinedstorage/models/item/cyan_crafter.json
|
5b3089cc0257509445e335427fcee15a0c6d19e4 assets/refinedstorage/models/item/cyan_crafter.json
|
||||||
734e1865d2b25eda65d72541f7db30b277d3cf73 assets/refinedstorage/models/item/cyan_crafter_manager.json
|
734e1865d2b25eda65d72541f7db30b277d3cf73 assets/refinedstorage/models/item/cyan_crafter_manager.json
|
||||||
c4fc9d67c903d107548d25237173d1df0dfad2ee assets/refinedstorage/models/item/cyan_crafting_grid.json
|
c4fc9d67c903d107548d25237173d1df0dfad2ee assets/refinedstorage/models/item/cyan_crafting_grid.json
|
||||||
133a84e4fd76123350bffc37cab6156ae6a0f61f assets/refinedstorage/models/item/cyan_crafting_monitor.json
|
133a84e4fd76123350bffc37cab6156ae6a0f61f assets/refinedstorage/models/item/cyan_crafting_monitor.json
|
||||||
0771c634ffd9a6a354ca2464a26c48bfbb19699d assets/refinedstorage/models/item/cyan_creative_controller.json
|
d3d25cbac485889dd6766253c3fb96a1827963a9 assets/refinedstorage/models/item/cyan_creative_controller.json
|
||||||
3e224af44dddb95f804967974a776f3d39e14f79 assets/refinedstorage/models/item/cyan_detector.json
|
3e224af44dddb95f804967974a776f3d39e14f79 assets/refinedstorage/models/item/cyan_detector.json
|
||||||
db51d1db8c2ef34f4ca03499081995031fc9bd75 assets/refinedstorage/models/item/cyan_disk_manipulator.json
|
db51d1db8c2ef34f4ca03499081995031fc9bd75 assets/refinedstorage/models/item/cyan_disk_manipulator.json
|
||||||
959e0627277816d1d5a0a529bee59631aa2cbd59 assets/refinedstorage/models/item/cyan_fluid_grid.json
|
959e0627277816d1d5a0a529bee59631aa2cbd59 assets/refinedstorage/models/item/cyan_fluid_grid.json
|
||||||
@@ -586,12 +586,12 @@ c3bcb743cd9b551b8e3e07dd16a039ccce65167f assets/refinedstorage/models/item/cyan_
|
|||||||
a14c5f121b112f80f018eb39e4017a044f5176c2 assets/refinedstorage/models/item/detector.json
|
a14c5f121b112f80f018eb39e4017a044f5176c2 assets/refinedstorage/models/item/detector.json
|
||||||
b864dd2a574cb0ff0f87373ba145b7e7c4b6a315 assets/refinedstorage/models/item/disk_manipulator.json
|
b864dd2a574cb0ff0f87373ba145b7e7c4b6a315 assets/refinedstorage/models/item/disk_manipulator.json
|
||||||
b6f77a02dc8f84c8dc50af0e3ca8d4a2597894fb assets/refinedstorage/models/item/fluid_grid.json
|
b6f77a02dc8f84c8dc50af0e3ca8d4a2597894fb assets/refinedstorage/models/item/fluid_grid.json
|
||||||
9dfedbca7429678288b5e569f4ca99b1723c24b2 assets/refinedstorage/models/item/gray_controller.json
|
2793400d4b735f12ca00a38d89ce230de4882728 assets/refinedstorage/models/item/gray_controller.json
|
||||||
f201a4dc689054fbf5afa4cd9318059b45e34fac assets/refinedstorage/models/item/gray_crafter.json
|
f201a4dc689054fbf5afa4cd9318059b45e34fac assets/refinedstorage/models/item/gray_crafter.json
|
||||||
d699ea44dc8ba183d453f865bb5dd816cae8a628 assets/refinedstorage/models/item/gray_crafter_manager.json
|
d699ea44dc8ba183d453f865bb5dd816cae8a628 assets/refinedstorage/models/item/gray_crafter_manager.json
|
||||||
e8beb5658c198903aa882e818e9f1a12fb219ed2 assets/refinedstorage/models/item/gray_crafting_grid.json
|
e8beb5658c198903aa882e818e9f1a12fb219ed2 assets/refinedstorage/models/item/gray_crafting_grid.json
|
||||||
a24b4fb9353df1c8b9ba48ec7cda1402a0d18e06 assets/refinedstorage/models/item/gray_crafting_monitor.json
|
a24b4fb9353df1c8b9ba48ec7cda1402a0d18e06 assets/refinedstorage/models/item/gray_crafting_monitor.json
|
||||||
9dfedbca7429678288b5e569f4ca99b1723c24b2 assets/refinedstorage/models/item/gray_creative_controller.json
|
2793400d4b735f12ca00a38d89ce230de4882728 assets/refinedstorage/models/item/gray_creative_controller.json
|
||||||
3a62caa71a381e853fb8e1fd09e6eca16de95b8c assets/refinedstorage/models/item/gray_detector.json
|
3a62caa71a381e853fb8e1fd09e6eca16de95b8c assets/refinedstorage/models/item/gray_detector.json
|
||||||
876cf3b8ad044945e93a2dcf595e5ee851a95801 assets/refinedstorage/models/item/gray_disk_manipulator.json
|
876cf3b8ad044945e93a2dcf595e5ee851a95801 assets/refinedstorage/models/item/gray_disk_manipulator.json
|
||||||
4eb03c2834f4d92be29707d3a7e3412d2e5afae7 assets/refinedstorage/models/item/gray_fluid_grid.json
|
4eb03c2834f4d92be29707d3a7e3412d2e5afae7 assets/refinedstorage/models/item/gray_fluid_grid.json
|
||||||
@@ -602,12 +602,12 @@ d549169a533feee23ee8f3e1b39b7c4bcf23b475 assets/refinedstorage/models/item/gray_
|
|||||||
39bd74ec45ffe304d1e339d184b2164117d88b5f assets/refinedstorage/models/item/gray_relay.json
|
39bd74ec45ffe304d1e339d184b2164117d88b5f assets/refinedstorage/models/item/gray_relay.json
|
||||||
9db80d9e795dbe5edff7a565671cf0095a7c4973 assets/refinedstorage/models/item/gray_security_manager.json
|
9db80d9e795dbe5edff7a565671cf0095a7c4973 assets/refinedstorage/models/item/gray_security_manager.json
|
||||||
be60c25b51488e5a1f5db9aa0b8ce834b4f843b6 assets/refinedstorage/models/item/gray_wireless_transmitter.json
|
be60c25b51488e5a1f5db9aa0b8ce834b4f843b6 assets/refinedstorage/models/item/gray_wireless_transmitter.json
|
||||||
83f880c7750bb4e0ab772b23955faa259792b078 assets/refinedstorage/models/item/green_controller.json
|
a6dccc5437fa6c15a9a032e7862c4c5653849dd8 assets/refinedstorage/models/item/green_controller.json
|
||||||
36aec4f5a603dddd1817a815a612a4eb7190e222 assets/refinedstorage/models/item/green_crafter.json
|
36aec4f5a603dddd1817a815a612a4eb7190e222 assets/refinedstorage/models/item/green_crafter.json
|
||||||
6fce1c029999c014a5d9bd0ac7b2b24838dc0cf6 assets/refinedstorage/models/item/green_crafter_manager.json
|
6fce1c029999c014a5d9bd0ac7b2b24838dc0cf6 assets/refinedstorage/models/item/green_crafter_manager.json
|
||||||
3d835f157f4ace96a84a0e990276fe03fe1758c4 assets/refinedstorage/models/item/green_crafting_grid.json
|
3d835f157f4ace96a84a0e990276fe03fe1758c4 assets/refinedstorage/models/item/green_crafting_grid.json
|
||||||
cbb61098395bda16b743c82f56529a00d91a708a assets/refinedstorage/models/item/green_crafting_monitor.json
|
cbb61098395bda16b743c82f56529a00d91a708a assets/refinedstorage/models/item/green_crafting_monitor.json
|
||||||
83f880c7750bb4e0ab772b23955faa259792b078 assets/refinedstorage/models/item/green_creative_controller.json
|
a6dccc5437fa6c15a9a032e7862c4c5653849dd8 assets/refinedstorage/models/item/green_creative_controller.json
|
||||||
7ec5ba813db5c1ae5663bebfa659b53c8e75096c assets/refinedstorage/models/item/green_detector.json
|
7ec5ba813db5c1ae5663bebfa659b53c8e75096c assets/refinedstorage/models/item/green_detector.json
|
||||||
7b0b74419933a23e3921672b49edc8830d1b3045 assets/refinedstorage/models/item/green_disk_manipulator.json
|
7b0b74419933a23e3921672b49edc8830d1b3045 assets/refinedstorage/models/item/green_disk_manipulator.json
|
||||||
a8c70489b145ecafc07040195946c329ae30da41 assets/refinedstorage/models/item/green_fluid_grid.json
|
a8c70489b145ecafc07040195946c329ae30da41 assets/refinedstorage/models/item/green_fluid_grid.json
|
||||||
@@ -619,12 +619,12 @@ ca9981a8b7c74fbdea91c12409b1c56929f829a2 assets/refinedstorage/models/item/green
|
|||||||
29860d74f6f59ebabc4534eb3e437c50d82e6d75 assets/refinedstorage/models/item/green_security_manager.json
|
29860d74f6f59ebabc4534eb3e437c50d82e6d75 assets/refinedstorage/models/item/green_security_manager.json
|
||||||
0f626e543261b13e2d9021d09fc804236b9c9ca5 assets/refinedstorage/models/item/green_wireless_transmitter.json
|
0f626e543261b13e2d9021d09fc804236b9c9ca5 assets/refinedstorage/models/item/green_wireless_transmitter.json
|
||||||
8e62b1170a93f317a3a0463eb2dc331bc6a29fc8 assets/refinedstorage/models/item/grid.json
|
8e62b1170a93f317a3a0463eb2dc331bc6a29fc8 assets/refinedstorage/models/item/grid.json
|
||||||
2269e15b0f486194980cd1fe6ed2c7c506d10c3c assets/refinedstorage/models/item/light_gray_controller.json
|
dbcc2e910fd5029dd5061fc018b0c21bee0aa0b0 assets/refinedstorage/models/item/light_gray_controller.json
|
||||||
1280d243a5ee781a911776123a92280f6871e92b assets/refinedstorage/models/item/light_gray_crafter.json
|
1280d243a5ee781a911776123a92280f6871e92b assets/refinedstorage/models/item/light_gray_crafter.json
|
||||||
63d91aa91f0b04bc56661d77cba3802a028b14c3 assets/refinedstorage/models/item/light_gray_crafter_manager.json
|
63d91aa91f0b04bc56661d77cba3802a028b14c3 assets/refinedstorage/models/item/light_gray_crafter_manager.json
|
||||||
5447f9412ac89a2453495f7012906936556f3f97 assets/refinedstorage/models/item/light_gray_crafting_grid.json
|
5447f9412ac89a2453495f7012906936556f3f97 assets/refinedstorage/models/item/light_gray_crafting_grid.json
|
||||||
589f1eab82f17738f7c84408250051526612166c assets/refinedstorage/models/item/light_gray_crafting_monitor.json
|
589f1eab82f17738f7c84408250051526612166c assets/refinedstorage/models/item/light_gray_crafting_monitor.json
|
||||||
2269e15b0f486194980cd1fe6ed2c7c506d10c3c assets/refinedstorage/models/item/light_gray_creative_controller.json
|
dbcc2e910fd5029dd5061fc018b0c21bee0aa0b0 assets/refinedstorage/models/item/light_gray_creative_controller.json
|
||||||
c0fe9601a0b96cb28e05777646e8b1fa06dff11c assets/refinedstorage/models/item/light_gray_detector.json
|
c0fe9601a0b96cb28e05777646e8b1fa06dff11c assets/refinedstorage/models/item/light_gray_detector.json
|
||||||
a015d9065f13234987d35e242922e19a39cda358 assets/refinedstorage/models/item/light_gray_disk_manipulator.json
|
a015d9065f13234987d35e242922e19a39cda358 assets/refinedstorage/models/item/light_gray_disk_manipulator.json
|
||||||
792b2649c17462ffad43035187f9ae62faf2f741 assets/refinedstorage/models/item/light_gray_fluid_grid.json
|
792b2649c17462ffad43035187f9ae62faf2f741 assets/refinedstorage/models/item/light_gray_fluid_grid.json
|
||||||
@@ -635,12 +635,12 @@ d7492fb5ea426b156d29d90cac3c068a69257993 assets/refinedstorage/models/item/light
|
|||||||
4b04ebd4de4cc44d66f69595a15e19c986bd89c5 assets/refinedstorage/models/item/light_gray_relay.json
|
4b04ebd4de4cc44d66f69595a15e19c986bd89c5 assets/refinedstorage/models/item/light_gray_relay.json
|
||||||
72c8be165eead23444e70fd27b214fbe4b4c8f5c assets/refinedstorage/models/item/light_gray_security_manager.json
|
72c8be165eead23444e70fd27b214fbe4b4c8f5c assets/refinedstorage/models/item/light_gray_security_manager.json
|
||||||
cf8a25b86388ed35135d6f7abc84c9db2f8c3147 assets/refinedstorage/models/item/light_gray_wireless_transmitter.json
|
cf8a25b86388ed35135d6f7abc84c9db2f8c3147 assets/refinedstorage/models/item/light_gray_wireless_transmitter.json
|
||||||
011d6b505683c116a6dec86ac3f6a6164f6b9d6a assets/refinedstorage/models/item/lime_controller.json
|
191c24b9824b3c218963d8ec68c79a25600cd04e assets/refinedstorage/models/item/lime_controller.json
|
||||||
b5fe18a5faa8b19bca2356055bed26e3c4b7d6da assets/refinedstorage/models/item/lime_crafter.json
|
b5fe18a5faa8b19bca2356055bed26e3c4b7d6da assets/refinedstorage/models/item/lime_crafter.json
|
||||||
c06a4c91f48f582ec7bbddf1992632496f628052 assets/refinedstorage/models/item/lime_crafter_manager.json
|
c06a4c91f48f582ec7bbddf1992632496f628052 assets/refinedstorage/models/item/lime_crafter_manager.json
|
||||||
5cd081548f10fccc38406afa4e62211a67068868 assets/refinedstorage/models/item/lime_crafting_grid.json
|
5cd081548f10fccc38406afa4e62211a67068868 assets/refinedstorage/models/item/lime_crafting_grid.json
|
||||||
d42a9b602a6b3e8ca87f44093bd5dbb8d025b83b assets/refinedstorage/models/item/lime_crafting_monitor.json
|
d42a9b602a6b3e8ca87f44093bd5dbb8d025b83b assets/refinedstorage/models/item/lime_crafting_monitor.json
|
||||||
011d6b505683c116a6dec86ac3f6a6164f6b9d6a assets/refinedstorage/models/item/lime_creative_controller.json
|
191c24b9824b3c218963d8ec68c79a25600cd04e assets/refinedstorage/models/item/lime_creative_controller.json
|
||||||
acc983f06040f4785c84fca542678df7bf93eba6 assets/refinedstorage/models/item/lime_detector.json
|
acc983f06040f4785c84fca542678df7bf93eba6 assets/refinedstorage/models/item/lime_detector.json
|
||||||
19e1e36a546b3ec487a2a4356d85b0f0d72ad69d assets/refinedstorage/models/item/lime_disk_manipulator.json
|
19e1e36a546b3ec487a2a4356d85b0f0d72ad69d assets/refinedstorage/models/item/lime_disk_manipulator.json
|
||||||
2d485286e0757a593ca7ce9cd37ce34ba036fc4f assets/refinedstorage/models/item/lime_fluid_grid.json
|
2d485286e0757a593ca7ce9cd37ce34ba036fc4f assets/refinedstorage/models/item/lime_fluid_grid.json
|
||||||
@@ -651,12 +651,12 @@ a9be76a8a262a6a315f1227d33c8d7304b21f04a assets/refinedstorage/models/item/lime_
|
|||||||
95676494b1360458129336fb1c89a827d9887d9a assets/refinedstorage/models/item/lime_relay.json
|
95676494b1360458129336fb1c89a827d9887d9a assets/refinedstorage/models/item/lime_relay.json
|
||||||
c06aaadeb1e8573ee6a8f4d66c47a908df9df070 assets/refinedstorage/models/item/lime_security_manager.json
|
c06aaadeb1e8573ee6a8f4d66c47a908df9df070 assets/refinedstorage/models/item/lime_security_manager.json
|
||||||
4ac21895d402f5824f599daeae315330deeeb5cc assets/refinedstorage/models/item/lime_wireless_transmitter.json
|
4ac21895d402f5824f599daeae315330deeeb5cc assets/refinedstorage/models/item/lime_wireless_transmitter.json
|
||||||
9f27b43f99677fca67591759cbe5f6edd73bb50a assets/refinedstorage/models/item/magenta_controller.json
|
ed8cd700afa7ce785453398f1739fa69b544306b assets/refinedstorage/models/item/magenta_controller.json
|
||||||
7ae69165d5905f17a5e837de77d22941f3f22181 assets/refinedstorage/models/item/magenta_crafter.json
|
7ae69165d5905f17a5e837de77d22941f3f22181 assets/refinedstorage/models/item/magenta_crafter.json
|
||||||
97a0c41ddb54000647c33b56095215033b7f364a assets/refinedstorage/models/item/magenta_crafter_manager.json
|
97a0c41ddb54000647c33b56095215033b7f364a assets/refinedstorage/models/item/magenta_crafter_manager.json
|
||||||
fea6df9eea90ca27131d5b9e37b08d50b1cb3618 assets/refinedstorage/models/item/magenta_crafting_grid.json
|
fea6df9eea90ca27131d5b9e37b08d50b1cb3618 assets/refinedstorage/models/item/magenta_crafting_grid.json
|
||||||
3bf88ca8bbd2ebe7eba52cd6a90a81d4af0391b0 assets/refinedstorage/models/item/magenta_crafting_monitor.json
|
3bf88ca8bbd2ebe7eba52cd6a90a81d4af0391b0 assets/refinedstorage/models/item/magenta_crafting_monitor.json
|
||||||
9f27b43f99677fca67591759cbe5f6edd73bb50a assets/refinedstorage/models/item/magenta_creative_controller.json
|
ed8cd700afa7ce785453398f1739fa69b544306b assets/refinedstorage/models/item/magenta_creative_controller.json
|
||||||
5fdee8b4342e1b1b8e09a8ab300fcb9dbdcf8530 assets/refinedstorage/models/item/magenta_detector.json
|
5fdee8b4342e1b1b8e09a8ab300fcb9dbdcf8530 assets/refinedstorage/models/item/magenta_detector.json
|
||||||
44ff4ad0e90b6b4bc72653d833e04e5352241304 assets/refinedstorage/models/item/magenta_disk_manipulator.json
|
44ff4ad0e90b6b4bc72653d833e04e5352241304 assets/refinedstorage/models/item/magenta_disk_manipulator.json
|
||||||
220ab0b014958d16917799de11a951e9ab8b207c assets/refinedstorage/models/item/magenta_fluid_grid.json
|
220ab0b014958d16917799de11a951e9ab8b207c assets/refinedstorage/models/item/magenta_fluid_grid.json
|
||||||
@@ -669,12 +669,12 @@ d7bcf381a5d9689d554438184f0fec0012f65f05 assets/refinedstorage/models/item/magen
|
|||||||
833c0a8c3e209c604cad8146468143470693f42a assets/refinedstorage/models/item/magenta_wireless_transmitter.json
|
833c0a8c3e209c604cad8146468143470693f42a assets/refinedstorage/models/item/magenta_wireless_transmitter.json
|
||||||
6dbbe55fd346aaa8eec23b2808ffd18d5840d832 assets/refinedstorage/models/item/network_receiver.json
|
6dbbe55fd346aaa8eec23b2808ffd18d5840d832 assets/refinedstorage/models/item/network_receiver.json
|
||||||
54f8841b6832f05b8e5076cfb5a714ef66c4b159 assets/refinedstorage/models/item/network_transmitter.json
|
54f8841b6832f05b8e5076cfb5a714ef66c4b159 assets/refinedstorage/models/item/network_transmitter.json
|
||||||
4c5f868c405f5a821344993b45ce1c7eb53b39ef assets/refinedstorage/models/item/orange_controller.json
|
62a9e346d5e83e3b4c1c947d7ef5316d93b168a6 assets/refinedstorage/models/item/orange_controller.json
|
||||||
2a934a32a43fd58110eebc7b3e4b05f71c21b76c assets/refinedstorage/models/item/orange_crafter.json
|
2a934a32a43fd58110eebc7b3e4b05f71c21b76c assets/refinedstorage/models/item/orange_crafter.json
|
||||||
3e7fbb114a1270c3e2cf2d79f043c62e869de2dc assets/refinedstorage/models/item/orange_crafter_manager.json
|
3e7fbb114a1270c3e2cf2d79f043c62e869de2dc assets/refinedstorage/models/item/orange_crafter_manager.json
|
||||||
4f35a7cc88dff4dc4ee066261024f14f123f8227 assets/refinedstorage/models/item/orange_crafting_grid.json
|
4f35a7cc88dff4dc4ee066261024f14f123f8227 assets/refinedstorage/models/item/orange_crafting_grid.json
|
||||||
0c7188e1968be58e1797720861a5d104f7dae2a4 assets/refinedstorage/models/item/orange_crafting_monitor.json
|
0c7188e1968be58e1797720861a5d104f7dae2a4 assets/refinedstorage/models/item/orange_crafting_monitor.json
|
||||||
4c5f868c405f5a821344993b45ce1c7eb53b39ef assets/refinedstorage/models/item/orange_creative_controller.json
|
62a9e346d5e83e3b4c1c947d7ef5316d93b168a6 assets/refinedstorage/models/item/orange_creative_controller.json
|
||||||
833cc370275e91e9088bba3505b52e9199beafca assets/refinedstorage/models/item/orange_detector.json
|
833cc370275e91e9088bba3505b52e9199beafca assets/refinedstorage/models/item/orange_detector.json
|
||||||
cc94b04311c3c1089dc1e488464540f5ef04b448 assets/refinedstorage/models/item/orange_disk_manipulator.json
|
cc94b04311c3c1089dc1e488464540f5ef04b448 assets/refinedstorage/models/item/orange_disk_manipulator.json
|
||||||
846a0e2b574b4518a392916902564fc692b72994 assets/refinedstorage/models/item/orange_fluid_grid.json
|
846a0e2b574b4518a392916902564fc692b72994 assets/refinedstorage/models/item/orange_fluid_grid.json
|
||||||
@@ -686,12 +686,12 @@ cae021973ae73db4f26907bc20af071b4788a7d1 assets/refinedstorage/models/item/orang
|
|||||||
fc333d59e066c62ef6bad598dfaadcc030655f23 assets/refinedstorage/models/item/orange_security_manager.json
|
fc333d59e066c62ef6bad598dfaadcc030655f23 assets/refinedstorage/models/item/orange_security_manager.json
|
||||||
27557f3fd10361a51c867fe8211073807576f040 assets/refinedstorage/models/item/orange_wireless_transmitter.json
|
27557f3fd10361a51c867fe8211073807576f040 assets/refinedstorage/models/item/orange_wireless_transmitter.json
|
||||||
4368418d5b92cbaa041d20e6f25d06ab3f24fd6f assets/refinedstorage/models/item/pattern_grid.json
|
4368418d5b92cbaa041d20e6f25d06ab3f24fd6f assets/refinedstorage/models/item/pattern_grid.json
|
||||||
ee76a877974d73451d88c2ca231c8854ada09a1b assets/refinedstorage/models/item/pink_controller.json
|
0514638803a2e3805e5078001fb4f53ceb7d1a41 assets/refinedstorage/models/item/pink_controller.json
|
||||||
3b472cd0ed96b6eb64c7695429cc7a76e629f1a6 assets/refinedstorage/models/item/pink_crafter.json
|
3b472cd0ed96b6eb64c7695429cc7a76e629f1a6 assets/refinedstorage/models/item/pink_crafter.json
|
||||||
03a29baf74da2cbf3d7ee5ae8d9925d19c34e8f3 assets/refinedstorage/models/item/pink_crafter_manager.json
|
03a29baf74da2cbf3d7ee5ae8d9925d19c34e8f3 assets/refinedstorage/models/item/pink_crafter_manager.json
|
||||||
e0710739ed2c8c74147585c990fe62d9fdb18ab0 assets/refinedstorage/models/item/pink_crafting_grid.json
|
e0710739ed2c8c74147585c990fe62d9fdb18ab0 assets/refinedstorage/models/item/pink_crafting_grid.json
|
||||||
71045a36761dca453325aced8d84cff206c81817 assets/refinedstorage/models/item/pink_crafting_monitor.json
|
71045a36761dca453325aced8d84cff206c81817 assets/refinedstorage/models/item/pink_crafting_monitor.json
|
||||||
ee76a877974d73451d88c2ca231c8854ada09a1b assets/refinedstorage/models/item/pink_creative_controller.json
|
0514638803a2e3805e5078001fb4f53ceb7d1a41 assets/refinedstorage/models/item/pink_creative_controller.json
|
||||||
6c67a4fc7796172f625c4862cf616c86bf8cba79 assets/refinedstorage/models/item/pink_detector.json
|
6c67a4fc7796172f625c4862cf616c86bf8cba79 assets/refinedstorage/models/item/pink_detector.json
|
||||||
75c748b9473e195554615573406e1571b5ccac10 assets/refinedstorage/models/item/pink_disk_manipulator.json
|
75c748b9473e195554615573406e1571b5ccac10 assets/refinedstorage/models/item/pink_disk_manipulator.json
|
||||||
c3b2796d126d95f9141472a0c0009d88bd7cb855 assets/refinedstorage/models/item/pink_fluid_grid.json
|
c3b2796d126d95f9141472a0c0009d88bd7cb855 assets/refinedstorage/models/item/pink_fluid_grid.json
|
||||||
@@ -702,12 +702,12 @@ ba12ed9891fa73b2336ff93ab4bfd0d3b1492652 assets/refinedstorage/models/item/pink_
|
|||||||
6d6d9cd242688e2891cd6fc8c74eb19dcf36ac19 assets/refinedstorage/models/item/pink_relay.json
|
6d6d9cd242688e2891cd6fc8c74eb19dcf36ac19 assets/refinedstorage/models/item/pink_relay.json
|
||||||
fe2fc6e128f619dddc5d9f04486264a245c2b457 assets/refinedstorage/models/item/pink_security_manager.json
|
fe2fc6e128f619dddc5d9f04486264a245c2b457 assets/refinedstorage/models/item/pink_security_manager.json
|
||||||
332f608a7dc84019b8b0fa2a5e44ad9f78e430de assets/refinedstorage/models/item/pink_wireless_transmitter.json
|
332f608a7dc84019b8b0fa2a5e44ad9f78e430de assets/refinedstorage/models/item/pink_wireless_transmitter.json
|
||||||
4dfb50d2cd83c9592a6273cebe727c01aa4f1636 assets/refinedstorage/models/item/purple_controller.json
|
0f11e9205719c6fe582e96bd4205ac7c93bfd209 assets/refinedstorage/models/item/purple_controller.json
|
||||||
506b89f03df977db6eb43c09d39b8aa8d7fcc28a assets/refinedstorage/models/item/purple_crafter.json
|
506b89f03df977db6eb43c09d39b8aa8d7fcc28a assets/refinedstorage/models/item/purple_crafter.json
|
||||||
b3b6be54491ba314822a6b47b20a55955b81a986 assets/refinedstorage/models/item/purple_crafter_manager.json
|
b3b6be54491ba314822a6b47b20a55955b81a986 assets/refinedstorage/models/item/purple_crafter_manager.json
|
||||||
413fffa72205e3c3f50106162bf88e8d18cad8ab assets/refinedstorage/models/item/purple_crafting_grid.json
|
413fffa72205e3c3f50106162bf88e8d18cad8ab assets/refinedstorage/models/item/purple_crafting_grid.json
|
||||||
ac159f10aab33c9e95009384d994a46caf4e9c5b assets/refinedstorage/models/item/purple_crafting_monitor.json
|
ac159f10aab33c9e95009384d994a46caf4e9c5b assets/refinedstorage/models/item/purple_crafting_monitor.json
|
||||||
4dfb50d2cd83c9592a6273cebe727c01aa4f1636 assets/refinedstorage/models/item/purple_creative_controller.json
|
0f11e9205719c6fe582e96bd4205ac7c93bfd209 assets/refinedstorage/models/item/purple_creative_controller.json
|
||||||
a137fc45d5f9b891ef00d75a2855258a88177668 assets/refinedstorage/models/item/purple_detector.json
|
a137fc45d5f9b891ef00d75a2855258a88177668 assets/refinedstorage/models/item/purple_detector.json
|
||||||
525576087501ad8483619e8339a614951eada2b6 assets/refinedstorage/models/item/purple_disk_manipulator.json
|
525576087501ad8483619e8339a614951eada2b6 assets/refinedstorage/models/item/purple_disk_manipulator.json
|
||||||
80fb0c7bc38471d990c1623918a96db182bbe93b assets/refinedstorage/models/item/purple_fluid_grid.json
|
80fb0c7bc38471d990c1623918a96db182bbe93b assets/refinedstorage/models/item/purple_fluid_grid.json
|
||||||
@@ -718,12 +718,12 @@ c5a01a9ddace2e421e32b12c83d7a0b384be75fa assets/refinedstorage/models/item/purpl
|
|||||||
e2efaf0e99c7dc1125b32370201be809a67c25d9 assets/refinedstorage/models/item/purple_relay.json
|
e2efaf0e99c7dc1125b32370201be809a67c25d9 assets/refinedstorage/models/item/purple_relay.json
|
||||||
3c3ed303d605e0e9345940fc1756e2ecd1c48287 assets/refinedstorage/models/item/purple_security_manager.json
|
3c3ed303d605e0e9345940fc1756e2ecd1c48287 assets/refinedstorage/models/item/purple_security_manager.json
|
||||||
ef7d480ea1f08c1a2a7c2aebcbe3ca751df9f9b6 assets/refinedstorage/models/item/purple_wireless_transmitter.json
|
ef7d480ea1f08c1a2a7c2aebcbe3ca751df9f9b6 assets/refinedstorage/models/item/purple_wireless_transmitter.json
|
||||||
30cae1f86496d859b04120d0f0948597323b1c6b assets/refinedstorage/models/item/red_controller.json
|
004e6cf370c1b7ad3d243a358494bb1af2fdee8d assets/refinedstorage/models/item/red_controller.json
|
||||||
6804c531235f5c7cd13f0c734a30aa58855c66d8 assets/refinedstorage/models/item/red_crafter.json
|
6804c531235f5c7cd13f0c734a30aa58855c66d8 assets/refinedstorage/models/item/red_crafter.json
|
||||||
f2804c202120637bff89dd8b2ab8e43ba1f5aafc assets/refinedstorage/models/item/red_crafter_manager.json
|
f2804c202120637bff89dd8b2ab8e43ba1f5aafc assets/refinedstorage/models/item/red_crafter_manager.json
|
||||||
acddcd41152a23916905fd85ad62081f5cb8c90c assets/refinedstorage/models/item/red_crafting_grid.json
|
acddcd41152a23916905fd85ad62081f5cb8c90c assets/refinedstorage/models/item/red_crafting_grid.json
|
||||||
5a93d02b15f7ef2d9803ef0d004930ed1766707b assets/refinedstorage/models/item/red_crafting_monitor.json
|
5a93d02b15f7ef2d9803ef0d004930ed1766707b assets/refinedstorage/models/item/red_crafting_monitor.json
|
||||||
30cae1f86496d859b04120d0f0948597323b1c6b assets/refinedstorage/models/item/red_creative_controller.json
|
004e6cf370c1b7ad3d243a358494bb1af2fdee8d assets/refinedstorage/models/item/red_creative_controller.json
|
||||||
4c1c2a7322dada203e2521225d80c5b516cacb62 assets/refinedstorage/models/item/red_detector.json
|
4c1c2a7322dada203e2521225d80c5b516cacb62 assets/refinedstorage/models/item/red_detector.json
|
||||||
262bdaf7a4a2a587dc88e3fb5c72c22e16829998 assets/refinedstorage/models/item/red_disk_manipulator.json
|
262bdaf7a4a2a587dc88e3fb5c72c22e16829998 assets/refinedstorage/models/item/red_disk_manipulator.json
|
||||||
67e092b9a6df25cb4396d3ae4464dd3c009c60b2 assets/refinedstorage/models/item/red_fluid_grid.json
|
67e092b9a6df25cb4396d3ae4464dd3c009c60b2 assets/refinedstorage/models/item/red_fluid_grid.json
|
||||||
@@ -736,12 +736,12 @@ d2127558a02a6cb0a6c58a1feb8a4b9eb251d544 assets/refinedstorage/models/item/red_n
|
|||||||
05e22d0e5fafbbe8c6864c896a05907b1808c4cf assets/refinedstorage/models/item/red_wireless_transmitter.json
|
05e22d0e5fafbbe8c6864c896a05907b1808c4cf assets/refinedstorage/models/item/red_wireless_transmitter.json
|
||||||
58e008aea088a9e1903885a2bc6e14d9f0b2c333 assets/refinedstorage/models/item/relay.json
|
58e008aea088a9e1903885a2bc6e14d9f0b2c333 assets/refinedstorage/models/item/relay.json
|
||||||
e0546ec6993e456e7ef61a35cccc862382b15fd5 assets/refinedstorage/models/item/security_manager.json
|
e0546ec6993e456e7ef61a35cccc862382b15fd5 assets/refinedstorage/models/item/security_manager.json
|
||||||
346c26a65981ebc056b0ee27d2de9c51ba4994dd assets/refinedstorage/models/item/white_controller.json
|
9b37576964ccce28c9396299400a78a0a9d9ee04 assets/refinedstorage/models/item/white_controller.json
|
||||||
c6e5a16319d0fad19ac8ede0108b658cd4028146 assets/refinedstorage/models/item/white_crafter.json
|
c6e5a16319d0fad19ac8ede0108b658cd4028146 assets/refinedstorage/models/item/white_crafter.json
|
||||||
e6194df137b2c614d6402d6dc672beae80430d38 assets/refinedstorage/models/item/white_crafter_manager.json
|
e6194df137b2c614d6402d6dc672beae80430d38 assets/refinedstorage/models/item/white_crafter_manager.json
|
||||||
399926c00694fa7abefd1709cc3da37d7eb0c5af assets/refinedstorage/models/item/white_crafting_grid.json
|
399926c00694fa7abefd1709cc3da37d7eb0c5af assets/refinedstorage/models/item/white_crafting_grid.json
|
||||||
ecff06abfe1465fb6630f027f9253965ceb2ed60 assets/refinedstorage/models/item/white_crafting_monitor.json
|
ecff06abfe1465fb6630f027f9253965ceb2ed60 assets/refinedstorage/models/item/white_crafting_monitor.json
|
||||||
346c26a65981ebc056b0ee27d2de9c51ba4994dd assets/refinedstorage/models/item/white_creative_controller.json
|
9b37576964ccce28c9396299400a78a0a9d9ee04 assets/refinedstorage/models/item/white_creative_controller.json
|
||||||
5f1ae8346d30d2e4f6b5aed97504d35ec05eecfe assets/refinedstorage/models/item/white_detector.json
|
5f1ae8346d30d2e4f6b5aed97504d35ec05eecfe assets/refinedstorage/models/item/white_detector.json
|
||||||
0eec3932d36ed9e265a48b90fc1ae83bb95a3aa3 assets/refinedstorage/models/item/white_disk_manipulator.json
|
0eec3932d36ed9e265a48b90fc1ae83bb95a3aa3 assets/refinedstorage/models/item/white_disk_manipulator.json
|
||||||
ca0c7707acf771758db0194f30f1247d4721ae50 assets/refinedstorage/models/item/white_fluid_grid.json
|
ca0c7707acf771758db0194f30f1247d4721ae50 assets/refinedstorage/models/item/white_fluid_grid.json
|
||||||
@@ -753,12 +753,12 @@ ca0c7707acf771758db0194f30f1247d4721ae50 assets/refinedstorage/models/item/white
|
|||||||
42c146254c8c634eb9f79f29b909535b0504d6a5 assets/refinedstorage/models/item/white_security_manager.json
|
42c146254c8c634eb9f79f29b909535b0504d6a5 assets/refinedstorage/models/item/white_security_manager.json
|
||||||
dffc5e13406d4370d1cc3fcc69c7556029406e98 assets/refinedstorage/models/item/white_wireless_transmitter.json
|
dffc5e13406d4370d1cc3fcc69c7556029406e98 assets/refinedstorage/models/item/white_wireless_transmitter.json
|
||||||
08797906f5356ea0ccc061347d188bab0c63c02d assets/refinedstorage/models/item/wireless_transmitter.json
|
08797906f5356ea0ccc061347d188bab0c63c02d assets/refinedstorage/models/item/wireless_transmitter.json
|
||||||
ffd57aa30d902404da8963c14320fa8be54d6451 assets/refinedstorage/models/item/yellow_controller.json
|
2fca7b8b45c98bc01de598dd53f0f80f2e547dd4 assets/refinedstorage/models/item/yellow_controller.json
|
||||||
1bf5a3d8d72edcd34ddf8266caaac89717a02ecb assets/refinedstorage/models/item/yellow_crafter.json
|
1bf5a3d8d72edcd34ddf8266caaac89717a02ecb assets/refinedstorage/models/item/yellow_crafter.json
|
||||||
6b33ac9d2c729a4ea8dd42efb8feeb553a434d70 assets/refinedstorage/models/item/yellow_crafter_manager.json
|
6b33ac9d2c729a4ea8dd42efb8feeb553a434d70 assets/refinedstorage/models/item/yellow_crafter_manager.json
|
||||||
b628289d264ed316cd2d88c297fb8712f8bbffd2 assets/refinedstorage/models/item/yellow_crafting_grid.json
|
b628289d264ed316cd2d88c297fb8712f8bbffd2 assets/refinedstorage/models/item/yellow_crafting_grid.json
|
||||||
496e7503c51cf826e718301641235d07ddb24de7 assets/refinedstorage/models/item/yellow_crafting_monitor.json
|
496e7503c51cf826e718301641235d07ddb24de7 assets/refinedstorage/models/item/yellow_crafting_monitor.json
|
||||||
ffd57aa30d902404da8963c14320fa8be54d6451 assets/refinedstorage/models/item/yellow_creative_controller.json
|
2fca7b8b45c98bc01de598dd53f0f80f2e547dd4 assets/refinedstorage/models/item/yellow_creative_controller.json
|
||||||
04e4c31f56373507a46da2deccc4890305fe671e assets/refinedstorage/models/item/yellow_detector.json
|
04e4c31f56373507a46da2deccc4890305fe671e assets/refinedstorage/models/item/yellow_detector.json
|
||||||
6412b4000a8034e4b5e019b9a6d9c32085cda263 assets/refinedstorage/models/item/yellow_disk_manipulator.json
|
6412b4000a8034e4b5e019b9a6d9c32085cda263 assets/refinedstorage/models/item/yellow_disk_manipulator.json
|
||||||
5b6b9685ed940cdfcede5c4df4b6836fbd748895 assets/refinedstorage/models/item/yellow_fluid_grid.json
|
5b6b9685ed940cdfcede5c4df4b6836fbd748895 assets/refinedstorage/models/item/yellow_fluid_grid.json
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_all_cutout",
|
"parent": "refinedstorage:block/cube_all_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"all": "refinedstorage:block/controller/off",
|
"all": "refinedstorage:block/controller/off",
|
||||||
"cutout": "refinedstorage:block/controller/cutouts/off",
|
"cutout": "refinedstorage:block/controller/cutouts/off",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_cutout",
|
"parent": "refinedstorage:block/cube_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"cutout_down": "refinedstorage:block/bottom",
|
"cutout_down": "refinedstorage:block/bottom",
|
||||||
"cutout_east": "refinedstorage:block/crafter/cutouts/side_disconnected",
|
"cutout_east": "refinedstorage:block/crafter/cutouts/side_disconnected",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_north_cutout",
|
"parent": "refinedstorage:block/cube_north_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"cutout": "refinedstorage:block/crafter_manager/cutouts/disconnected",
|
"cutout": "refinedstorage:block/crafter_manager/cutouts/disconnected",
|
||||||
"down": "refinedstorage:block/bottom",
|
"down": "refinedstorage:block/bottom",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_north_cutout",
|
"parent": "refinedstorage:block/cube_north_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"cutout": "refinedstorage:block/crafting_grid/cutouts/disconnected",
|
"cutout": "refinedstorage:block/crafting_grid/cutouts/disconnected",
|
||||||
"down": "refinedstorage:block/bottom",
|
"down": "refinedstorage:block/bottom",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_north_cutout",
|
"parent": "refinedstorage:block/cube_north_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"cutout": "refinedstorage:block/crafting_monitor/cutouts/disconnected",
|
"cutout": "refinedstorage:block/crafting_monitor/cutouts/disconnected",
|
||||||
"down": "refinedstorage:block/bottom",
|
"down": "refinedstorage:block/bottom",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/detector",
|
"parent": "refinedstorage:block/detector_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"torch": "refinedstorage:block/detector/cutouts/off"
|
"torch": "refinedstorage:block/detector/cutouts/off"
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_north_cutout",
|
"parent": "refinedstorage:block/cube_north_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"cutout": "refinedstorage:block/disk_manipulator/cutouts/disconnected",
|
"cutout": "refinedstorage:block/disk_manipulator/cutouts/disconnected",
|
||||||
"down": "refinedstorage:block/bottom",
|
"down": "refinedstorage:block/bottom",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_north_cutout",
|
"parent": "refinedstorage:block/cube_north_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"cutout": "refinedstorage:block/fluid_grid/cutouts/disconnected",
|
"cutout": "refinedstorage:block/fluid_grid/cutouts/disconnected",
|
||||||
"down": "refinedstorage:block/bottom",
|
"down": "refinedstorage:block/bottom",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_north_cutout",
|
"parent": "refinedstorage:block/cube_north_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"cutout": "refinedstorage:block/grid/cutouts/disconnected",
|
"cutout": "refinedstorage:block/grid/cutouts/disconnected",
|
||||||
"down": "refinedstorage:block/bottom",
|
"down": "refinedstorage:block/bottom",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_all_cutout",
|
"parent": "refinedstorage:block/cube_all_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"all": "refinedstorage:block/network_receiver/network_receiver",
|
"all": "refinedstorage:block/network_receiver/network_receiver",
|
||||||
"cutout": "refinedstorage:block/network_receiver/cutouts/disconnected",
|
"cutout": "refinedstorage:block/network_receiver/cutouts/disconnected",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_all_cutout",
|
"parent": "refinedstorage:block/cube_all_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"all": "refinedstorage:block/network_transmitter/network_transmitter",
|
"all": "refinedstorage:block/network_transmitter/network_transmitter",
|
||||||
"cutout": "refinedstorage:block/network_transmitter/cutouts/disconnected",
|
"cutout": "refinedstorage:block/network_transmitter/cutouts/disconnected",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_north_cutout",
|
"parent": "refinedstorage:block/cube_north_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"cutout": "refinedstorage:block/pattern_grid/cutouts/disconnected",
|
"cutout": "refinedstorage:block/pattern_grid/cutouts/disconnected",
|
||||||
"down": "refinedstorage:block/bottom",
|
"down": "refinedstorage:block/bottom",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_all_cutout",
|
"parent": "refinedstorage:block/cube_all_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"all": "refinedstorage:block/relay/relay",
|
"all": "refinedstorage:block/relay/relay",
|
||||||
"cutout": "refinedstorage:block/relay/cutouts/disconnected",
|
"cutout": "refinedstorage:block/relay/cutouts/disconnected",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/cube_cutout",
|
"parent": "refinedstorage:block/cube_cutout_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"cutout_down": "refinedstorage:block/bottom",
|
"cutout_down": "refinedstorage:block/bottom",
|
||||||
"cutout_east": "refinedstorage:block/security_manager/cutouts/right_disconnected",
|
"cutout_east": "refinedstorage:block/security_manager/cutouts/right_disconnected",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/wireless_transmitter",
|
"parent": "refinedstorage:block/wireless_transmitter_nonemissive",
|
||||||
"textures": {
|
"textures": {
|
||||||
"cutout": "refinedstorage:block/wireless_transmitter/cutouts/disconnected"
|
"cutout": "refinedstorage:block/wireless_transmitter/cutouts/disconnected"
|
||||||
}
|
}
|
||||||
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/black"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/black",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/black"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/black",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/blue"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/blue",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/blue"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/blue",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/brown"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/brown",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/brown"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/brown",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/light_blue"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/light_blue",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/light_blue"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/light_blue",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/cyan"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/cyan",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/cyan"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/cyan",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/gray"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/gray",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/gray"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/gray",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/green"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/green",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/green"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/green",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/light_gray"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/light_gray",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/light_gray"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/light_gray",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/lime"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/lime",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/lime"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/lime",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/magenta"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/magenta",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/magenta"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/magenta",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/orange"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/orange",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/orange"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/orange",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/pink"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/pink",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/pink"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/pink",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/purple"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/purple",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/purple"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/purple",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/red"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/red",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/red"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/red",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/white"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/white",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/white"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/white",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/yellow"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/yellow",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,3 +1,28 @@
|
|||||||
{
|
{
|
||||||
"parent": "refinedstorage:block/controller/yellow"
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_off",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/nearly_on",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 2.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "refinedstorage:block/controller/yellow",
|
||||||
|
"predicate": {
|
||||||
|
"refinedstorage:energy_type": 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@@ -1,21 +1,21 @@
|
|||||||
{
|
{
|
||||||
"values": [
|
"values": [
|
||||||
|
"#refinedstorage:creative_controller",
|
||||||
|
"#refinedstorage:detector",
|
||||||
"#refinedstorage:pattern_grid",
|
"#refinedstorage:pattern_grid",
|
||||||
"#refinedstorage:network_transmitter",
|
"#refinedstorage:network_transmitter",
|
||||||
"#refinedstorage:security_manager",
|
"#refinedstorage:security_manager",
|
||||||
"#refinedstorage:creative_controller",
|
"#refinedstorage:disk_manipulator",
|
||||||
"#refinedstorage:fluid_grid",
|
|
||||||
"#refinedstorage:crafter",
|
|
||||||
"#refinedstorage:grid",
|
|
||||||
"#refinedstorage:wireless_transmitter",
|
"#refinedstorage:wireless_transmitter",
|
||||||
"#refinedstorage:detector",
|
"#refinedstorage:crafter_manager",
|
||||||
|
"#refinedstorage:grid",
|
||||||
"#refinedstorage:crafting_monitor",
|
"#refinedstorage:crafting_monitor",
|
||||||
"#refinedstorage:controller",
|
"#refinedstorage:controller",
|
||||||
|
"#refinedstorage:crafting_grid",
|
||||||
|
"#refinedstorage:crafter",
|
||||||
|
"#refinedstorage:fluid_grid",
|
||||||
"#refinedstorage:network_receiver",
|
"#refinedstorage:network_receiver",
|
||||||
"#refinedstorage:relay",
|
"#refinedstorage:relay",
|
||||||
"#refinedstorage:crafter_manager",
|
|
||||||
"#refinedstorage:crafting_grid",
|
|
||||||
"#refinedstorage:disk_manipulator",
|
|
||||||
"refinedstorage:1k_storage_block",
|
"refinedstorage:1k_storage_block",
|
||||||
"refinedstorage:4k_storage_block",
|
"refinedstorage:4k_storage_block",
|
||||||
"refinedstorage:16k_storage_block",
|
"refinedstorage:16k_storage_block",
|
||||||
|
@@ -47,8 +47,20 @@ public class CraftingNode extends Node {
|
|||||||
|
|
||||||
if (interval == 0 || ticks % interval == 0) {
|
if (interval == 0 || ticks % interval == 0) {
|
||||||
for (int i = 0; i < container.getMaximumSuccessfulCraftingUpdates(); i++) {
|
for (int i = 0; i < container.getMaximumSuccessfulCraftingUpdates(); i++) {
|
||||||
if (IoUtil.extractFromInternalItemStorage(requirements.getSingleItemRequirementSet(true), internalStorage, Action.SIMULATE) != null) {
|
|
||||||
IoUtil.extractFromInternalItemStorage(requirements.getSingleItemRequirementSet(false), internalStorage, Action.PERFORM);
|
var simulatedRequirements = requirements.getSingleItemRequirementSet(true);
|
||||||
|
if(simulatedRequirements == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IoUtil.extractFromInternalItemStorage(simulatedRequirements, internalStorage, Action.SIMULATE) != null) {
|
||||||
|
|
||||||
|
var actualRequirements = requirements.getSingleItemRequirementSet(false);
|
||||||
|
if(actualRequirements == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
IoUtil.extractFromInternalItemStorage(actualRequirements, internalStorage, Action.PERFORM);
|
||||||
|
|
||||||
ItemStack output = getPattern().getOutput(recipe, network.getLevel().registryAccess());
|
ItemStack output = getPattern().getOutput(recipe, network.getLevel().registryAccess());
|
||||||
|
|
||||||
|
@@ -90,7 +90,7 @@ public class NodeRequirements {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalStateException("Bad!");
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,7 +137,7 @@ public class NodeRequirements {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalStateException("Bad!");
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -121,10 +121,20 @@ public class ProcessingNode extends Node {
|
|||||||
|
|
||||||
boolean hasAllRequirements = false;
|
boolean hasAllRequirements = false;
|
||||||
|
|
||||||
List<ItemStack> extractedItems = IoUtil.extractFromInternalItemStorage(requirements.getSingleItemRequirementSet(true), internalStorage, Action.SIMULATE);
|
var simulatedRequirements = requirements.getSingleItemRequirementSet(true);
|
||||||
|
if(simulatedRequirements == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ItemStack> extractedItems = IoUtil.extractFromInternalItemStorage(simulatedRequirements, internalStorage, Action.SIMULATE);
|
||||||
List<FluidStack> extractedFluids = null;
|
List<FluidStack> extractedFluids = null;
|
||||||
if (extractedItems != null) {
|
if (extractedItems != null) {
|
||||||
extractedFluids = IoUtil.extractFromInternalFluidStorage(requirements.getSingleFluidRequirementSet(true), internalFluidStorage, Action.SIMULATE);
|
var simulatedFluidRequirements = requirements.getSingleFluidRequirementSet(true);
|
||||||
|
if(simulatedFluidRequirements == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
extractedFluids = IoUtil.extractFromInternalFluidStorage(simulatedFluidRequirements, internalFluidStorage, Action.SIMULATE);
|
||||||
if (extractedFluids != null) {
|
if (extractedFluids != null) {
|
||||||
hasAllRequirements = true;
|
hasAllRequirements = true;
|
||||||
}
|
}
|
||||||
@@ -151,9 +161,17 @@ public class ProcessingNode extends Node {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.state = ProcessingState.READY;
|
this.state = ProcessingState.READY;
|
||||||
|
var actualRequirements = requirements.getSingleItemRequirementSet(false);
|
||||||
|
if(actualRequirements == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
extractedItems = IoUtil.extractFromInternalItemStorage(actualRequirements, internalStorage, Action.PERFORM);
|
||||||
|
|
||||||
extractedItems = IoUtil.extractFromInternalItemStorage(requirements.getSingleItemRequirementSet(false), internalStorage, Action.PERFORM);
|
var actualFluidRequirements = requirements.getSingleFluidRequirementSet(false);
|
||||||
extractedFluids = IoUtil.extractFromInternalFluidStorage(requirements.getSingleFluidRequirementSet(false), internalFluidStorage, Action.PERFORM);
|
if(actualFluidRequirements == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
extractedFluids = IoUtil.extractFromInternalFluidStorage(actualFluidRequirements, internalFluidStorage, Action.PERFORM);
|
||||||
|
|
||||||
container.insertItemsIntoInventory(extractedItems, Action.PERFORM);
|
container.insertItemsIntoInventory(extractedItems, Action.PERFORM);
|
||||||
container.insertFluidsIntoInventory(extractedFluids, Action.PERFORM);
|
container.insertFluidsIntoInventory(extractedFluids, Action.PERFORM);
|
||||||
|
@@ -23,6 +23,9 @@ import net.minecraft.world.item.crafting.CraftingRecipe;
|
|||||||
import net.minecraftforge.common.ForgeHooks;
|
import net.minecraftforge.common.ForgeHooks;
|
||||||
import net.minecraftforge.event.ForgeEventFactory;
|
import net.minecraftforge.event.ForgeEventFactory;
|
||||||
import net.minecraftforge.items.ItemHandlerHelper;
|
import net.minecraftforge.items.ItemHandlerHelper;
|
||||||
|
import net.minecraftforge.items.wrapper.InvWrapper;
|
||||||
|
import net.minecraftforge.items.wrapper.PlayerInvWrapper;
|
||||||
|
import net.minecraftforge.items.wrapper.PlayerMainInvWrapper;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -123,18 +126,20 @@ public class CraftingGridBehavior implements ICraftingGridBehavior {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (ItemStack craftedItem : craftedItemsList) {
|
for (ItemStack craftedItem : craftedItemsList) {
|
||||||
if (!player.getInventory().add(craftedItem.copy())) {
|
ItemStack remainder = ItemHandlerHelper.insertItem(
|
||||||
ItemStack remainder = craftedItem;
|
new PlayerMainInvWrapper(player.getInventory()),
|
||||||
|
craftedItem.copy(),
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
if (useNetwork) {
|
if (!remainder.isEmpty() && useNetwork) {
|
||||||
remainder = network.insertItem(craftedItem, craftedItem.getCount(), Action.PERFORM);
|
remainder = network.insertItem(remainder, remainder.getCount(), Action.PERFORM);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!remainder.isEmpty()) {
|
if (!remainder.isEmpty()) {
|
||||||
Containers.dropItemStack(player.getCommandSenderWorld(), player.getX(), player.getY(), player.getZ(), remainder);
|
Containers.dropItemStack(player.getCommandSenderWorld(), player.getX(), player.getY(), player.getZ(), remainder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// @Volatile: This is some logic copied from ResultSlot#checkTakeAchievements. We call this manually for shift clicking because
|
// @Volatile: This is some logic copied from ResultSlot#checkTakeAchievements. We call this manually for shift clicking because
|
||||||
// otherwise it's not being called.
|
// otherwise it's not being called.
|
||||||
|
@@ -103,20 +103,15 @@ public class ImporterNetworkNode extends NetworkNode implements IComparable, IWh
|
|||||||
IFluidHandler handler = LevelUtils.getFluidHandler(getFacingBlockEntity(), getDirection().getOpposite());
|
IFluidHandler handler = LevelUtils.getFluidHandler(getFacingBlockEntity(), getDirection().getOpposite());
|
||||||
|
|
||||||
if (handler != null) {
|
if (handler != null) {
|
||||||
FluidStack stack = handler.drain(FluidType.BUCKET_VOLUME, IFluidHandler.FluidAction.SIMULATE);
|
FluidStack extractedSimulated = handler.drain(FluidType.BUCKET_VOLUME * upgrades.getStackInteractCount(), IFluidHandler.FluidAction.SIMULATE);
|
||||||
|
|
||||||
if (!stack.isEmpty() &&
|
if (!extractedSimulated.isEmpty()
|
||||||
IWhitelistBlacklist.acceptsFluid(fluidFilters, mode, compare, stack) &&
|
&& IWhitelistBlacklist.acceptsFluid(fluidFilters, mode, compare, extractedSimulated)
|
||||||
network.insertFluid(stack, stack.getAmount(), Action.SIMULATE).isEmpty()) {
|
&& network.insertFluid(extractedSimulated, extractedSimulated.getAmount(), Action.SIMULATE).isEmpty()) {
|
||||||
FluidStack toDrain = handler.drain(FluidType.BUCKET_VOLUME * upgrades.getStackInteractCount(), IFluidHandler.FluidAction.SIMULATE);
|
FluidStack extracted = handler.drain(extractedSimulated, IFluidHandler.FluidAction.EXECUTE);
|
||||||
|
|
||||||
if (!toDrain.isEmpty()) {
|
if (!extracted.isEmpty()) {
|
||||||
FluidStack remainder = network.insertFluidTracked(toDrain, toDrain.getAmount());
|
network.insertFluidTracked(extracted, extracted.getAmount());
|
||||||
if (!remainder.isEmpty()) {
|
|
||||||
toDrain.shrink(remainder.getAmount());
|
|
||||||
}
|
|
||||||
|
|
||||||
handler.drain(toDrain, IFluidHandler.FluidAction.EXECUTE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -122,6 +122,7 @@ public class CableBlock extends NetworkNodeBlock implements SimpleWaterloggedBlo
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
public boolean isPathfindable(BlockState state, BlockGetter worldIn, BlockPos pos, PathComputationType type) {
|
public boolean isPathfindable(BlockState state, BlockGetter worldIn, BlockPos pos, PathComputationType type) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -27,7 +27,7 @@ public class CableBlockEntity extends NetworkNodeBlockEntity<CableNetworkNode> {
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public CableBlockEntity(BlockPos pos, BlockState state) {
|
public CableBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.CABLE.get(), pos, state, SPEC);
|
super(RSBlockEntities.CABLE.get(), pos, state, SPEC, CableNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -42,7 +42,7 @@ public class ConstructorBlockEntity extends NetworkNodeBlockEntity<ConstructorNe
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public ConstructorBlockEntity(BlockPos pos, BlockState state) {
|
public ConstructorBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.CONSTRUCTOR.get(), pos, state, SPEC);
|
super(RSBlockEntities.CONSTRUCTOR.get(), pos, state, SPEC, ConstructorNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -33,7 +33,7 @@ public class CrafterBlockEntity extends NetworkNodeBlockEntity<CrafterNetworkNod
|
|||||||
private final LazyOptional<IItemHandler> patternsCapability = LazyOptional.of(() -> getNode().getPatternInventory());
|
private final LazyOptional<IItemHandler> patternsCapability = LazyOptional.of(() -> getNode().getPatternInventory());
|
||||||
|
|
||||||
public CrafterBlockEntity(BlockPos pos, BlockState state) {
|
public CrafterBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.CRAFTER.get(), pos, state, SPEC);
|
super(RSBlockEntities.CRAFTER.get(), pos, state, SPEC, CrafterNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -35,7 +35,7 @@ public class CrafterManagerBlockEntity extends NetworkNodeBlockEntity<CrafterMan
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public CrafterManagerBlockEntity(BlockPos pos, BlockState state) {
|
public CrafterManagerBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.CRAFTER_MANAGER.get(), pos, state, SPEC);
|
super(RSBlockEntities.CRAFTER_MANAGER.get(), pos, state, SPEC, CrafterManagerNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -45,7 +45,7 @@ public class DestructorBlockEntity extends NetworkNodeBlockEntity<DestructorNetw
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public DestructorBlockEntity(BlockPos pos, BlockState state) {
|
public DestructorBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.DESTRUCTOR.get(), pos, state, SPEC);
|
super(RSBlockEntities.DESTRUCTOR.get(), pos, state, SPEC, DestructorNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -43,7 +43,7 @@ public class DetectorBlockEntity extends NetworkNodeBlockEntity<DetectorNetworkN
|
|||||||
private static final String NBT_POWERED = "Powered";
|
private static final String NBT_POWERED = "Powered";
|
||||||
|
|
||||||
public DetectorBlockEntity(BlockPos pos, BlockState state) {
|
public DetectorBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.DETECTOR.get(), pos, state, SPEC);
|
super(RSBlockEntities.DETECTOR.get(), pos, state, SPEC, DetectorNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -99,7 +99,7 @@ public class DiskDriveBlockEntity extends NetworkNodeBlockEntity<DiskDriveNetwor
|
|||||||
private final DiskState[] diskState = new DiskState[8];
|
private final DiskState[] diskState = new DiskState[8];
|
||||||
|
|
||||||
public DiskDriveBlockEntity(BlockPos pos, BlockState state) {
|
public DiskDriveBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.DISK_DRIVE.get(), pos, state, SPEC);
|
super(RSBlockEntities.DISK_DRIVE.get(), pos, state, SPEC, DiskDriveNetworkNode.class);
|
||||||
Arrays.fill(diskState, DiskState.NONE);
|
Arrays.fill(diskState, DiskState.NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -57,7 +57,7 @@ public class DiskManipulatorBlockEntity extends NetworkNodeBlockEntity<DiskManip
|
|||||||
private final DiskState[] diskState = new DiskState[6];
|
private final DiskState[] diskState = new DiskState[6];
|
||||||
|
|
||||||
public DiskManipulatorBlockEntity(BlockPos pos, BlockState state) {
|
public DiskManipulatorBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.DISK_MANIPULATOR.get(), pos, state, SPEC);
|
super(RSBlockEntities.DISK_MANIPULATOR.get(), pos, state, SPEC, DiskManipulatorNetworkNode.class);
|
||||||
Arrays.fill(diskState, DiskState.NONE);
|
Arrays.fill(diskState, DiskState.NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -38,7 +38,7 @@ public class ExporterBlockEntity extends NetworkNodeBlockEntity<ExporterNetworkN
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public ExporterBlockEntity(BlockPos pos, BlockState state) {
|
public ExporterBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.EXPORTER.get(), pos, state, SPEC);
|
super(RSBlockEntities.EXPORTER.get(), pos, state, SPEC, ExporterNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -10,6 +10,7 @@ import com.refinedmods.refinedstorage.blockentity.config.*;
|
|||||||
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationParameter;
|
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationParameter;
|
||||||
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
|
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
|
||||||
import com.refinedmods.refinedstorage.blockentity.data.RSSerializers;
|
import com.refinedmods.refinedstorage.blockentity.data.RSSerializers;
|
||||||
|
import com.refinedmods.refinedstorage.config.ServerConfig;
|
||||||
import com.refinedmods.refinedstorage.util.LevelUtils;
|
import com.refinedmods.refinedstorage.util.LevelUtils;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
@@ -72,7 +73,7 @@ public class ExternalStorageBlockEntity extends NetworkNodeBlockEntity<ExternalS
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public ExternalStorageBlockEntity(BlockPos pos, BlockState state) {
|
public ExternalStorageBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.EXTERNAL_STORAGE.get(), pos, state, SPEC);
|
super(RSBlockEntities.EXTERNAL_STORAGE.get(), pos, state, SPEC, ExternalStorageNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -35,7 +35,7 @@ public class FluidInterfaceBlockEntity extends NetworkNodeBlockEntity<FluidInter
|
|||||||
private final LazyOptional<IItemHandler> inCapability = LazyOptional.of(() -> getNode().getIn());
|
private final LazyOptional<IItemHandler> inCapability = LazyOptional.of(() -> getNode().getIn());
|
||||||
|
|
||||||
public FluidInterfaceBlockEntity(BlockPos pos, BlockState state) {
|
public FluidInterfaceBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.FLUID_INTERFACE.get(), pos, state, SPEC);
|
super(RSBlockEntities.FLUID_INTERFACE.get(), pos, state, SPEC, FluidInterfaceNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
|
@@ -39,7 +39,7 @@ public class FluidStorageBlockEntity extends NetworkNodeBlockEntity<FluidStorage
|
|||||||
private final FluidStorageType type;
|
private final FluidStorageType type;
|
||||||
|
|
||||||
public FluidStorageBlockEntity(FluidStorageType type, BlockPos pos, BlockState state) {
|
public FluidStorageBlockEntity(FluidStorageType type, BlockPos pos, BlockState state) {
|
||||||
super(getType(type), pos, state, SPEC);
|
super(getType(type), pos, state, SPEC, FluidStorageNetworkNode.class);
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -36,7 +36,7 @@ public class ImporterBlockEntity extends NetworkNodeBlockEntity<ImporterNetworkN
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public ImporterBlockEntity(BlockPos pos, BlockState state) {
|
public ImporterBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.IMPORTER.get(), pos, state, SPEC);
|
super(RSBlockEntities.IMPORTER.get(), pos, state, SPEC, ImporterNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -30,7 +30,7 @@ public class InterfaceBlockEntity extends NetworkNodeBlockEntity<InterfaceNetwor
|
|||||||
private final LazyOptional<IItemHandler> itemsCapability = LazyOptional.of(() -> getNode().getItems());
|
private final LazyOptional<IItemHandler> itemsCapability = LazyOptional.of(() -> getNode().getItems());
|
||||||
|
|
||||||
public InterfaceBlockEntity(BlockPos pos, BlockState state) {
|
public InterfaceBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.INTERFACE.get(), pos, state, SPEC);
|
super(RSBlockEntities.INTERFACE.get(), pos, state, SPEC, InterfaceNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
|
@@ -28,16 +28,26 @@ import javax.annotation.Nonnull;
|
|||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public abstract class NetworkNodeBlockEntity<N extends NetworkNode> extends BaseBlockEntity implements INetworkNodeProxy<N>, IRedstoneConfigurable {
|
public abstract class NetworkNodeBlockEntity<N extends NetworkNode> extends BaseBlockEntity implements INetworkNodeProxy<N>, IRedstoneConfigurable {
|
||||||
public static final BlockEntitySynchronizationParameter<Integer, NetworkNodeBlockEntity> REDSTONE_MODE = RedstoneMode.createParameter(new ResourceLocation(RS.ID, "redstone_mode"));
|
public static final BlockEntitySynchronizationParameter<Integer, NetworkNodeBlockEntity<?>> REDSTONE_MODE = RedstoneMode.createParameter(new ResourceLocation(RS.ID, "redstone_mode"));
|
||||||
|
|
||||||
private final LazyOptional<INetworkNodeProxy<N>> networkNodeProxy = LazyOptional.of(() -> this);
|
private final LazyOptional<INetworkNodeProxy<N>> networkNodeProxy = LazyOptional.of(() -> this);
|
||||||
|
private final Class<N> networkNodeClass;
|
||||||
private N clientNode;
|
private N clientNode;
|
||||||
private N removedNode;
|
private N removedNode;
|
||||||
|
|
||||||
private static final Logger LOGGER = LogManager.getLogger();
|
private static final Logger LOGGER = LogManager.getLogger();
|
||||||
|
|
||||||
|
// TODO: remove this ctor in 1.21
|
||||||
|
@Deprecated
|
||||||
protected NetworkNodeBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state, BlockEntitySynchronizationSpec syncSpec) {
|
protected NetworkNodeBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state, BlockEntitySynchronizationSpec syncSpec) {
|
||||||
super(type, pos, state, syncSpec);
|
super(type, pos, state, syncSpec);
|
||||||
|
this.networkNodeClass = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected NetworkNodeBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state, BlockEntitySynchronizationSpec syncSpec,
|
||||||
|
Class<N> networkNodeClass) {
|
||||||
|
super(type, pos, state, syncSpec);
|
||||||
|
this.networkNodeClass = networkNodeClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -72,13 +82,20 @@ public abstract class NetworkNodeBlockEntity<N extends NetworkNode> extends Base
|
|||||||
node = createAndSetNode(manager);
|
node = createAndSetNode(manager);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (N) node;
|
return doCast(node);
|
||||||
} catch (ClassCastException e) {
|
} catch (ClassCastException e) {
|
||||||
LOGGER.warn("Node @ {} got desynced with it's block entity container, recreating", worldPosition, e);
|
LOGGER.warn("Node @ {} got desynced with it's block entity container, recreating", worldPosition, e);
|
||||||
return (N) createAndSetNode(manager);
|
return (N) createAndSetNode(manager);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private N doCast(INetworkNode node) {
|
||||||
|
if (networkNodeClass == null) {
|
||||||
|
return (N) node;
|
||||||
|
}
|
||||||
|
return networkNodeClass.cast(node);
|
||||||
|
}
|
||||||
|
|
||||||
private INetworkNode createAndSetNode(INetworkNodeManager manager) {
|
private INetworkNode createAndSetNode(INetworkNodeManager manager) {
|
||||||
INetworkNode node = createNode(level, worldPosition);
|
INetworkNode node = createNode(level, worldPosition);
|
||||||
manager.setNode(worldPosition, node);
|
manager.setNode(worldPosition, node);
|
||||||
@@ -110,7 +127,11 @@ public abstract class NetworkNodeBlockEntity<N extends NetworkNode> extends Base
|
|||||||
INetworkNode node = manager.getNode(worldPosition);
|
INetworkNode node = manager.getNode(worldPosition);
|
||||||
|
|
||||||
if (node != null) {
|
if (node != null) {
|
||||||
removedNode = (N) node;
|
try {
|
||||||
|
removedNode = doCast(node);
|
||||||
|
} catch (ClassCastException e) {
|
||||||
|
removedNode = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
manager.removeNode(worldPosition);
|
manager.removeNode(worldPosition);
|
||||||
|
@@ -15,7 +15,7 @@ public class NetworkReceiverBlockEntity extends NetworkNodeBlockEntity<NetworkRe
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public NetworkReceiverBlockEntity(BlockPos pos, BlockState state) {
|
public NetworkReceiverBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.NETWORK_RECEIVER.get(), pos, state, SPEC);
|
super(RSBlockEntities.NETWORK_RECEIVER.get(), pos, state, SPEC, NetworkReceiverNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -40,7 +40,7 @@ public class NetworkTransmitterBlockEntity extends NetworkNodeBlockEntity<Networ
|
|||||||
private final LazyOptional<IItemHandler> networkCardCapability = LazyOptional.of(() -> getNode().getNetworkCard());
|
private final LazyOptional<IItemHandler> networkCardCapability = LazyOptional.of(() -> getNode().getNetworkCard());
|
||||||
|
|
||||||
public NetworkTransmitterBlockEntity(BlockPos pos, BlockState state) {
|
public NetworkTransmitterBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.NETWORK_TRANSMITTER.get(), pos, state, SPEC);
|
super(RSBlockEntities.NETWORK_TRANSMITTER.get(), pos, state, SPEC, NetworkTransmitterNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -15,7 +15,7 @@ public class RelayBlockEntity extends NetworkNodeBlockEntity<RelayNetworkNode> {
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public RelayBlockEntity(BlockPos pos, BlockState state) {
|
public RelayBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.RELAY.get(), pos, state, SPEC);
|
super(RSBlockEntities.RELAY.get(), pos, state, SPEC, RelayNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -15,7 +15,7 @@ public class SecurityManagerBlockEntity extends NetworkNodeBlockEntity<SecurityM
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public SecurityManagerBlockEntity(BlockPos pos, BlockState state) {
|
public SecurityManagerBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.SECURITY_MANAGER.get(), pos, state, SPEC);
|
super(RSBlockEntities.SECURITY_MANAGER.get(), pos, state, SPEC, SecurityManagerNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -39,7 +39,7 @@ public class StorageBlockEntity extends NetworkNodeBlockEntity<StorageNetworkNod
|
|||||||
private final ItemStorageType type;
|
private final ItemStorageType type;
|
||||||
|
|
||||||
public StorageBlockEntity(ItemStorageType type, BlockPos pos, BlockState state) {
|
public StorageBlockEntity(ItemStorageType type, BlockPos pos, BlockState state) {
|
||||||
super(getType(type), pos, state, SPEC);
|
super(getType(type), pos, state, SPEC, StorageNetworkNode.class);
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -7,6 +7,7 @@ import com.refinedmods.refinedstorage.blockentity.config.IComparable;
|
|||||||
import com.refinedmods.refinedstorage.blockentity.config.IType;
|
import com.refinedmods.refinedstorage.blockentity.config.IType;
|
||||||
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationParameter;
|
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationParameter;
|
||||||
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
|
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
|
||||||
|
import com.refinedmods.refinedstorage.config.ServerConfig;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
@@ -40,7 +41,7 @@ public class StorageMonitorBlockEntity extends NetworkNodeBlockEntity<StorageMon
|
|||||||
private FluidStack fluidStack = FluidStack.EMPTY;
|
private FluidStack fluidStack = FluidStack.EMPTY;
|
||||||
|
|
||||||
public StorageMonitorBlockEntity(BlockPos pos, BlockState state) {
|
public StorageMonitorBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.STORAGE_MONITOR.get(), pos, state, SPEC);
|
super(RSBlockEntities.STORAGE_MONITOR.get(), pos, state, SPEC, StorageMonitorNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -22,7 +22,7 @@ public class WirelessTransmitterBlockEntity extends NetworkNodeBlockEntity<Wirel
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public WirelessTransmitterBlockEntity(BlockPos pos, BlockState state) {
|
public WirelessTransmitterBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.WIRELESS_TRANSMITTER.get(), pos, state, SPEC);
|
super(RSBlockEntities.WIRELESS_TRANSMITTER.get(), pos, state, SPEC, WirelessTransmitterNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -41,7 +41,7 @@ public class CraftingMonitorBlockEntity extends NetworkNodeBlockEntity<CraftingM
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
public CraftingMonitorBlockEntity(BlockPos pos, BlockState state) {
|
public CraftingMonitorBlockEntity(BlockPos pos, BlockState state) {
|
||||||
super(RSBlockEntities.CRAFTING_MONITOR.get(), pos, state, SPEC);
|
super(RSBlockEntities.CRAFTING_MONITOR.get(), pos, state, SPEC, CraftingMonitorNetworkNode.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -119,7 +119,7 @@ public class GridBlockEntity extends NetworkNodeBlockEntity<GridNetworkNode> {
|
|||||||
private final LazyOptional<IItemHandler> diskCapability = LazyOptional.of(() -> getNode().getPatterns());
|
private final LazyOptional<IItemHandler> diskCapability = LazyOptional.of(() -> getNode().getPatterns());
|
||||||
|
|
||||||
public GridBlockEntity(GridType type, BlockPos pos, BlockState state) {
|
public GridBlockEntity(GridType type, BlockPos pos, BlockState state) {
|
||||||
super(getType(type), pos, state, SPEC);
|
super(getType(type), pos, state, SPEC, GridNetworkNode.class);
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,6 +13,7 @@ import net.minecraft.world.level.block.Block;
|
|||||||
import net.minecraftforge.client.model.generators.BlockStateProvider;
|
import net.minecraftforge.client.model.generators.BlockStateProvider;
|
||||||
import net.minecraftforge.client.model.generators.ModelFile;
|
import net.minecraftforge.client.model.generators.ModelFile;
|
||||||
import net.minecraftforge.common.data.ExistingFileHelper;
|
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
|
||||||
public class BlockModelGenerator extends BlockStateProvider {
|
public class BlockModelGenerator extends BlockStateProvider {
|
||||||
private static final ResourceLocation BOTTOM = new ResourceLocation(RS.ID, "block/bottom");
|
private static final ResourceLocation BOTTOM = new ResourceLocation(RS.ID, "block/bottom");
|
||||||
@@ -51,7 +52,7 @@ public class BlockModelGenerator extends BlockStateProvider {
|
|||||||
|
|
||||||
models.wirelessTransmitterBlock(block, state -> {
|
models.wirelessTransmitterBlock(block, state -> {
|
||||||
if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) {
|
if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) {
|
||||||
return models.createWirelessTransmitterModel(
|
return models.createWirelessTransmitterNonEmissiveModel(
|
||||||
"block/" + folderName + "/disconnected",
|
"block/" + folderName + "/disconnected",
|
||||||
resourceLocation(folderName, "cutouts/disconnected")
|
resourceLocation(folderName, "cutouts/disconnected")
|
||||||
);
|
);
|
||||||
@@ -75,7 +76,7 @@ public class BlockModelGenerator extends BlockStateProvider {
|
|||||||
|
|
||||||
models.simpleBlockStateModel(block, state -> {
|
models.simpleBlockStateModel(block, state -> {
|
||||||
if (Boolean.FALSE.equals(state.getValue(DetectorBlock.POWERED))) {
|
if (Boolean.FALSE.equals(state.getValue(DetectorBlock.POWERED))) {
|
||||||
return models.createDetectorModel(
|
return models.createDetectorNonEmissiveModel(
|
||||||
"block/" + folderName + "/off",
|
"block/" + folderName + "/off",
|
||||||
resourceLocation(folderName, "cutouts/off")
|
resourceLocation(folderName, "cutouts/off")
|
||||||
);
|
);
|
||||||
@@ -99,7 +100,7 @@ public class BlockModelGenerator extends BlockStateProvider {
|
|||||||
|
|
||||||
models.horizontalRSBlock(block, state -> {
|
models.horizontalRSBlock(block, state -> {
|
||||||
if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) {
|
if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) {
|
||||||
return models.createCubeCutoutModel(
|
return models.createCubeCutoutNonEmissiveModel(
|
||||||
"block/" + folderName + "/disconnected",
|
"block/" + folderName + "/disconnected",
|
||||||
BOTTOM,
|
BOTTOM,
|
||||||
BOTTOM,
|
BOTTOM,
|
||||||
@@ -145,7 +146,7 @@ public class BlockModelGenerator extends BlockStateProvider {
|
|||||||
|
|
||||||
models.simpleBlockStateModel(block, state -> {
|
models.simpleBlockStateModel(block, state -> {
|
||||||
if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) {
|
if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) {
|
||||||
return models.createCubeAllCutoutModel(
|
return models.createCubeAllCutoutNonEmissiveModel(
|
||||||
"block/" + folderName + "/disconnected",
|
"block/" + folderName + "/disconnected",
|
||||||
resourceLocation(folderName, folderName),
|
resourceLocation(folderName, folderName),
|
||||||
resourceLocation(folderName, folderName),
|
resourceLocation(folderName, folderName),
|
||||||
@@ -173,7 +174,7 @@ public class BlockModelGenerator extends BlockStateProvider {
|
|||||||
|
|
||||||
models.anyDirectionalRSBlock(block, state -> {
|
models.anyDirectionalRSBlock(block, state -> {
|
||||||
if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) {
|
if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) {
|
||||||
return models.createCubeCutoutModel(
|
return models.createCubeCutoutNonEmissiveModel(
|
||||||
"block/" + folderName + "/disconnected",
|
"block/" + folderName + "/disconnected",
|
||||||
BOTTOM,
|
BOTTOM,
|
||||||
BOTTOM,
|
BOTTOM,
|
||||||
@@ -219,7 +220,7 @@ public class BlockModelGenerator extends BlockStateProvider {
|
|||||||
|
|
||||||
models.simpleBlockStateModel(block, state -> {
|
models.simpleBlockStateModel(block, state -> {
|
||||||
if (state.getValue(ControllerBlock.ENERGY_TYPE).equals(ControllerBlock.EnergyType.OFF)) {
|
if (state.getValue(ControllerBlock.ENERGY_TYPE).equals(ControllerBlock.EnergyType.OFF)) {
|
||||||
return models.createCubeAllCutoutModel(
|
return models.createCubeAllCutoutNonEmissiveModel(
|
||||||
"block/" + folderName + "/off",
|
"block/" + folderName + "/off",
|
||||||
resourceLocation(folderName, "off"),
|
resourceLocation(folderName, "off"),
|
||||||
resourceLocation(folderName, "off"),
|
resourceLocation(folderName, "off"),
|
||||||
@@ -249,7 +250,24 @@ public class BlockModelGenerator extends BlockStateProvider {
|
|||||||
resourceLocation(folderName, "cutouts/" + color)
|
resourceLocation(folderName, "cutouts/" + color)
|
||||||
);
|
);
|
||||||
|
|
||||||
simpleBlockItem(block, model);
|
final ResourceLocation energyType = new ResourceLocation(RS.ID, "energy_type");
|
||||||
|
itemModels().getBuilder(ForgeRegistries.BLOCKS.getKey(block).getPath())
|
||||||
|
.override()
|
||||||
|
.predicate(energyType, 0)
|
||||||
|
.model(models().getExistingFile(
|
||||||
|
new ResourceLocation(RS.ID, "block/" + folderName + "/off")
|
||||||
|
)).end().override()
|
||||||
|
.predicate(energyType, 1)
|
||||||
|
.model(models().getExistingFile(
|
||||||
|
new ResourceLocation(RS.ID, "block/" + folderName + "/nearly_off")
|
||||||
|
)).end().override()
|
||||||
|
.predicate(energyType, 2)
|
||||||
|
.model(models().getExistingFile(
|
||||||
|
new ResourceLocation(RS.ID, "block/" + folderName + "/nearly_on")
|
||||||
|
)).end().override()
|
||||||
|
.predicate(energyType, 3)
|
||||||
|
.model(model).end();
|
||||||
|
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -261,7 +279,7 @@ public class BlockModelGenerator extends BlockStateProvider {
|
|||||||
Block block = registryObject.get();
|
Block block = registryObject.get();
|
||||||
String folderName = blockMap.get(ColorMap.DEFAULT_COLOR).getId().getPath();
|
String folderName = blockMap.get(ColorMap.DEFAULT_COLOR).getId().getPath();
|
||||||
|
|
||||||
ModelFile disconnected = models.createCubeNorthCutoutModel(
|
ModelFile disconnected = models.createCubeNorthCutoutNonEmissiveModel(
|
||||||
"block/" + folderName + "/disconnected",
|
"block/" + folderName + "/disconnected",
|
||||||
BOTTOM,
|
BOTTOM,
|
||||||
resourceLocation(folderName, "top"),
|
resourceLocation(folderName, "top"),
|
||||||
|
@@ -89,11 +89,21 @@ public class BlockModels {
|
|||||||
.texture("torch", torch);
|
.texture("torch", torch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BlockModelBuilder createDetectorNonEmissiveModel(String name, ResourceLocation torch) {
|
||||||
|
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "detector_nonemissive"))
|
||||||
|
.texture("torch", torch);
|
||||||
|
}
|
||||||
|
|
||||||
public BlockModelBuilder createWirelessTransmitterModel(String name, ResourceLocation cutout) {
|
public BlockModelBuilder createWirelessTransmitterModel(String name, ResourceLocation cutout) {
|
||||||
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "wireless_transmitter"))
|
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "wireless_transmitter"))
|
||||||
.texture("cutout", cutout);
|
.texture("cutout", cutout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BlockModelBuilder createWirelessTransmitterNonEmissiveModel(String name, ResourceLocation cutout) {
|
||||||
|
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "wireless_transmitter_nonemissive"))
|
||||||
|
.texture("cutout", cutout);
|
||||||
|
}
|
||||||
|
|
||||||
public BlockModelBuilder createCubeCutoutModel(String name, ResourceLocation down, ResourceLocation downCutout, ResourceLocation up, ResourceLocation upCutout, ResourceLocation east, ResourceLocation eastCutout, ResourceLocation west, ResourceLocation westCutout, ResourceLocation north, ResourceLocation northCutout, ResourceLocation south, ResourceLocation southCutout) {
|
public BlockModelBuilder createCubeCutoutModel(String name, ResourceLocation down, ResourceLocation downCutout, ResourceLocation up, ResourceLocation upCutout, ResourceLocation east, ResourceLocation eastCutout, ResourceLocation west, ResourceLocation westCutout, ResourceLocation north, ResourceLocation northCutout, ResourceLocation south, ResourceLocation southCutout) {
|
||||||
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_cutout"))
|
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_cutout"))
|
||||||
.texture("particle", north)
|
.texture("particle", north)
|
||||||
@@ -111,6 +121,23 @@ public class BlockModels {
|
|||||||
.texture("cutout_up", upCutout);
|
.texture("cutout_up", upCutout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BlockModelBuilder createCubeCutoutNonEmissiveModel(String name, ResourceLocation down, ResourceLocation downCutout, ResourceLocation up, ResourceLocation upCutout, ResourceLocation east, ResourceLocation eastCutout, ResourceLocation west, ResourceLocation westCutout, ResourceLocation north, ResourceLocation northCutout, ResourceLocation south, ResourceLocation southCutout) {
|
||||||
|
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_cutout_nonemissive"))
|
||||||
|
.texture("particle", north)
|
||||||
|
.texture("east", east)
|
||||||
|
.texture("south", south)
|
||||||
|
.texture("west", west)
|
||||||
|
.texture("up", up)
|
||||||
|
.texture("down", down)
|
||||||
|
.texture("north", north)
|
||||||
|
.texture("cutout_down", downCutout)
|
||||||
|
.texture("cutout_east", eastCutout)
|
||||||
|
.texture("cutout_west", westCutout)
|
||||||
|
.texture("cutout_south", southCutout)
|
||||||
|
.texture("cutout_north", northCutout)
|
||||||
|
.texture("cutout_up", upCutout);
|
||||||
|
}
|
||||||
|
|
||||||
public BlockModelBuilder createControllerNearlyCutoutModel(String name, ResourceLocation particle, ResourceLocation all, ResourceLocation grayCutout, ResourceLocation cutout) {
|
public BlockModelBuilder createControllerNearlyCutoutModel(String name, ResourceLocation particle, ResourceLocation all, ResourceLocation grayCutout, ResourceLocation cutout) {
|
||||||
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "block/controller_nearly"))
|
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "block/controller_nearly"))
|
||||||
.texture("particle", particle)
|
.texture("particle", particle)
|
||||||
@@ -126,6 +153,13 @@ public class BlockModels {
|
|||||||
.texture("cutout", cutout);
|
.texture("cutout", cutout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BlockModelBuilder createCubeAllCutoutNonEmissiveModel(String name, ResourceLocation particle, ResourceLocation all, ResourceLocation cutout) {
|
||||||
|
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_all_cutout_nonemissive"))
|
||||||
|
.texture("particle", particle)
|
||||||
|
.texture("all", all)
|
||||||
|
.texture("cutout", cutout);
|
||||||
|
}
|
||||||
|
|
||||||
public BlockModelBuilder createCubeNorthCutoutModel(String name, ResourceLocation down, ResourceLocation up, ResourceLocation north, ResourceLocation south, ResourceLocation east, ResourceLocation west, ResourceLocation particle, ResourceLocation cutout) {
|
public BlockModelBuilder createCubeNorthCutoutModel(String name, ResourceLocation down, ResourceLocation up, ResourceLocation north, ResourceLocation south, ResourceLocation east, ResourceLocation west, ResourceLocation particle, ResourceLocation cutout) {
|
||||||
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_north_cutout"))
|
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_north_cutout"))
|
||||||
.texture("particle", particle)
|
.texture("particle", particle)
|
||||||
@@ -138,6 +172,18 @@ public class BlockModels {
|
|||||||
.texture("cutout", cutout);
|
.texture("cutout", cutout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BlockModelBuilder createCubeNorthCutoutNonEmissiveModel(String name, ResourceLocation down, ResourceLocation up, ResourceLocation north, ResourceLocation south, ResourceLocation east, ResourceLocation west, ResourceLocation particle, ResourceLocation cutout) {
|
||||||
|
return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_north_cutout_nonemissive"))
|
||||||
|
.texture("particle", particle)
|
||||||
|
.texture("east", east)
|
||||||
|
.texture("south", south)
|
||||||
|
.texture("west", west)
|
||||||
|
.texture("up", up)
|
||||||
|
.texture("down", down)
|
||||||
|
.texture("north", north)
|
||||||
|
.texture("cutout", cutout);
|
||||||
|
}
|
||||||
|
|
||||||
class CustomLoaderBuilderBasic extends CustomLoaderBuilder<BlockModelBuilder> {
|
class CustomLoaderBuilderBasic extends CustomLoaderBuilder<BlockModelBuilder> {
|
||||||
protected CustomLoaderBuilderBasic(ResourceLocation loaderId, BlockModelBuilder parent, ExistingFileHelper existingFileHelper) {
|
protected CustomLoaderBuilderBasic(ResourceLocation loaderId, BlockModelBuilder parent, ExistingFileHelper existingFileHelper) {
|
||||||
super(loaderId, parent, existingFileHelper);
|
super(loaderId, parent, existingFileHelper);
|
||||||
|
@@ -1,6 +1,9 @@
|
|||||||
package com.refinedmods.refinedstorage.integration.inventorysorter;
|
package com.refinedmods.refinedstorage.integration.inventorysorter;
|
||||||
|
|
||||||
|
import com.refinedmods.refinedstorage.RS;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraftforge.fml.ModList;
|
import net.minecraftforge.fml.ModList;
|
||||||
|
import net.minecraftforge.fml.InterModComms;
|
||||||
|
|
||||||
public class InventorySorterIntegration {
|
public class InventorySorterIntegration {
|
||||||
private static final String ID = "inventorysorter";
|
private static final String ID = "inventorysorter";
|
||||||
@@ -14,6 +17,7 @@ public class InventorySorterIntegration {
|
|||||||
|
|
||||||
public static void register() {
|
public static void register() {
|
||||||
// Prevent items moving while scrolling through slots with Inventory Sorter in the Crafter Manager
|
// Prevent items moving while scrolling through slots with Inventory Sorter in the Crafter Manager
|
||||||
// InterModComms.sendTo("inventorysorter", "slotblacklist", () -> "com.refinedmods.refinedstorage.container.slot.CrafterManagerSlot");
|
InterModComms.sendTo("inventorysorter", "slotblacklist", () -> "com.refinedmods.refinedstorage.container.slot.CrafterManagerSlot");
|
||||||
|
InterModComms.sendTo("inventorysorter", "containerblacklist", () -> new ResourceLocation(RS.ID, "crafter"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -19,7 +19,7 @@ import net.minecraft.client.gui.screens.Screen;
|
|||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.world.inventory.MenuType;
|
import net.minecraft.world.inventory.MenuType;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.item.crafting.CraftingRecipe;
|
import net.minecraft.world.item.crafting.Recipe;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
@@ -127,7 +127,13 @@ public class GridRecipeTransferHandler implements IRecipeTransferHandler<GridCon
|
|||||||
private void moveItems(GridContainerMenu gridContainer, Object recipe, IRecipeSlotsView recipeLayout, Player player) {
|
private void moveItems(GridContainerMenu gridContainer, Object recipe, IRecipeSlotsView recipeLayout, Player player) {
|
||||||
this.lastTransferTimeMs = System.currentTimeMillis();
|
this.lastTransferTimeMs = System.currentTimeMillis();
|
||||||
|
|
||||||
if (gridContainer.getGrid().getGridType() == GridType.PATTERN && !(recipe instanceof CraftingRecipe)) {
|
boolean isCraftingRecipe = false;
|
||||||
|
if(recipe instanceof Recipe<?> castRecipe)
|
||||||
|
{
|
||||||
|
isCraftingRecipe = castRecipe.getType() == net.minecraft.world.item.crafting.RecipeType.CRAFTING;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gridContainer.getGrid().getGridType() == GridType.PATTERN && !isCraftingRecipe) {
|
||||||
moveForProcessing(recipeLayout, gridContainer, player);
|
moveForProcessing(recipeLayout, gridContainer, player);
|
||||||
} else {
|
} else {
|
||||||
move(recipeLayout);
|
move(recipeLayout);
|
||||||
|
@@ -14,10 +14,14 @@ import javax.annotation.Nullable;
|
|||||||
public class ControllerItemPropertyGetter implements ItemPropertyFunction {
|
public class ControllerItemPropertyGetter implements ItemPropertyFunction {
|
||||||
@Override
|
@Override
|
||||||
public float call(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int p) {
|
public float call(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int p) {
|
||||||
|
// if that stack is still clean (like in the creative mode tab, or just crafted) maintain the on state.
|
||||||
|
if (stack.getTag() == null) {
|
||||||
|
return ControllerBlock.EnergyType.ON.ordinal();
|
||||||
|
}
|
||||||
IEnergyStorage storage = stack.getCapability(ForgeCapabilities.ENERGY).orElse(null);
|
IEnergyStorage storage = stack.getCapability(ForgeCapabilities.ENERGY).orElse(null);
|
||||||
if (storage != null) {
|
if (storage != null) {
|
||||||
return Network.getEnergyType(storage.getEnergyStored(), storage.getMaxEnergyStored()).ordinal();
|
return Network.getEnergyType(storage.getEnergyStored(), storage.getMaxEnergyStored()).ordinal();
|
||||||
}
|
}
|
||||||
return ControllerBlock.EnergyType.OFF.ordinal();
|
return ControllerBlock.EnergyType.ON.ordinal();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class GridFluidUpdateMessage {
|
|||||||
grid.setView(new GridViewImpl(grid, GridScreen.getDefaultSorter(), GridScreen.getSorters()));
|
grid.setView(new GridViewImpl(grid, GridScreen.getDefaultSorter(), GridScreen.getSorters()));
|
||||||
grid.getView().setCanCraft(message.canCraft);
|
grid.getView().setCanCraft(message.canCraft);
|
||||||
grid.getView().setStacks(message.stacks);
|
grid.getView().setStacks(message.stacks);
|
||||||
grid.getView().sort();
|
grid.getView().forceSort();
|
||||||
});
|
});
|
||||||
|
|
||||||
ctx.get().setPacketHandled(true);
|
ctx.get().setPacketHandled(true);
|
||||||
|
@@ -70,7 +70,7 @@ public class GridItemUpdateMessage {
|
|||||||
grid.setView(new GridViewImpl(grid, GridScreen.getDefaultSorter(), GridScreen.getSorters()));
|
grid.setView(new GridViewImpl(grid, GridScreen.getDefaultSorter(), GridScreen.getSorters()));
|
||||||
grid.getView().setCanCraft(message.canCraft);
|
grid.getView().setCanCraft(message.canCraft);
|
||||||
grid.getView().setStacks(message.stacks);
|
grid.getView().setStacks(message.stacks);
|
||||||
grid.getView().sort();
|
grid.getView().forceSort();
|
||||||
});
|
});
|
||||||
|
|
||||||
ctx.get().setPacketHandled(true);
|
ctx.get().setPacketHandled(true);
|
||||||
|
@@ -13,7 +13,7 @@ import net.minecraftforge.network.NetworkEvent;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
public class GridTransferMessage {
|
public class GridTransferMessage {
|
||||||
private final ItemStack[][] recipe = new ItemStack[9][];
|
private ItemStack[][] recipe;
|
||||||
List<List<ItemStack>> inputs;
|
List<List<ItemStack>> inputs;
|
||||||
|
|
||||||
public GridTransferMessage() {
|
public GridTransferMessage() {
|
||||||
@@ -26,6 +26,7 @@ public class GridTransferMessage {
|
|||||||
public static GridTransferMessage decode(FriendlyByteBuf buf) {
|
public static GridTransferMessage decode(FriendlyByteBuf buf) {
|
||||||
GridTransferMessage msg = new GridTransferMessage();
|
GridTransferMessage msg = new GridTransferMessage();
|
||||||
int slots = buf.readInt();
|
int slots = buf.readInt();
|
||||||
|
msg.recipe = new ItemStack[slots][];
|
||||||
for (int i = 0; i < slots; i++) {
|
for (int i = 0; i < slots; i++) {
|
||||||
int numberOfIngredients = buf.readInt();
|
int numberOfIngredients = buf.readInt();
|
||||||
msg.recipe[i] = new ItemStack[numberOfIngredients];
|
msg.recipe[i] = new ItemStack[numberOfIngredients];
|
||||||
|
@@ -54,7 +54,7 @@ public class PortableGridFluidUpdateMessage {
|
|||||||
BaseScreen.executeLater(GridScreen.class, grid -> {
|
BaseScreen.executeLater(GridScreen.class, grid -> {
|
||||||
grid.setView(new GridViewImpl(grid, GridScreen.getDefaultSorter(), GridScreen.getSorters()));
|
grid.setView(new GridViewImpl(grid, GridScreen.getDefaultSorter(), GridScreen.getSorters()));
|
||||||
grid.getView().setStacks(message.stacks);
|
grid.getView().setStacks(message.stacks);
|
||||||
grid.getView().sort();
|
grid.getView().forceSort();
|
||||||
});
|
});
|
||||||
|
|
||||||
ctx.get().setPacketHandled(true);
|
ctx.get().setPacketHandled(true);
|
||||||
|
@@ -54,7 +54,7 @@ public class PortableGridItemUpdateMessage {
|
|||||||
BaseScreen.executeLater(GridScreen.class, grid -> {
|
BaseScreen.executeLater(GridScreen.class, grid -> {
|
||||||
grid.setView(new GridViewImpl(grid, GridScreen.getDefaultSorter(), GridScreen.getSorters()));
|
grid.setView(new GridViewImpl(grid, GridScreen.getDefaultSorter(), GridScreen.getSorters()));
|
||||||
grid.getView().setStacks(message.stacks);
|
grid.getView().setStacks(message.stacks);
|
||||||
grid.getView().sort();
|
grid.getView().forceSort();
|
||||||
});
|
});
|
||||||
|
|
||||||
ctx.get().setPacketHandled(true);
|
ctx.get().setPacketHandled(true);
|
||||||
|
@@ -530,13 +530,15 @@ public class GridScreen extends BaseScreen<GridContainerMenu> implements IScreen
|
|||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int clickedButton) {
|
public boolean mouseClicked(double mouseX, double mouseY, int clickedButton) {
|
||||||
if (tabs.mouseClicked()) {
|
if (tabs.mouseClicked()) {
|
||||||
|
setFocused(null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scrollbar.mouseClicked(mouseX, mouseY, clickedButton)) {
|
if (scrollbar.mouseClicked(mouseX, mouseY, clickedButton)) {
|
||||||
|
setFocused(null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (grid.getGridType() == GridType.PATTERN && patternScrollbar.mouseClicked(mouseX, mouseY, clickedButton)) {
|
if (grid.getGridType() == GridType.PATTERN && patternScrollbar.mouseClicked(mouseX, mouseY, clickedButton)) {
|
||||||
|
setFocused(null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (RS.CLIENT_CONFIG.getGrid().getPreventSortingWhileShiftIsDown()) {
|
if (RS.CLIENT_CONFIG.getGrid().getPreventSortingWhileShiftIsDown()) {
|
||||||
@@ -551,12 +553,16 @@ public class GridScreen extends BaseScreen<GridContainerMenu> implements IScreen
|
|||||||
|
|
||||||
RS.NETWORK_HANDLER.sendToServer(new GridPatternCreateMessage(((GridNetworkNode) grid).getPos()));
|
RS.NETWORK_HANDLER.sendToServer(new GridPatternCreateMessage(((GridNetworkNode) grid).getPos()));
|
||||||
|
|
||||||
|
setFocused(null);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else if (clickedClear) {
|
} else if (clickedClear) {
|
||||||
minecraft.getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F));
|
minecraft.getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F));
|
||||||
|
|
||||||
RS.NETWORK_HANDLER.sendToServer(new GridClearMessage());
|
RS.NETWORK_HANDLER.sendToServer(new GridClearMessage());
|
||||||
|
|
||||||
|
setFocused(null);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else if (grid.isGridActive()) {
|
} else if (grid.isGridActive()) {
|
||||||
ItemStack held = menu.getCarried();
|
ItemStack held = menu.getCarried();
|
||||||
@@ -567,6 +573,7 @@ public class GridScreen extends BaseScreen<GridContainerMenu> implements IScreen
|
|||||||
} else {
|
} else {
|
||||||
RS.NETWORK_HANDLER.sendToServer(new GridItemInsertHeldMessage(clickedButton == 1));
|
RS.NETWORK_HANDLER.sendToServer(new GridItemInsertHeldMessage(clickedButton == 1));
|
||||||
}
|
}
|
||||||
|
setFocused(null);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -596,6 +603,7 @@ public class GridScreen extends BaseScreen<GridContainerMenu> implements IScreen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setFocused(null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -63,6 +63,11 @@ public class GridViewImpl implements IGridView {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
forceSort();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void forceSort() {
|
||||||
if (screen.getGrid().isGridActive()) {
|
if (screen.getGrid().isGridActive()) {
|
||||||
this.stacks = map.values().stream()
|
this.stacks = map.values().stream()
|
||||||
.filter(getActiveFilters())
|
.filter(getActiveFilters())
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user