From 07e5445450aab78e6d8e99f7e5a8974404fa2f5c Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Tue, 31 Oct 2023 19:11:52 +0100 Subject: [PATCH 1/2] feat: network receiver --- CHANGELOG.md | 12 ++- .../blockstates/black_network_receiver.json | 10 ++ .../blockstates/blue_network_receiver.json | 10 ++ .../blockstates/brown_network_receiver.json | 10 ++ .../blockstates/cyan_network_receiver.json | 10 ++ .../blockstates/gray_network_receiver.json | 10 ++ .../blockstates/green_network_receiver.json | 10 ++ .../light_gray_network_receiver.json | 10 ++ .../blockstates/lime_network_receiver.json | 10 ++ .../blockstates/magenta_network_receiver.json | 10 ++ .../blockstates/network_receiver.json | 10 ++ .../blockstates/orange_network_receiver.json | 10 ++ .../blockstates/pink_network_receiver.json | 10 ++ .../blockstates/purple_network_receiver.json | 10 ++ .../blockstates/red_network_receiver.json | 10 ++ .../blockstates/white_network_receiver.json | 10 ++ .../blockstates/yellow_network_receiver.json | 10 ++ .../models/block/network_receiver/black.json | 8 ++ .../models/block/network_receiver/blue.json | 8 ++ .../models/block/network_receiver/brown.json | 8 ++ .../models/block/network_receiver/cyan.json | 8 ++ .../models/block/network_receiver/gray.json | 8 ++ .../models/block/network_receiver/green.json | 8 ++ .../block/network_receiver/inactive.json | 8 ++ .../block/network_receiver/light_blue.json | 8 ++ .../block/network_receiver/light_gray.json | 8 ++ .../models/block/network_receiver/lime.json | 8 ++ .../block/network_receiver/magenta.json | 8 ++ .../models/block/network_receiver/orange.json | 8 ++ .../models/block/network_receiver/pink.json | 8 ++ .../models/block/network_receiver/purple.json | 8 ++ .../models/block/network_receiver/red.json | 8 ++ .../models/block/network_receiver/white.json | 8 ++ .../models/block/network_receiver/yellow.json | 8 ++ .../models/item/black_network_receiver.json | 6 ++ .../models/item/blue_network_receiver.json | 6 ++ .../models/item/brown_network_receiver.json | 6 ++ .../models/item/cyan_network_receiver.json | 6 ++ .../models/item/gray_network_receiver.json | 6 ++ .../models/item/green_network_receiver.json | 6 ++ .../item/light_gray_network_receiver.json | 6 ++ .../models/item/lime_network_receiver.json | 6 ++ .../models/item/magenta_network_receiver.json | 6 ++ .../models/item/network_receiver.json | 6 ++ .../models/item/orange_network_receiver.json | 6 ++ .../models/item/pink_network_receiver.json | 6 ++ .../models/item/purple_network_receiver.json | 6 ++ .../models/item/red_network_receiver.json | 6 ++ .../models/item/white_network_receiver.json | 6 ++ .../models/item/yellow_network_receiver.json | 6 ++ .../misc/coloring/black_network_receiver.json | 33 ++++++ .../misc/coloring/blue_network_receiver.json | 33 ++++++ .../misc/coloring/brown_network_receiver.json | 33 ++++++ .../misc/coloring/cyan_network_receiver.json | 33 ++++++ .../misc/coloring/gray_network_receiver.json | 33 ++++++ .../misc/coloring/green_network_receiver.json | 33 ++++++ .../coloring/light_blue_network_receiver.json | 33 ++++++ .../coloring/light_gray_network_receiver.json | 33 ++++++ .../misc/coloring/lime_network_receiver.json | 33 ++++++ .../coloring/magenta_network_receiver.json | 33 ++++++ .../coloring/orange_network_receiver.json | 33 ++++++ .../misc/coloring/pink_network_receiver.json | 33 ++++++ .../coloring/purple_network_receiver.json | 33 ++++++ .../misc/coloring/red_network_receiver.json | 33 ++++++ .../misc/coloring/white_network_receiver.json | 33 ++++++ .../coloring/yellow_network_receiver.json | 33 ++++++ .../blocks/black_network_receiver.json | 20 ++++ .../blocks/blue_network_receiver.json | 20 ++++ .../blocks/brown_network_receiver.json | 20 ++++ .../blocks/cyan_network_receiver.json | 20 ++++ .../blocks/gray_network_receiver.json | 20 ++++ .../blocks/green_network_receiver.json | 20 ++++ .../blocks/light_gray_network_receiver.json | 20 ++++ .../blocks/lime_network_receiver.json | 20 ++++ .../blocks/magenta_network_receiver.json | 20 ++++ .../loot_tables/blocks/network_receiver.json | 20 ++++ .../blocks/orange_network_receiver.json | 20 ++++ .../blocks/pink_network_receiver.json | 20 ++++ .../blocks/purple_network_receiver.json | 20 ++++ .../blocks/red_network_receiver.json | 20 ++++ .../blocks/white_network_receiver.json | 20 ++++ .../blocks/yellow_network_receiver.json | 20 ++++ .../coloring/black_network_receiver.json | 15 +++ .../coloring/blue_network_receiver.json | 15 +++ .../coloring/brown_network_receiver.json | 15 +++ .../coloring/cyan_network_receiver.json | 15 +++ .../coloring/gray_network_receiver.json | 15 +++ .../coloring/green_network_receiver.json | 15 +++ .../coloring/light_blue_network_receiver.json | 15 +++ .../coloring/light_gray_network_receiver.json | 15 +++ .../coloring/lime_network_receiver.json | 15 +++ .../coloring/magenta_network_receiver.json | 15 +++ .../coloring/orange_network_receiver.json | 15 +++ .../coloring/pink_network_receiver.json | 15 +++ .../coloring/purple_network_receiver.json | 15 +++ .../coloring/red_network_receiver.json | 15 +++ .../coloring/white_network_receiver.json | 15 +++ .../coloring/yellow_network_receiver.json | 15 +++ .../tags/items/network_receivers.json | 20 ++++ .../common/AbstractModInitializer.java | 21 +++- .../platform/common/Config.java | 2 + .../platform/common/block/CableBlock.java | 12 ++- .../common/block/NetworkReceiverBlock.java | 94 ++++++++++++++++++ ...ternalNetworkNodeContainerBlockEntity.java | 1 + .../common/block/entity/CableBlockEntity.java | 19 ---- ...SimpleNetworkNodeContainerBlockEntity.java | 18 ++++ .../common/content/BlockEntities.java | 18 +++- .../platform/common/content/Blocks.java | 11 ++ .../platform/common/content/ContentIds.java | 1 + .../platform/common/content/ContentNames.java | 1 + .../common/content/CreativeModeTabItems.java | 1 + .../common/content/DefaultEnergyUsage.java | 1 + .../platform/common/content/Items.java | 9 ++ .../platform/common/content/Tags.java | 1 + .../assets/refinedstorage2/lang/en_us.json | 4 + .../textures/block/network_receiver/base.png | Bin 0 -> 673 bytes .../block/network_receiver/cutouts/black.png | Bin 0 -> 2958 bytes .../block/network_receiver/cutouts/blue.png | Bin 0 -> 2957 bytes .../block/network_receiver/cutouts/brown.png | Bin 0 -> 2975 bytes .../block/network_receiver/cutouts/cyan.png | Bin 0 -> 2985 bytes .../block/network_receiver/cutouts/gray.png | Bin 0 -> 2968 bytes .../block/network_receiver/cutouts/green.png | Bin 0 -> 2978 bytes .../network_receiver/cutouts/inactive.png | Bin 0 -> 268 bytes .../network_receiver/cutouts/light_blue.png | Bin 0 -> 338 bytes .../network_receiver/cutouts/light_gray.png | Bin 0 -> 2956 bytes .../block/network_receiver/cutouts/lime.png | Bin 0 -> 2974 bytes .../network_receiver/cutouts/magenta.png | Bin 0 -> 2968 bytes .../block/network_receiver/cutouts/orange.png | Bin 0 -> 2955 bytes .../block/network_receiver/cutouts/pink.png | Bin 0 -> 2930 bytes .../block/network_receiver/cutouts/purple.png | Bin 0 -> 2988 bytes .../block/network_receiver/cutouts/red.png | Bin 0 -> 2961 bytes .../block/network_receiver/cutouts/white.png | Bin 0 -> 2929 bytes .../block/network_receiver/cutouts/yellow.png | Bin 0 -> 2955 bytes .../recipes/network_receiver.json | 31 ++++++ .../fabric/ClientModInitializerImpl.java | 17 ++++ .../platform/fabric/ConfigImpl.java | 10 ++ .../rei/RefinedStorageREIClientPlugin.java | 1 + .../platform/forge/ConfigImpl.java | 11 ++ .../forge/datagen/BlockModelProvider.java | 17 ++++ .../forge/datagen/BlockStateProvider.java | 18 ++++ .../forge/datagen/ItemModelProvider.java | 13 +++ .../forge/datagen/loot/BlockDropProvider.java | 2 + .../recipe/RecoloringRecipeProvider.java | 3 + .../forge/datagen/tag/ItemTagGenerator.java | 5 + .../rei/RefinedStorageREIClientPlugin.java | 1 + settings.gradle | 2 +- 146 files changed, 1824 insertions(+), 33 deletions(-) create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/black_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/blue_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/brown_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/cyan_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/gray_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/green_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/light_gray_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/lime_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/magenta_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/orange_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/pink_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/purple_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/red_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/white_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/yellow_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/black.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/blue.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/brown.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/cyan.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/gray.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/green.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/inactive.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/light_blue.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/light_gray.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/lime.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/magenta.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/orange.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/pink.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/purple.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/red.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/white.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/yellow.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/black_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/blue_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/brown_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/cyan_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/gray_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/green_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/light_gray_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/lime_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/magenta_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/orange_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/pink_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/purple_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/red_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/white_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/yellow_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_network_receiver.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/network_receivers.json create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/NetworkReceiverBlock.java delete mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/CableBlockEntity.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/SimpleNetworkNodeContainerBlockEntity.java create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/base.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/black.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/blue.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/brown.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/cyan.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/gray.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/green.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/inactive.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/light_blue.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/light_gray.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/lime.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/magenta.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/orange.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/pink.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/purple.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/red.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/white.png create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/yellow.png create mode 100644 refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_receiver.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 3799f1e1a..b6761925f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added + +- Configuration Card. It copies device configurations and can transfer upgrades. +- Network Receiver + ## [2.0.0-milestone.3.1] - 2023-10-30 ### Added @@ -15,7 +20,6 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - Curios integration on Forge. - Trinkets integration on Fabric. - Storage Monitor -- Configuration Card. It copies device configurations and can transfer upgrades. ### Changed @@ -333,9 +337,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ### Added - The Wrench now dismantles devices when crouching. - - The Disk Drive in item form now supports rendering of disks that were dismantled. - - In order to retain Controller energy, the Controller must now be dismantled. - - All config and upgrades are transferred to the item. + - The Disk Drive in item form now supports rendering of disks that were dismantled. + - In order to retain Controller energy, the Controller must now be dismantled. + - All config and upgrades are transferred to the item. - You can now use any Wrench from other mods in order to rotate or dismantle. - Item and fluid storage blocks. - Initial advancements. diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/black_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/black_network_receiver.json new file mode 100644 index 000000000..7c3d97c33 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/black_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/black" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/blue_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/blue_network_receiver.json new file mode 100644 index 000000000..f86cea069 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/blue_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/blue" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/brown_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/brown_network_receiver.json new file mode 100644 index 000000000..272697d4f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/brown_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/brown" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/cyan_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/cyan_network_receiver.json new file mode 100644 index 000000000..03ed7c3b1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/cyan_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/cyan" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/gray_network_receiver.json new file mode 100644 index 000000000..6bbc9fb00 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/gray_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/gray" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/green_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/green_network_receiver.json new file mode 100644 index 000000000..86e310337 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/green_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/green" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/light_gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/light_gray_network_receiver.json new file mode 100644 index 000000000..80e4ab4db --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/light_gray_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/light_gray" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/lime_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/lime_network_receiver.json new file mode 100644 index 000000000..1c06161a2 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/lime_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/lime" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/magenta_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/magenta_network_receiver.json new file mode 100644 index 000000000..0496045b1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/magenta_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/magenta" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/network_receiver.json new file mode 100644 index 000000000..6fd106527 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/light_blue" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/orange_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/orange_network_receiver.json new file mode 100644 index 000000000..f42263881 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/orange_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/orange" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/pink_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/pink_network_receiver.json new file mode 100644 index 000000000..f72f2d31c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/pink_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/pink" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/purple_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/purple_network_receiver.json new file mode 100644 index 000000000..f62a02452 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/purple_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/purple" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/red_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/red_network_receiver.json new file mode 100644 index 000000000..a4db02c72 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/red_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/red" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/white_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/white_network_receiver.json new file mode 100644 index 000000000..9d47582c7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/white_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/white" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/yellow_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/yellow_network_receiver.json new file mode 100644 index 000000000..f553637ea --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/blockstates/yellow_network_receiver.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "refinedstorage2:block/network_receiver/inactive" + }, + "active=true": { + "model": "refinedstorage2:block/network_receiver/yellow" + } + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/black.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/black.json new file mode 100644 index 000000000..b353d302b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/black.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/black", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/blue.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/blue.json new file mode 100644 index 000000000..e37eb0248 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/blue.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/blue", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/brown.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/brown.json new file mode 100644 index 000000000..a7068e51e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/brown.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/brown", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/cyan.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/cyan.json new file mode 100644 index 000000000..c48b00fc0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/cyan.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/cyan", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/gray.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/gray.json new file mode 100644 index 000000000..5bf2981bd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/gray.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/gray", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/green.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/green.json new file mode 100644 index 000000000..552c8d37c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/green.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/green", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/inactive.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/inactive.json new file mode 100644 index 000000000..090ddd01a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/inactive.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/inactive", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/light_blue.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/light_blue.json new file mode 100644 index 000000000..44b9e35b1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/light_blue.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/light_blue", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/light_gray.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/light_gray.json new file mode 100644 index 000000000..f19ff741c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/light_gray.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/light_gray", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/lime.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/lime.json new file mode 100644 index 000000000..bbfdb16ee --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/lime.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/lime", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/magenta.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/magenta.json new file mode 100644 index 000000000..daf1629ed --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/magenta.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/magenta", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/orange.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/orange.json new file mode 100644 index 000000000..57808fc14 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/orange.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/orange", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/pink.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/pink.json new file mode 100644 index 000000000..b7ac3a556 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/pink.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/pink", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/purple.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/purple.json new file mode 100644 index 000000000..aa8f409de --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/purple.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/purple", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/red.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/red.json new file mode 100644 index 000000000..c8c0c9d00 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/red.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/red", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/white.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/white.json new file mode 100644 index 000000000..5643b7496 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/white.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/white", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/yellow.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/yellow.json new file mode 100644 index 000000000..6ad1d45b0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/block/network_receiver/yellow.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage2:block/emissive_all_cutout", + "textures": { + "all": "refinedstorage2:block/network_receiver/base", + "cutout": "refinedstorage2:block/network_receiver/cutouts/yellow", + "particle": "refinedstorage2:block/network_receiver/base" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/black_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/black_network_receiver.json new file mode 100644 index 000000000..ade596183 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/black_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/black" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/blue_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/blue_network_receiver.json new file mode 100644 index 000000000..bcf3097c7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/blue_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/blue" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/brown_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/brown_network_receiver.json new file mode 100644 index 000000000..249d08271 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/brown_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/brown" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/cyan_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/cyan_network_receiver.json new file mode 100644 index 000000000..be8369e76 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/cyan_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/cyan" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/gray_network_receiver.json new file mode 100644 index 000000000..e91a0cbb1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/gray_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/gray" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/green_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/green_network_receiver.json new file mode 100644 index 000000000..509ec28ad --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/green_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/green" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/light_gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/light_gray_network_receiver.json new file mode 100644 index 000000000..cf103c918 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/light_gray_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/light_gray" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/lime_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/lime_network_receiver.json new file mode 100644 index 000000000..7acce74fa --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/lime_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/lime" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/magenta_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/magenta_network_receiver.json new file mode 100644 index 000000000..c1952d7e5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/magenta_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/magenta" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/network_receiver.json new file mode 100644 index 000000000..c237c3d55 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/light_blue" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/orange_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/orange_network_receiver.json new file mode 100644 index 000000000..8ef759ae0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/orange_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/orange" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/pink_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/pink_network_receiver.json new file mode 100644 index 000000000..c9d5ae064 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/pink_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/pink" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/purple_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/purple_network_receiver.json new file mode 100644 index 000000000..df74529c0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/purple_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/purple" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/red_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/red_network_receiver.json new file mode 100644 index 000000000..24e8dff77 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/red_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/red" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/white_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/white_network_receiver.json new file mode 100644 index 000000000..5654fa20c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/white_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/white" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/yellow_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/yellow_network_receiver.json new file mode 100644 index 000000000..cb901d1bd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/assets/refinedstorage2/models/item/yellow_network_receiver.json @@ -0,0 +1,6 @@ +{ + "parent": "refinedstorage2:block/network_receiver/inactive", + "textures": { + "cutout": "refinedstorage2:block/network_receiver/cutouts/yellow" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_network_receiver.json new file mode 100644 index 000000000..c7b33755b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_network_receiver.json new file mode 100644 index 000000000..22f8c8709 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_network_receiver.json new file mode 100644 index 000000000..2dcce70a1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_network_receiver.json new file mode 100644 index 000000000..5579db0c2 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_network_receiver.json new file mode 100644 index 000000000..f91f93326 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_network_receiver.json new file mode 100644 index 000000000..4213a221a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_network_receiver.json new file mode 100644 index 000000000..d1053d126 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_network_receiver.json new file mode 100644 index 000000000..3ddba8f5d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_network_receiver.json new file mode 100644 index 000000000..4304825b5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_network_receiver.json new file mode 100644 index 000000000..6eac125ee --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_network_receiver.json new file mode 100644 index 000000000..a68106768 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_network_receiver.json new file mode 100644 index 000000000..3d4551d03 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_network_receiver.json new file mode 100644 index 000000000..cf37cb575 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_network_receiver.json new file mode 100644 index 000000000..7a0d917dd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_network_receiver.json new file mode 100644 index 000000000..c0d7cf997 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_network_receiver.json new file mode 100644 index 000000000..28300c863 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_network_receiver.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "tag": "refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_network_receivers", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_network_receiver" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_network_receiver.json new file mode 100644 index 000000000..0ffff7793 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:black_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/black_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_network_receiver.json new file mode 100644 index 000000000..dd9a16080 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:blue_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/blue_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_network_receiver.json new file mode 100644 index 000000000..126e8020a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:brown_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/brown_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_network_receiver.json new file mode 100644 index 000000000..09b99f3ff --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:cyan_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/cyan_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_network_receiver.json new file mode 100644 index 000000000..0b6fa43d1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:gray_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/gray_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_network_receiver.json new file mode 100644 index 000000000..db633f063 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:green_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/green_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_network_receiver.json new file mode 100644 index 000000000..3e81cc321 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:light_gray_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/light_gray_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_network_receiver.json new file mode 100644 index 000000000..7e2244265 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:lime_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/lime_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_network_receiver.json new file mode 100644 index 000000000..eda8e2384 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:magenta_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/magenta_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/network_receiver.json new file mode 100644 index 000000000..34a5d8900 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_network_receiver.json new file mode 100644 index 000000000..f61f350bd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:orange_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/orange_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_network_receiver.json new file mode 100644 index 000000000..962eea8de --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:pink_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/pink_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_network_receiver.json new file mode 100644 index 000000000..59612d49b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:purple_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/purple_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_network_receiver.json new file mode 100644 index 000000000..9019cb58b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:red_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/red_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_network_receiver.json new file mode 100644 index 000000000..cccc597dc --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:white_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/white_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_network_receiver.json new file mode 100644 index 000000000..9aa605850 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_network_receiver.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage2:yellow_network_receiver" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "refinedstorage2:blocks/yellow_network_receiver" +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_network_receiver.json new file mode 100644 index 000000000..10adc17ab --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "item": "refinedstorage2:black_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_network_receiver.json new file mode 100644 index 000000000..2cf78ae46 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "item": "refinedstorage2:blue_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_network_receiver.json new file mode 100644 index 000000000..8f315166a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "item": "refinedstorage2:brown_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_network_receiver.json new file mode 100644 index 000000000..1740e8a1b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "item": "refinedstorage2:cyan_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_network_receiver.json new file mode 100644 index 000000000..d81adf188 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "item": "refinedstorage2:gray_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_network_receiver.json new file mode 100644 index 000000000..17bebbdbc --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "item": "refinedstorage2:green_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_network_receiver.json new file mode 100644 index 000000000..76b5e6fc4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "item": "refinedstorage2:network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_network_receiver.json new file mode 100644 index 000000000..0e08e1676 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "item": "refinedstorage2:light_gray_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_network_receiver.json new file mode 100644 index 000000000..cc0ae467a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "item": "refinedstorage2:lime_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_network_receiver.json new file mode 100644 index 000000000..3a51f49ad --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "item": "refinedstorage2:magenta_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_network_receiver.json new file mode 100644 index 000000000..7f5f93995 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "item": "refinedstorage2:orange_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_network_receiver.json new file mode 100644 index 000000000..8108f41b8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "item": "refinedstorage2:pink_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_network_receiver.json new file mode 100644 index 000000000..e62460fb2 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "item": "refinedstorage2:purple_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_network_receiver.json new file mode 100644 index 000000000..9648c407a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "item": "refinedstorage2:red_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_network_receiver.json new file mode 100644 index 000000000..c8250b9ae --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "item": "refinedstorage2:white_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_network_receiver.json new file mode 100644 index 000000000..1c9a4ce3e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_network_receiver.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "item": "refinedstorage2:yellow_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/network_receivers.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/network_receivers.json new file mode 100644 index 000000000..2e1d18612 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/network_receivers.json @@ -0,0 +1,20 @@ +{ + "values": [ + "refinedstorage2:white_network_receiver", + "refinedstorage2:orange_network_receiver", + "refinedstorage2:magenta_network_receiver", + "refinedstorage2:network_receiver", + "refinedstorage2:yellow_network_receiver", + "refinedstorage2:lime_network_receiver", + "refinedstorage2:pink_network_receiver", + "refinedstorage2:gray_network_receiver", + "refinedstorage2:light_gray_network_receiver", + "refinedstorage2:cyan_network_receiver", + "refinedstorage2:purple_network_receiver", + "refinedstorage2:blue_network_receiver", + "refinedstorage2:brown_network_receiver", + "refinedstorage2:green_network_receiver", + "refinedstorage2:red_network_receiver", + "refinedstorage2:black_network_receiver" + ] +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java index 2b343c38d..4479dfe6e 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java @@ -14,9 +14,9 @@ import com.refinedmods.refinedstorage2.platform.common.block.ItemStorageBlock; import com.refinedmods.refinedstorage2.platform.common.block.SimpleBlock; import com.refinedmods.refinedstorage2.platform.common.block.StorageMonitorBlock; -import com.refinedmods.refinedstorage2.platform.common.block.entity.CableBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.ControllerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.ImporterBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.SimpleNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.constructor.ConstructorBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.constructor.ItemDropConstructorStrategyFactory; import com.refinedmods.refinedstorage2.platform.common.block.entity.constructor.PlaceBlockConstructorStrategy; @@ -129,6 +129,7 @@ import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.INTERFACE; import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.ITEM_STORAGE_BLOCK; import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.MACHINE_CASING; +import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.NETWORK_RECEIVER; import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.PROCESSOR_BINDING; import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.QUARTZ_ENRICHED_IRON; import static com.refinedmods.refinedstorage2.platform.common.content.ContentIds.QUARTZ_ENRICHED_IRON_BLOCK; @@ -273,6 +274,7 @@ protected final void registerBlocks( Blocks.INSTANCE.setInterface(callback.register(INTERFACE, InterfaceBlock::new)); Blocks.INSTANCE.getWirelessTransmitter().registerBlocks(callback); Blocks.INSTANCE.setStorageMonitor(callback.register(STORAGE_MONITOR, StorageMonitorBlock::new)); + Blocks.INSTANCE.getNetworkReceiver().registerBlocks(callback); } protected final void registerItems( @@ -294,6 +296,7 @@ protected final void registerItems( Blocks.INSTANCE.getConstructor().registerItems(callback, Items.INSTANCE::addConstructor); Blocks.INSTANCE.getDestructor().registerItems(callback, Items.INSTANCE::addDestructor); Blocks.INSTANCE.getWirelessTransmitter().registerItems(callback, Items.INSTANCE::addWirelessTransmitter); + Blocks.INSTANCE.getNetworkReceiver().registerItems(callback, Items.INSTANCE::addNetworkReceiver); registerStorageItems(callback); registerUpgrades(callback, regulatorUpgradeItemSupplier); Items.INSTANCE.setWirelessGrid(callback.register(WIRELESS_GRID, wirelessGridItemSupplier)); @@ -476,7 +479,12 @@ protected final void registerBlockEntities( ) { BlockEntities.INSTANCE.setCable(callback.register( CABLE, - () -> typeFactory.create(CableBlockEntity::new, Blocks.INSTANCE.getCable().toArray()) + () -> typeFactory.create((pos, state) -> new SimpleNetworkNodeContainerBlockEntity( + BlockEntities.INSTANCE.getCable(), + pos, + state, + Platform.INSTANCE.getConfig().getCable().getEnergyUsage() + ), Blocks.INSTANCE.getCable().toArray()) )); BlockEntities.INSTANCE.setController(callback.register( CONTROLLER, @@ -563,6 +571,15 @@ protected final void registerBlockEntities( STORAGE_MONITOR, () -> typeFactory.create(StorageMonitorBlockEntity::new, Blocks.INSTANCE.getStorageMonitor()) )); + BlockEntities.INSTANCE.setNetworkReceiver(callback.register( + NETWORK_RECEIVER, + () -> typeFactory.create((pos, state) -> new SimpleNetworkNodeContainerBlockEntity( + BlockEntities.INSTANCE.getNetworkReceiver(), + pos, + state, + Platform.INSTANCE.getConfig().getNetworkReceiver().getEnergyUsage() + ), Blocks.INSTANCE.getNetworkReceiver().toArray()) + )); } protected final void registerMenus(final RegistryCallback> callback, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/Config.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/Config.java index 7f89c1abb..cf7e69c22 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/Config.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/Config.java @@ -46,6 +46,8 @@ public interface Config { SimpleEnergyUsageEntry getStorageMonitor(); + SimpleEnergyUsageEntry getNetworkReceiver(); + interface SimpleEnergyUsageEntry { long getEnergyUsage(); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/CableBlock.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/CableBlock.java index 2895ff79e..b74a74646 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/CableBlock.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/CableBlock.java @@ -1,6 +1,7 @@ package com.refinedmods.refinedstorage2.platform.common.block; -import com.refinedmods.refinedstorage2.platform.common.block.entity.CableBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.block.entity.SimpleNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.ticker.AbstractBlockEntityTicker; import com.refinedmods.refinedstorage2.platform.common.block.ticker.NetworkNodeBlockEntityTicker; import com.refinedmods.refinedstorage2.platform.common.content.BlockColorMap; @@ -37,7 +38,7 @@ public class CableBlock extends AbstractBaseBlock implements ColorableBlock, SimpleWaterloggedBlock, EntityBlock, BlockItemProvider { - private static final AbstractBlockEntityTicker TICKER = + private static final AbstractBlockEntityTicker TICKER = new NetworkNodeBlockEntityTicker<>(BlockEntities.INSTANCE::getCable); private final DyeColor color; @@ -115,7 +116,12 @@ public VoxelShape getShape(final BlockState state, @Override public BlockEntity newBlockEntity(final BlockPos pos, final BlockState state) { - return new CableBlockEntity(pos, state); + return new SimpleNetworkNodeContainerBlockEntity( + BlockEntities.INSTANCE.getCable(), + pos, + state, + Platform.INSTANCE.getConfig().getCable().getEnergyUsage() + ); } @Nullable diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/NetworkReceiverBlock.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/NetworkReceiverBlock.java new file mode 100644 index 000000000..ffbc8faaf --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/NetworkReceiverBlock.java @@ -0,0 +1,94 @@ +package com.refinedmods.refinedstorage2.platform.common.block; + +import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.block.entity.SimpleNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.ticker.AbstractBlockEntityTicker; +import com.refinedmods.refinedstorage2.platform.common.block.ticker.NetworkNodeBlockEntityTicker; +import com.refinedmods.refinedstorage2.platform.common.content.BlockColorMap; +import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; +import com.refinedmods.refinedstorage2.platform.common.content.Blocks; +import com.refinedmods.refinedstorage2.platform.common.item.block.NamedBlockItem; + +import javax.annotation.Nullable; + +import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.EntityBlock; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityTicker; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; + +public class NetworkReceiverBlock extends AbstractBaseBlock implements ColorableBlock, + BlockItemProvider, EntityBlock { + public static final BooleanProperty ACTIVE = BooleanProperty.create("active"); + + private static final AbstractBlockEntityTicker TICKER = + new NetworkNodeBlockEntityTicker<>(BlockEntities.INSTANCE::getNetworkReceiver, ACTIVE); + + private final DyeColor color; + private final MutableComponent name; + + public NetworkReceiverBlock(final DyeColor color, final MutableComponent name) { + super(BlockConstants.PROPERTIES); + this.color = color; + this.name = name; + } + + @Override + protected BlockState getDefaultState() { + return super.getDefaultState().setValue(ACTIVE, false); + } + + @Override + protected void createBlockStateDefinition(final StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(ACTIVE); + } + + @Override + public MutableComponent getName() { + return name; + } + + @Override + public BlockColorMap getBlockColorMap() { + return Blocks.INSTANCE.getNetworkReceiver(); + } + + @Override + public DyeColor getColor() { + return color; + } + + @Override + public BlockItem createBlockItem() { + return new NamedBlockItem(this, new Item.Properties(), name); + } + + @Nullable + @Override + public BlockEntity newBlockEntity(final BlockPos pos, final BlockState state) { + return new SimpleNetworkNodeContainerBlockEntity( + BlockEntities.INSTANCE.getNetworkReceiver(), + pos, + state, + Platform.INSTANCE.getConfig().getNetworkReceiver().getEnergyUsage() + ); + } + + @Nullable + @Override + public BlockEntityTicker getTicker(final Level level, + final BlockState blockState, + final BlockEntityType type) { + return TICKER.get(level, type); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractInternalNetworkNodeContainerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractInternalNetworkNodeContainerBlockEntity.java index 1fd6f3861..1785ad4e3 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractInternalNetworkNodeContainerBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractInternalNetworkNodeContainerBlockEntity.java @@ -27,6 +27,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +// TODO: inherit from simple network node container block entity public abstract class AbstractInternalNetworkNodeContainerBlockEntity extends AbstractNetworkNodeContainerBlockEntity implements PlayerAware, ConfigurationCardTarget { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/CableBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/CableBlockEntity.java deleted file mode 100644 index 7594f24bb..000000000 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/CableBlockEntity.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.block.entity; - -import com.refinedmods.refinedstorage2.api.network.impl.node.SimpleNetworkNode; -import com.refinedmods.refinedstorage2.platform.common.Platform; -import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; - -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.block.state.BlockState; - -public class CableBlockEntity extends AbstractInternalNetworkNodeContainerBlockEntity { - public CableBlockEntity(final BlockPos pos, final BlockState state) { - super( - BlockEntities.INSTANCE.getCable(), - pos, - state, - new SimpleNetworkNode(Platform.INSTANCE.getConfig().getCable().getEnergyUsage()) - ); - } -} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/SimpleNetworkNodeContainerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/SimpleNetworkNodeContainerBlockEntity.java new file mode 100644 index 000000000..c90e7ad4b --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/SimpleNetworkNodeContainerBlockEntity.java @@ -0,0 +1,18 @@ +package com.refinedmods.refinedstorage2.platform.common.block.entity; + +import com.refinedmods.refinedstorage2.api.network.impl.node.SimpleNetworkNode; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +// TODO: fix inheritance (no need for RedstoneMode here!) +public final class SimpleNetworkNodeContainerBlockEntity + extends AbstractInternalNetworkNodeContainerBlockEntity { + public SimpleNetworkNodeContainerBlockEntity(final BlockEntityType type, + final BlockPos pos, + final BlockState state, + final long energyUsage) { + super(type, pos, state, new SimpleNetworkNode(energyUsage)); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/BlockEntities.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/BlockEntities.java index 2a0bee746..65e74664d 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/BlockEntities.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/BlockEntities.java @@ -1,8 +1,8 @@ package com.refinedmods.refinedstorage2.platform.common.content; -import com.refinedmods.refinedstorage2.platform.common.block.entity.CableBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.ControllerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.ImporterBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.SimpleNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.constructor.ConstructorBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.destructor.DestructorBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.detector.DetectorBlockEntity; @@ -31,7 +31,7 @@ public final class BlockEntities { public static final BlockEntities INSTANCE = new BlockEntities(); @Nullable - private Supplier> cable; + private Supplier> cable; @Nullable private Supplier> diskDrive; @Nullable @@ -64,15 +64,17 @@ public final class BlockEntities { private Supplier> wirelessTransmitter; @Nullable private Supplier> storageMonitor; + @Nullable + private Supplier> networkReceiver; private BlockEntities() { } - public BlockEntityType getCable() { + public BlockEntityType getCable() { return Objects.requireNonNull(cable).get(); } - public void setCable(final Supplier> supplier) { + public void setCable(final Supplier> supplier) { this.cable = supplier; } @@ -205,4 +207,12 @@ public BlockEntityType getStorageMonitor() { public void setStorageMonitor(final Supplier> supplier) { this.storageMonitor = supplier; } + + public BlockEntityType getNetworkReceiver() { + return Objects.requireNonNull(networkReceiver).get(); + } + + public void setNetworkReceiver(final Supplier> supplier) { + this.networkReceiver = supplier; + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Blocks.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Blocks.java index 18c5e28d4..12832d9fd 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Blocks.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Blocks.java @@ -13,6 +13,7 @@ import com.refinedmods.refinedstorage2.platform.common.block.ImporterBlock; import com.refinedmods.refinedstorage2.platform.common.block.InterfaceBlock; import com.refinedmods.refinedstorage2.platform.common.block.ItemStorageBlock; +import com.refinedmods.refinedstorage2.platform.common.block.NetworkReceiverBlock; import com.refinedmods.refinedstorage2.platform.common.block.SimpleBlock; import com.refinedmods.refinedstorage2.platform.common.block.StorageMonitorBlock; import com.refinedmods.refinedstorage2.platform.common.block.WirelessTransmitterBlock; @@ -117,6 +118,12 @@ public final class Blocks { ContentNames.WIRELESS_TRANSMITTER, COLOR ); + private final BlockColorMap networkReceiver = new BlockColorMap<>( + NetworkReceiverBlock::new, + ContentIds.NETWORK_RECEIVER, + ContentNames.NETWORK_RECEIVER, + COLOR + ); @Nullable private Supplier quartzEnrichedIronBlock; @@ -240,4 +247,8 @@ public void setStorageMonitor(final Supplier supplier) { public StorageMonitorBlock getStorageMonitor() { return Objects.requireNonNull(storageMonitor).get(); } + + public BlockColorMap getNetworkReceiver() { + return networkReceiver; + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentIds.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentIds.java index 2ca3bd93a..4d78b1573 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentIds.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentIds.java @@ -49,6 +49,7 @@ public final class ContentIds { public static final ResourceLocation CREATIVE_RANGE_UPGRADE = createIdentifier("creative_range_upgrade"); public static final ResourceLocation STORAGE_MONITOR = createIdentifier("storage_monitor"); public static final ResourceLocation CONFIGURATION_CARD = createIdentifier("configuration_card"); + public static final ResourceLocation NETWORK_RECEIVER = createIdentifier("network_receiver"); private ContentIds() { } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentNames.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentNames.java index b1ac504ec..32a2e65d8 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentNames.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ContentNames.java @@ -22,6 +22,7 @@ public final class ContentNames { public static final MutableComponent STORAGE_MONITOR = createTranslation("block", "storage_monitor"); public static final MutableComponent INTERFACE = createTranslation("block", "interface"); public static final MutableComponent DISK_DRIVE = createTranslation("block", "disk_drive"); + public static final MutableComponent NETWORK_RECEIVER = createTranslation("block", "network_receiver"); private ContentNames() { } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/CreativeModeTabItems.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/CreativeModeTabItems.java index 002b99b20..d2c58c041 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/CreativeModeTabItems.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/CreativeModeTabItems.java @@ -47,6 +47,7 @@ private static void appendBlocks(final Consumer consumer) { itemConsumer.accept(Blocks.INSTANCE.getMachineCasing()); itemConsumer.accept(Blocks.INSTANCE.getQuartzEnrichedIronBlock()); itemConsumer.accept(Blocks.INSTANCE.getStorageMonitor()); + Items.INSTANCE.getNetworkReceivers().stream().map(Supplier::get).forEach(itemConsumer); } private static void appendBlockColors(final Consumer consumer, final BlockColorMap map) { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/DefaultEnergyUsage.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/DefaultEnergyUsage.java index ba04bd65e..733a39e42 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/DefaultEnergyUsage.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/DefaultEnergyUsage.java @@ -14,6 +14,7 @@ public final class DefaultEnergyUsage { public static final long DESTRUCTOR = 3; public static final long DISK_DRIVE_PER_DISK = 4; public static final long STORAGE_MONITOR = 4; + public static final long NETWORK_RECEIVER = 8; public static final long CONTROLLER_CAPACITY = 1000; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Items.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Items.java index fdfcdc5f3..9851418ac 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Items.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Items.java @@ -39,6 +39,7 @@ public final class Items { private final List> allDestructors = new ArrayList<>(); private final List> allConstructors = new ArrayList<>(); private final List> allWirelessTransmitters = new ArrayList<>(); + private final List> allNetworkReceivers = new ArrayList<>(); @Nullable private Supplier quartzEnrichedIron; @Nullable @@ -363,4 +364,12 @@ public Item getConfigurationCard() { public void setConfigurationCard(final Supplier supplier) { this.configurationCard = supplier; } + + public void addNetworkReceiver(final Supplier supplier) { + allNetworkReceivers.add(supplier); + } + + public List> getNetworkReceivers() { + return Collections.unmodifiableList(allNetworkReceivers); + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Tags.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Tags.java index 658435383..cc62023c7 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Tags.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Tags.java @@ -21,6 +21,7 @@ public final class Tags { public static final TagKey CONSTRUCTORS = createTag("constructors"); public static final TagKey DESTRUCTORS = createTag("destructors"); public static final TagKey WIRELESS_TRANSMITTERS = createTag("wireless_transmitters"); + public static final TagKey NETWORK_RECEIVERS = createTag("network_receivers"); private Tags() { } diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/lang/en_us.json b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/lang/en_us.json index f2fc84abb..f5a4215a3 100644 --- a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/lang/en_us.json +++ b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/lang/en_us.json @@ -28,6 +28,7 @@ "block.refinedstorage2.destructor": "Destructor", "block.refinedstorage2.wireless_transmitter": "Wireless Transmitter", "block.refinedstorage2.storage_monitor": "Storage Monitor", + "block.refinedstorage2.network_receiver": "Network Receiver", "gui.refinedstorage2.controller.redstone_mode_help": "When this device is inactive, the storage network will not be able to use this device as an energy source.", "gui.refinedstorage2.disk_drive.disks": "Disks", "gui.refinedstorage2.storage.redstone_mode_help": "When this device is inactive, the contained storage will no longer be accessible from within the storage network.", @@ -301,7 +302,10 @@ "text.autoconfig.refinedstorage2.option.wirelessTransmitter": "Wireless Transmitter", "text.autoconfig.refinedstorage2.option.wirelessTransmitter.energyUsage": "Energy usage", "text.autoconfig.refinedstorage2.option.wirelessTransmitter.baseRange": "Base range", + "text.autoconfig.refinedstorage2.option.storageMonitor": "Storage Monitor", "text.autoconfig.refinedstorage2.option.storageMonitor.energyUsage": "Energy usage", + "text.autoconfig.refinedstorage2.option.networkReceiver": "Network Receiver", + "text.autoconfig.refinedstorage2.option.networkReceiver.energyUsage": "Energy usage", "advancements.refinedstorage2.root.description": "Use one or multiple Controllers in a network to provide your network with energy", "advancements.refinedstorage2.connecting": "Connecting", "advancements.refinedstorage2.connecting.description": "Use Cable to connect devices with each other, or place devices against each other", diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/base.png b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/base.png new file mode 100644 index 0000000000000000000000000000000000000000..f0fdad1d7ae215e5d0382822309b4c0e1fbb7416 GIT binary patch literal 673 zcmV;S0$%-zP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00I$7L_t(IPfb%v%Yk7O^@muS$4n6+WQxpl z#tbRRLRl!1l!aI*l7;-g`+eusE9&$-@6$c!o;y(4Y&Nmm?P4?t#HKVF4U+wSzZ8o_x>mW}ZVEuTP$)<{yWQk`KFjm@l+wE37 z9uJeiF$ItTfNdy)h%!)4r_+&szc1Zxm-plG$hsi_G8(H=YK2HN8kN`UCG+|GI}H#J zQ?J+Ma5&HbY6ph`P{M~I0;|Y~F{;&S(P%Ujs#dGAUay%|iDwgkACL(SU>`G91mFS! zaPS)sVHE-uawHOA)5ha59UuS>0nB~3+wn~i`IZ2nNf_7r{boaZy&m6Cd%0ZZx!G*k z4>TK`uRy!qWXQ0fGb1cZ1zF8O?(M7YJ@fC6YxsZ=5n-9}jo zSpnWah7cAhm&600000NkvXX Hu0mjfVL%S7 literal 0 HcmV?d00001 diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/black.png b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/black.png new file mode 100644 index 0000000000000000000000000000000000000000..58f7b9244574ba293514af24307de57ddf5cd24a GIT binary patch literal 2958 zcmcImON<^`B>@wH5rTvOK`|y?xDY&u5fkLV$%Ao?5)Q^h4kl{i1*1l*=C!l3%WhCQ=~w+< z{g1Ey|F1gK-?w>r*P5X7ojkQV zmFgPti>0Jg*kWT^Nh6m!Bwee744q1?-%tw?-b)g}AwzzU6@R&OSrmLXEAG?_un_i; zVZV1GBHJhWig;o#wp?+;^TPU?%@kBff`nS79K?1lE7tYe?3)iuqELq)8XjO-)}8^leT7-3Qkg_4|xJfu3%#cf+LmK+GC-!Nna6YnZ%+<~X+q;+ItvMH@iZzD z-*{nb2aVzuAQ-rjDfTaP%L5r%g_jLT%7<}u^i}O&%-Ki z&CgLh%9D!EZ`7AdG1Jjr4I4YifHKQ>NK^CW$P+gONjH}7Ok{$lgT}#zu)pQt#Q+9i3nMMWbGR{>|;Hzyj^~_bo z>nkhD&A}2+)$(X#&{QD1B$+>(^1(UeQ{o+g&nQ+zf#-`|x4)gWF6Mxt>#E)y@Aqq@ zT*~>3wYcGk(J2|6F5#VwSE$|V$1LZ@o4sZ`8EJl%eW6~IHo}b%FwaiHC~XY;Gc54@ zsBFxy4iiS!9kR9oi>a4XQAE0j7{hZ`g*2P$0iIP&NqgES5t$(I9YC-2_I) z!VXjwLS(ZQ`t7c(wyfET+NzAIfQ4p(OvZq~ z#G08QD5D{h%oNOw4dEUKgK02EqK?E0QH0n=N}@O`dJ(M%C=AO!u2+{d7P!s*sa=pl zLWQaJGb?E>iTsWn=(N&yLHHl-&6#oY>xQ=%%ROEsi60OeZ9w{WhiLrg8cc5DYg6BN z?U{PPd~=ZP#5QZ~b2NKbwy@!tIzX1;09ohdiF6Af)l*d6Fm&u8p3z(z{jbfQ=TM!7 zj&oCMh#kiGXZsY$e%j|q60o|B*eTH|JjYI!@Zsv=t4xats z$k7$S5&YeP{Ib)v(qr3>f3$A0dg;QE(|?^k`1z`_RBB}3pIx^;lg`{+pe~FT4j%vE z*TOre9^Wq?8z?<`;KYYZ3SaGe>a`*~FuCU9K8l{Y@!A?z8P zbe24H=%-I!y+8L#>B5R#-*oS|G0{D^`@PEbYulD1&;4=t+c)36dTr~mfm;ukzrTFn z^^dQPoci|XzVp$_Mb7HQxkaP9UOahb^B-@%^yTjleqnF9MxQ*8@Dp=>V_)w43w!qe E1H2W(BLDyZ literal 0 HcmV?d00001 diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/blue.png b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..00d6eb6f0d72f5bd66c1cebbeaae760a55bc9827 GIT binary patch literal 2957 zcmcguTWl3Y7(Nh0tzsY`UZQbb3}Rr;?(BUx9Bw^8YkIILhfov)vpcgrE9dMkyW94( zQ67jS@_^B3Vl48gkU)%>_=1Az15YL;Dj^zTG@2+X2ti^bKIqK3Y)_@7ji{UKZRVT* z|L2?U|7Z4hZ`wGo?ZLK8CNrc^VxmJT>5E3LYL(Pl`O)6O|sQWNYRv%P}#(dKI^_YEc6fk|3^HDf_Wi&G9w67X4<;0?*YT$*vr~mO12l z3*B6M5D`wxiog*?iPOz2)D%S%S8$RjiGrvKPy$f1M8$$S*SL7<05C#Vavx9Ori24L*nx-I1f+PWo0P&EYpepd=B~1%?5<8I>CSKrk%p$Ub{v^lK zNb6ImgsE9SZqP&t6RIc_U{+*PssXW+;==x@Tyu^cfs{#w_(@E$FvU`q3WXFtso6>; zMaRkd0UA+bZj++p;!sG09uf!rkwexGP>)NRfyGG=8K-6j!znx+9F~G4h)cl~B&6LF zs7O3_3Wuy`0+dv}DWI$;g@#spL{Jh$#ULm*wbR{jnMPq2wM29P{T zNRDSh0-^zAu_#HF2rU&Z7wLyshZd+bF-lM?*rfQPBwC6*0U2P=9lALVJC++n6-1ZJ ztDrt2gnnPmPoZFS`f-AMhjiw1JPk7IdDtS70}Tmlz>uH_bX&23?IIHx2G%5-AVX5j z=JtI2N5NJv&P$lF76)FhWs!0GO64arq=#H&4tvwZaG`Uf^ z)hde$Q;RM!G}*y6kg-mHffWc$XtRfkO<94mZd3Ng{k8|?ASwiyvMuu*TW5=!r=cR2 zSvejy8he>Y%l-96T@vXfK=y3(Z=0rnynBo9QHmv=V@k1V{x{R2MFY@ORaP7A-CmWH zd-EP;Ev^Tmwf1bA*u!cV%T24pi>ca%8dYX9+1>amdt5CYE#%av;4obh%r~07Nfvl! zRMyQ7mIx*5CVH*I;=oM?QAF1EQHH0@2VttEE{(4nqC5o!durmO*#C?c?BRR@}3 zI<_b?t?A9F-x#`VLB*2N1o|hTH)wTA$nPU``w{qCm<&=36U!37M3Vv0X`&gnN>ffT zY+{&-rVuLK8`t5+Qt%(o#0mTX61Au*L=mFmes22d?@3o=+pRd!nfh|mJv$ZCx z0&s@vqr0y~i~2NW9z)a7Y+VJ&)NBA%mY7I20g_!wRy9p^T*S1@tOd7P=9z$MG_;(R znoaZo#y-=NAN@(sj>M-K8_|>D+3n{?>8Wz8GrzWI9Qfe1uiEymnZNJMg^_p2eG3-l zlP}L-J9e`0#)3ub=Hs76E@{tR+c;wPetqfULt|raKI(2*I49Hf!zb%TA0GJPfok{F zyTQHR7CNr$M^9f|dS(A(FLnH4YtJlwy}0jt{dV%6+tagU&*+h3=f2TrAL_jP^RkbQ zp9${i+IV*H@#ha7I`v1i^SXBB^s4RBffZdlW*4o2o$DbP>+j`=+CqKWo{OR57 Pz}&fhQ~up`JNNztzaY!8 literal 0 HcmV?d00001 diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/brown.png b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/brown.png new file mode 100644 index 0000000000000000000000000000000000000000..63204a3af3edf0e1a72070136d08ff2a352fd4e3 GIT binary patch literal 2975 zcmcImU2GIp6kg>g3RaCoKwcaNqN3iNx${30)>^v77P?s4MM@&b-8*;M3A;1Xnc41^ z2NHkyRbKFcgkZ#AFiJFFOhhFj3C0KUNn%VuNfdoR4GAPDyx_h2*R8a)L78O!?)mOH z-#Pc3bMKCxmCv@!S}-e-NVIfyrhDo8eszr(-9hKtD3O>whuwE1_U@aX zNX!~?v;A>@rrW}PA&G21N0Q}2K+%cBlGbv7@J14IIWpjSDgNT;$9c}RQ~Vk=BW8kj zGU#@03Q6Clm07%LBQ|Zm^=WQN*`f*xBt~4hkoO|1oZ>5bE&9!d1)i%w;*BZ3jTz+n zGd*0p9}-SWiU5nE#OY=dYKo$XPjQkciGrvKPy$f1M8$$SSG#y>Ewml0H@&Q8i~gnf z!8i^qK`50<$&#G(!vO)BrYVS$AW48CKs4gTs0_SlVO>L-L^yPV*!4Y*X+$}{7^is3 zwCX}3XsGp~T9|0Sgfa>Qm=u{y6`+k9xS$y3E5>askUS|6FODb{Hn22GnM?yduG&JO zfsW#iVallH+qmc`I}#9~mqdOs#H3@GT3lEs7R9|}G&EC~PT`Ho!Jr@e(V#y;5E|k! zp@>~)0)tF421?5A1W+bvKm)5iBq;X7tncURxzkhU#z`B1E1uzEV7_4feBC%@?bKx+Ky|fb3b5ubo6bDqiimG{h3mv3#*A_WNk-q69QmmDSpK zk6R}B{UOKvZ}T;NNBKblC@P>AS8O2R0`JE33TP!Qx@T&XT$*t2W< zQ==fc*yl#u&xApeH)+OAtsCB0EVp@)1a?5EwgKVa9isZ5u10bh zTbs(pYmL_nrkaCvC$?y7pQPE_(8O9!R{=7$9Dph-Po$av$&Mtenx?vw`Gl8-@egy?}=yTZ#j2L zS^drfPqZE0@W{|yeTdVC=Iz*?dF9bXuO1}v=GT%7K3Lp4``nec{<`G+)cX4Np6SyP z2j@H{&;Pjlg4*)J(k(0YA3l4w|Jtei=It%(k6iIi{kY&>F0N+TXwp8=G8Ul zKmG2$zjvKD`r@_EcCOOD4-(v+@6Wyd!^tBviWipc{_@C-)AJr$+GXrJaB@TG*utY1 z4lVy>+s>qI5NSeCUoaX?R31&_AQbu7Xyk;BsOj;2gu$>V$LFY*GuzP-v5y2T%6|n)hx&c z?PSpH91Tg|Xm`#Y-Dew^-}Df-v20QWMG_;fTr7BzSx)m6y(ax;!y?aBAo0F5-^L7b z1KA#~-46+;C4pcAAaS~pgqosg-~mno5)gqZLP>y{2^16RT~qBuM}oE(;uewY`bVHhHiL`f1TLWoAZ7?lMtT3y$WA(0)rLG1b-$220#ABxjF z^|Ts7F=(juqFS10!o)HPM3@9DqzVw*4O}o37AnTEEs_E$5-*M@7B;XnOWAA#KC9Yd zv4M`_juQ2#7Tc`oC^r%iv6n>tP-v5m61BLx?pPG}lBv`zU^<02CI^Fl>_>zC97$-1 zXQU!_ojD9L$qXndyK_L9qyY`g_K=|14|Bd>sB@>M?i(k;q{OZ3cRlP6N9$SOwFxAH zVv^<=kpz$uWRR026F^gi8vy+PRcMw{6QdYS2OAWhlYps6Ce&ttee60T^Fpz0I(}G0 zbm810$`dj0@)c{@tl8y7G4gEEl}Yo|)uiiU6UvsNTMiTmNZA6^6;-eRRs{tTVh|+- zF~Rlu8Q&gaq+;`{^@V+#>S(NnsS{ZSHc$lBz*vAlv4s@SiJ+x)MMI9P0&LW^Z4X^q z;;1lPEAt9djSfj^vW+c4#&mWHD^M_?#U3g)WChB)MRPc1x7{!JVb;eq=Q7W+)i$Ym z>MCOOmF8h>aDY*@FjO7XB|t9`vS&@ca~}DWc!%fG6iYnE_+nP<_tDlx9ne%&R%_!u zZkZGYGA_+pRCPp~F4;L#!a5nNP_xsGDCb6My{3=suYDCALq z3%syYR_6~75}K?Vu(k?|d?y}8A!*Cg49{B?;#|&0sB~l3DH|bx8W9{r)&!L(K(J(0 zr))B83&;{7P_Ku6z3Z|G6;qPyHFPts*V1YaA}>$qCM5DV9}F@qWZRA!jqBH8)`svO2V?tQiG&;b;}l4L8s|vj(Yg)kDe=;^;9YvcoaoB5Y;};v-9T71ejl6(2Vh`_^9`DxJMra>hCS)V<3R zpmqDE=J3_AqZ5m^uH19+(6@z-iSw<;F6?S)+I8X+O<#9s$DZSVUbuRcd+y0U*1Y}m zr4876W9jc>n^*pJ_VJEaF1NjuxIO&dvJStt+$=u=q08#U#YOO_G&jK+%cB+VzzHqCpaKHp#nQn!j=OJkPl}&2QJTVm9a? z18&!7NVbmlLqmo{D0G9^^*xShgtlLb(>(RG z7D6#-s`a8eO_VU90s}!xiY%lm5Thn8D20Wpaf}2~AVuQE5yeVPEM+O1ZNev2TP!xw zQQSF9J*vkxDLTrH1Vrc~kzWcC=^UmOmp2@X;yyA)%?zefcyn?v;KzP6;7>t9Q#^r+ z*mb5b$Rrb>q~cBiWs)W|usT8lV?WIKexZ>&y$#s_m|a{c_aC0ljcQhZJpEm^lTZ35WGt}`+%6eG*=!y=>$ z=N4g}2!WTcTFYjwZZC?Vhe&rO%~MyCu8S=wV+2J*1|oDcU=tMr({vPou_}K|XnQ(zX^F$a zc&*GUOf@Zz-c z)mNIA>Vy3(RSTuspdpL&5+wGl%Xds89}{o$TuQObb1Yx1s{O6Bbx{X&O;fb`c&}R_ zh5n37S&M3p(D17>s*)WOC9IRN3bnf2i00f#z1M6dL-ntM%TTybSyNjcAe5{-WNi%=`A%GhA!*N3hNrCxVJhb%IDBWJo-MT;HFX z1+tu$TW{zrS$X57rW;lDHP9xsx>4hXe2ApEmK)c!LyCO5LR zscyX1WW8XfIY@V6i?;S@nmv|Gq}zr@TfA-qNn_;+H4{L^krhqXHRM26o=ltnUzZyZK{}Z$ES2lSjze z4GTJ#>|OTpC5}H#+D;Arx^{QVx_1sgQrh`Z@iKRO=dH`LH*LANV&9Ly%{hJX{aNSd zzw7={TG0L4O@5b?dKs;GwJ&U)eSP-18|cma4_7Y?WiFrk;B9yDL!SqWzCUvA#*3Fm z7v{E+D}QciTlv_h3;$Xj>^z$O_KEDZn{5|{zCJ?QH}5}j{miNZul&B^#Pio4SbwzV VnYVsAKElq<-JLy|6B~Bz`5UA`%&hEeZ}viF@^oobfy9 zsM9?e(80;RES?<0CK0zkBy6i#OhJ)GNT?JGZfI3fVpXrjzWJ~u3ROrnmJ&O-L18G< zFLZhV6^ytHuq-P=!i+;h(+s&?P-I1xWL<&^fQBV&7EB2BOJvpplCuWVU3FXRFC~sf zk#9*-xm=Ey)wmbrC1{$aBrB4l0EPhJgd3p>aKpBShBOUv;P{c_xdPXSY;QbDiOkbl z2t~iC)(z`vVhNKf$d_PT<{?#q1UGU1cu=SsCs?8dTBL3iGAwLjS(Y-HCVWA)#bOg3 zM!QPPqk3!$qQmTjPo)7GdgB46yGqPrTf?z18lbbOS;lk*Z%+0{y~qnky+xAH6wgaV zkrgA}`2#UZKIA{)TUY0^^Es|6a!>UO9Y#2VS2*(F`0BeaJOvhEbEC2+akX44+kGOVcb_nFscWlbcu)O0bplf+AuI z=M+(%O1_(~TFYdt9yg4Ti)l|fB{EmzjzcU(Mo6VL1sWn0B(bIglbQ%Xl+%*7tR^u@ zH0Gy0JkCkQ=hy0sc$n#Eu7;(n2qra!vXU}2peDFBf^A^Sx{P%bF^xt;+n&H-C5{Sn zwQ{cr)0m@4L&d}fDoHS}hz5ZPZT`@SscKM7*er*$c00X-7i2uba;}O3Uu}!2XRab% zUnvpR2ZuOS3*)uHgd(#`g8W&R4=*8~6+h}aEX9f_aK2bo`-7}?F$WA?SM~aMzf+-w zp|r!Y7Shndq#fhyfIWbwH@50uv<& zQ0$y(+PaOPX)hGaf(_v&2ZKGgM1wiR@=<`;MoNP)CFTOJC?MZ2IJjC}QpqLt{i#`y zLgWdv?Pt-X5gIsiI55{r(*@yww6`SVme&pc&A6MqND@CF)Y^db&kj-hPuDWp#n+~~ z@mdS@g5`3M?Zg&q?MpO!0!?h#2^}EQumRM0c_Q5eNX;p#ZWubwAB)n~-+QXRC1AI(p1r&r&9=451V8adK8GdOeT)#o-&A-M9Mjz7No^P?^8*IwH^ Y6Yu@x@`X2c@>6uruD0#LT=By}Z;C1rt33 zJtM=93Yk-ZifTMv978PpmrlIM)u6!R`d3W!%K!fdu6BwkPA~dekR^BX!0wc^{S$<| zG_O@}zcwrI{P(^oe&>E}lw8uIkjkQ|EHi(5xfaLt|D_!~E4SW~NY+2kxTgEa%J2jR z+biuqKC!%?I9(8;RQ6EQ&HEFDI69X^PJbVx_|$5eS$gjEy}cXdnt<+L@O1TaS?83{ F1OQ&3VJ!dv literal 0 HcmV?d00001 diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/light_blue.png b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/light_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b017a448d929aeef6bdaa460b18898cd60d3cc GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwr2>%=KS^iVk_YIEGmGC;#~W-`-VXwE~Cx{J)>-&;5P>|FwSo|M`WFlmj?+Tdip_ z$l3PnRsHs@<_$h?J}LBsP7r}%9<`$Lb<9CGL?0Y_nXXWEV9p!k`2V}t>|+yCU}MkU z_qG1r-}??~R~lA+um8LKZUwiF15a60{p0$Br7Fyi^lI3PJq{*{*D+~ku_~zo9iR!s zJl6TU{@$;?TdE+u+lC`ql;vTE_x}IKV}E_!|N7bb|1+Q0F|=-2eOSxG=HGb+2Ag&N VvzjXwDFc1O;OXk;vd$@?2>>j9g(3g| literal 0 HcmV?d00001 diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/light_gray.png b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/light_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..fca72ba2ef01f6cb84d45a9d2456ef5790cde5fb GIT binary patch literal 2956 zcmcImTWl0n7+w+~wMZhO1`Nh=@S!MY=RUJDVS(B$bk!}TEMZF^a^{>f-AQ+6rZdy- zwu%OVMDg}uGz1JWk@yA=MvO=d-i^d~eZa&Jq9z)H#tUygi0ACBTWx8BGRfS|`Og3U z=R4p3pYy~(|E49Kw{<2Gi6z;-%piT=$nK6s^m)gn%aFdV5Bi3pL}KwWb}vXAesOss z(K+ho3vnU$fQ9^W5@O#b$!a;E=tN@e`f32t2#GnH47*;M|Mm14o^x@U->&7vT+l;` zZr@}`wodlv(c}m+F~5Etx3+3g17#9Ju39d6kyTCeHM+wUv=}8eFQIt8uOiH?{>f#zs7G+ToH9?Yrq+6nDNe0)rciw$kWAAQL|Kq!KoKCC@M2g6UbL!dAwwb*x**~+aHV5JdLzI zg>uj`>qQNkC}Bbs27;6n*_3KPj9R#0EG*TWVz2ns5s%BtOJV>Ufna6MnZw(HLe(Xm@e-;v2-P5Ru zU1t`DtY;dORNYyitfvJHte%j-*bno*UutS+pcxw{OG%mQ+U|PTuSBca#2W)h2F4`K zGa&&n1r#wa%a$lvnskpyKg2pTN2Q5j4BNpb#ph+wl66bbrh$FzIumn3F|r&#EJM0* zZW#^}A@GK4-f}rB>qRm25XolJJPkGJy4ccf!06j*eBM zIX>f~F(xWDzMfy$N7P1ZH7tlEU6TwENVcv5l2RRD8nz8&TZfvVI?%*+)7s|Hr6~?e z?N(V-m|Ap5N>>oJfr1SJQdpIMDcS6yVN+2h#jq)dQ+|8=k{{-LOgUG0j;*#u&C^gJ z%da#qH5v;{s->}dqalm*5+wF)^bgI^Kh?d>b1B6#&oRANHUC>_>7oJXnx<%t_5rs_ zN`;I|S&Qm{=l;JtELYOW12##MlbjeU9QPK%;OhpG8QAJ=YngR5b ziEL4k36ZEaXA51iB-N6YW)59V=ndPb2)$uKHz9$)`pKja)diy4fuU+9a5U8bP&HLx z=$cJL?8qqyXPV561>qV`2KnAN3EPAfz!1`nl!Q^5cS66+!5}EPsFq#AxQ842Q!634 z*ypCo&#a_j61r^~X!p_zf%_l*&8fKgRl|QP?iw$WzzzuYG9di3Le&2=btX5mwW)2q z)=afvz8a)Eu|-S!9K{|>Cem#~1JKlMAZaW;A=Nfi99hwHT|-Vy(af6vUyD7{P>qJR zb5pa49>&;b>l8?TTIWdO(Yy`mDY4^&Eicd$<~!L;cRuy>$>*}2`#0Rs`{=RT-`>&H z_1);&Q|Fd~>$=}B?B1y!e{I>p^Zt>utDfJRxo&fH!G@zh9@%hn?@b5pJhWoZg_qad zzvIluul@|a?itCA?Rv8O&F&v^e{5g4>8bDgK6&`hg%{Pyy%##ZRNqP;yeo@ueY|7k zN2k{OzURSxT;cA4`@a2j-E#E#>%Z{D!;3yV^xl@^D-OV;&n!%A+qSF!ua{1~GW6U2 z%bh#V-SXL`{?iY=advd&;-%fIA3JgJSl7Yx>%RCZI+~bxxBtyYetLEjJ1=K@`!gr* H-M#N`M6$y7 literal 0 HcmV?d00001 diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/lime.png b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/lime.png new file mode 100644 index 0000000000000000000000000000000000000000..d2dc60135013ec9e10526454befabbc1c13093f8 GIT binary patch literal 2974 zcmcguduSX*7{5ZReb9O}P=f!s-T0)P+ns&g?$B#(bEygS(vX}qMbymh%-t=y+uiPN zl577FB8YMo>!;X|)O}h(!<-^bes>|4@WlXYQ3mlP1*1!oKGF z&G-1t_kA;u_4VGpeCbU~6N$v~p6+Zvdnft5_&WBy`Ijr0y_N*s+oMEcSsT9>B%a^j zo=7a+;pPY9!Q4H_@hd4ze4D1Km4KlWiFF&Q0d|IIEZDT@dKvNJ#QUP)l8m@b&&j!< zla}1>T_GLV)th&A4LcSQH>?-dRS{EAp)nS!m9iJ1YDTQ-MeLgoOQKMN#KReJBR41v z=K6$AKcs?@l7S=3ijcNa(9kqPUMncFB1^I^K?Ohq$r^%bp>c`KT1X10KfAeMi~VK9 zQXB_JlE%iyQe$e$4~r7CEK8CVNl^epfM}-|<0|l?j;4kzjhxU8V%PTst`Xb*NSqOw zr}YpjK})R{HE3dlNmU$3FeUSlYCz(&aKT7et{EqeM9Z{7y*Of6*upZFa=8|KMzxhn z3mwH>qs*g5Y%`*x{LX+%{WS7NLWg#ZGK(Ee$D+8OPEs?E=?vbQ9F+Xnk4pY5B(%iS zsEFOdEC#t`8kAPuS)g3ff(EEFq&W7&yziHrxzpG5O;BJ;5$@RLdc+@#?&N_tCeSR7 zX-4FU1Y{Gaa$Zr843Q4k$m~O|Lvt)O36Akpu*L9sMMj#5G<_P_CvIWqoKWJRf*)2e zTR69Zi&P4{V$E7EhkCpy#-2lavKf)NnsQx&2vN;+fhquNjs{o(6o6@C9hfR6R4tgQ zNz={wS>GAqNyX>a>x=jf)6rTDLfT8QE-Wcz5 ztF%0rbs1|>-4SD|Wczdp?_|6}QMVhhoZH#xH3M`<2GFS{16$S8 zz%VVxmQ{sP$Z~Tw*Hr{Hq^Qjrx)#?Px}6gCij-|al6dXGXqE{HrUoDsL!hae1~AoF zY_?@!*^;42S(g4im>Cd}u>i}DZ4WQ1;6YCbhYC%zT!_b`qYxZ?-{D0c)c@EWR zm~w7v4za@+|7@KC*-z^nNj+A#Av+}=_@wtNJ7Ip&liip%cc0udv10tLWLI(F!X-Dj z$4(quecMN8B<+ubi{QcI$KQgNk{{mRzO3!h_s$%6<;8FJOsFTiv+}}~iJ>3S$??O( zZ-1U&+wD3}g;Qs@bapIQS?+pd%kKv+>!qLDR$M;6bvr6?A9iL~Mc1&czUP`p4Nl;A@iD*E7yT7{}b1Rt$b&=Rx=E%lteWn+^j)XTu! z&i|eN@}2+x&zTw?dU{RwBi*rBY)xh`Jwo3-?C!dkJ~zzWLiDxT9~=u~vHRAt`<~dD zx7NjC-G`i9KFViz8Q3ewk>!~rUMu?)9gA(X2wW#cyW@ zxqNn*>-Pe}X>lN6039_L!zN9XFtLVw5yk-vsSdPo8|PPoQr)fV` z+vqSFn4lgtV_Os*<|ch2j*!r+1egp=P>UN|j)l<(nWtt2(%ZNKt$gy)U9Q+M#c>zS(WqkpL=$nyv~2TB-oCA_>W)f&|T!G$140mUPn6wmWcW ziK9}dR_2vOHQFSp$=EUl*-8*0X(>?9p~)VqrOOJG6DH+w-fq8F@`9{qQO;$aW2MO;==3t(sYN^r~Oh|xUB4p2|d~6x{ym+tcP>Lm%7B(EwIwfNZC9IRN3N;3ukmlTEv)7E0L(Q*}!_|w@K)4YCX4y$BzB%kH zvcM~&vZ1zGB$TW>WNiZ$dUjMr0oh)l3@=+1;!@6sXyVSU!-N6>)QDi~vL>iR0fH&3 z2|-Kh*aWgf2u!p>zuk427LXyyts1%;*PFEBB616aZbBk|_rchbj3t=Rgap)WTI4Jk zQ<4S6l#rH$60sAs&~9IcMH|9@91Ql{2@-T9mX88NH&POWDc%meGKYM>T}$X#A%eOzvQ7 zQ{Q-vMSH;tbCB-D25s%jG z4%KPsI5)M1=wXa~woifdr+tnjF0I>uo)W+O^yUCPVSbTGZ_g!9&%Cy$`{jp>)R7G4a$sU16jXI5Q!aLfMd zSNCptZ0&Qa*WKTn9-rE@Y4$97*_o=xb@vKN=+x%T}>_QR3yJ z_a+h@d)?efJd)jRV!xC`wr`PSwG>cvBC)Bf8X&xf#GFO)u9xO7PMzX8*G}`h)U1>Z zdPu?Tp9sm$iNPG6*neS=E+G zEp!z3mZ?XL*k(mXx$%IA!zA*@LQHzg)Z)6PV^KUzrc<+k=@j0Y92ET6j|%=ANoa{@ zq#|~mISew%3@E9(b3mD-1r5xekf7KPbG~0}a%ZUN8wWuWau4ltJ=?ED8(83t2_%DJ zlI9ta1SuuRQVv2>0;UQcmgt96hh`}?Z4{$+utD)TD4DWuLS+Wnw_Rs^UZ{;t#}7-0 zE}UCJc_Id0zGf|(H3z&XMjj>unKVybO}egaLQT>%TXF=bAXTt{0)>=rK>;Jnu}O*m zqFK%P86S@^QnC5<`m%jYb+lH)bR1;svf>B?KwD6WVhbq=(+bmprRh)s$f(Coz1b1E zw8T-dT`Tj-rWzfR(qwE~f^6$VNZASy3}CT`Y8$cwWZj~ArtS9lML*2?HqE)rb8NMl zdg>}-^_Av9V{n8~wK!HE)S*N#5wK@NK01$lTKt&j(iB6UV|+1d_IJ|OMIF#oRaP70 zLvEE6M=~zWT2yyLYnP19l(0_5D%9+EBg(n)Mz7gP_BOtXE>|l`6XALYn6Z=Cd}G+1 zWq}u#%DUQ0fzV{#gtc{86cftL8oCwN8)?M_?a*|Qt_ zQ>!4k*ypC(&zwoKN$9q5pxsK#1@2$8H!tHB)(!vnMH1Noq230>zjuiGf2N+vKDIWs zjn|yD7c7v2bSE}xYoDjt+rYq@rK%P_KZWd zG_;+YnnUz3#y(r8K>E`zygKvMg#({* zYfjv=`plL~KVDzkHMp{~x8uHLos*L0{5G+4{yJD|PIXA zxszY7Ub=Yuhf|Zkbsiesa3Foh=TjG7eKY8Kak=;4XGbm^|KS|iwsrlXU(P>q{ejEN z&c61|`KOJ(w+8lYJiO!E(atXxe}CxLgJ=Huec$l@Q&(>Pa+~qpQ&zN_9hV1s2QzPP H*?sUYR2aqb literal 0 HcmV?d00001 diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/pink.png b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/pink.png new file mode 100644 index 0000000000000000000000000000000000000000..7991ef0d9f8fd47e53bb38013906c25abc8d0818 GIT binary patch literal 2930 zcmcImUu+ab7(Y!QSRpFbM2N=CLX1TAc4qe9?aD!Fuh<%|)bI5BynOtN_`p%TqCyWL|PP? zr_B(8C{r6IEt(i%aveu9%mW@$1L!&#E}Dp|4dbpOlPU>Fm?jJhGc04NT+ZMNsttk+ zouqw}%%fIp3!;Q<&q2q4Fpq>McKM-8Ysn@acxwVF;gl3b zo=6fXND8PRWC3Vt@JYZvKoeSKsp;YrcY;lZuOMJ)21~qoVCwqb)RIuwu{;_Fm@S+i z;4vac;aJ03xoi!DNs2><43vr@b2ab#u0>SSaSZ|_L>wYPsOpjpU_ml94D5ogW3QmJ z=a;B6!IO&5Z`PMf9i}5&4a-HU0X^4cI=q4e995OD=DCt$BV?#bff%OO*0v+|S&8Fn zr&jKj%QSkVpev4ROA7N%D!3|?Olb3m=9-EM6~ks6&e`pyRT`J6%Q$D=^3}GOdgdzT z^;HyMYjBjOYIUMHXdu8Y8S-aKzIzGzoOoyGGm4QY@O-fv_D5LjVh-q9bS3Cp>uR<9W$ds|;sUuYDig`H*y4$n^FimhRPfdyV3 zl})v^al**DMbn&QHaU6~jwh77N?FWNx+dxo7lE<@IK`NFoFxd`6 zSgAm}U?9z2D3}Es!W|CAq2VNnI}$6xF=iVniIbw}#WWCb6jgnvQC;$6=(hH!tRRJy z3UlpeQPNxz`yDyZX(e+(_#f>pnQ_bOhBp_>9bP1v9}t>tK>l}!X#SU)Om63E)7W^e zg?hnqbCB)C7HjQGHG60}x@~9@Hg#Kq8ZS?*nG#k!q-eUXIUeR2&9%}0+U$7_HE8HK zH?@b@VT^xfr$F|Tog+!e>NaMl#Qr}n?`J2>V*{n0O5v^Zvprp3fbPZhYyjvQP2&diV7U+-S=RDPyA7}@mc)!>yYzn$Co$$4XS?s)M1;msdinOXbD>X)zY z-}r<3{I}1(w(r!syFXaB|Dtg2(Fd#@Z%-W9c5TDiLpOGwupjSQ{pNIkeB$6QYt)BM zsRu8wJpAE`t?N$ye0=@8U!6VuYVU!ov!Zw7=$GBj*GJC0e|_Xd8x7_6eSGosrPmD!FZdUIdk0^SrEG|t+-Ij8j9h;GiT21j_l41Gt=%a zA(SeYm|%D?Mgu6CnE0lV2Q*@6qsGJ=^+iL14`M%-sZBQne+xfrq zU%vDI|2fa~u3x*T{f_onEVihpJJm#5KCck@g7>nI}8@=bn4jx__ zi?wfaGW}71`Y{7}g*dc46UR#hpP*y0m8(lWL|bvhm^kaWN%q&{BP`=sNp_Qx7SetP z&N73mhcdKI&>WDo@f96_d3$h)CYO0reG2KlDLJj+xe(bgoph8kr0 z)4fcG7hpz>3mg&zkX5M%>rO#NbswZO8CzEoG;7WqrE zxhV1to-Y=Q@uC#>f-DboUFQXn7e$UBxUlR-u*A9H@`i>K4pHFvk>j}x)d)>*AWE{t z(^?1xzp2&@>ogI<_!9Ja5Ep1jRiK5MIDa6>SB+bU$9Y`9ZWIzMXkrOV>2wo5t=dAN zi4LRALE=$8wrSB}rtD+B4~O1BfNzSI3dAFLPit~0T>E+Kp-DN4VosYX~77#f^~w=h=QSr1`wuzJlEvk2!B%h1&} zh@8?Sv%f%Jp8e5pS!1{HLPw?`i5LT|5&D&`O9qe)QEJrCwYXlV73H9t#bguW*=r95o1%sVlE^aFMNTJW z!9h)wIa`txo0N+xn0UHirfmqtrlxRES4|Emv^=3g(ps`bNl{e=*`(Rmyz%~P zv!^*!rJ?2A)EFX%G5Xm&1(KiUITE|1ZUb^kJo)nIhvbBLrYE%~lXxCYR4S|Iuh_L` zczF2rwP^9)-R%d?4VB|}?;RW3DeU;;;vbMNAj nk;=%0^S6KFn{UVu&5s>FvF_MO?duomdAg@_ed?`8o_gjVq1)ux literal 0 HcmV?d00001 diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/red.png b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/red.png new file mode 100644 index 0000000000000000000000000000000000000000..d4b83ce383d473d470eacd5dc95d67ece9a5d8b1 GIT binary patch literal 2961 zcmcguYlsz99KT8USd~QW!4fr$D=0O0&Y9<((d%okx*J|ycW<~W6rDM9W_R-5IpfUi z-n&wXl2Cz?L>l(^R-a4)S%r#P2qXGp1z{hOB*CB$y`&-#>YV$S-OXKhvB$u?&i{A* zkKg(K|K~j4vvd2>w)VD6CbP7=tI*5d%lN%;K6^fR{ZGVRi^8sfIFnhtg5P&!PQ7+t zCeyaxFZCz=#T_=Ll`L|pL$b9>$k3V0`i->^;e8|#95Uz!dGW{hJ`@Gt&5L{VA}EHP zWXSJ25RtwEJ4^V$K5V(-#tp*yn#~kcNP>h~r5wa|Eicyf+U%PT%c4++B>VE>W^PdE zFZKwXG$MkL1ri285lkx!4NWt^!-4`7AOl^7iUbWCXf`y3<|Q&~k?YyLg>6k+>@P14 zB}r(@aMH7ST!wKNn+j3Ylxd>RN`BXa0)k{6k$ zjSwnfsy2w5G%>>D8VY5Y1w5oW(8Vb(9FEF$<1Us-nN&!S#0(2lEMuuyOySe2tyEHU zoNOIo9yMc|79E#HLn8N*m<~snY#m`1SG63AlU_1G%^apPcse;8q6v+M=nN#J;we-l zzBhwGE|~%)HGc*um!#0p?u-aZXjG!K+{&GvmT!Urvx=~0j~}?S8n5MnHz$w+N=RPh zi6nuXq=J&7*Z|r(dJJnUct!A9)Nn_ZF5N*t9Z zYvo?K+$)kZRO~vE>Y7B#xf+x#=~_*Jjf&J|oU5Y1SDUM6t|DGv zc@Z`T`+2IChZ}>Y0@x)({%pzzW|2>b9}Rp)u_6jQU+lX5KGwRJ1BR}vdUL$TuaR

v`_nD( zoTzN5tqu`J)-AHO0gI`ZR8d4W4>E>ltqOT2=VLT-YuBNvK>!URd6sHOI?;gSsJbZ` zISV^LRS1D*EA*RPS8b@-irOl;+i|@~D;`3@AYq%3EZ%-FhKCd_r@N8^ks>)cO_g${ z;jnT?gq513VVz~u&Fe62L->z_!88~l(WJx*QH0n=N}@O~dJ(M%C=AO!u2+{l61dI% zDJ@7Lp~6J_nUOS?ME;~4m~16=LHHN#&6;s@>xTdPBFX%K&}akl-#bL(ztCWE8(*9H z#%oX43+9@GY$vu^YoDdryU@ahW3s)%VtEX8UYQ&Q^>`aluU*NEuU)wJ$lLIJIRC`L zb8Eux<)1$lFZt-?rhAW%eS6}q({Dbz`bquZj?Wgr#bW!7!}p&)cEy~x;Nq+03m<%c zJTsm-@yOA8ejdB_tFwF8J72W-{qo|;)enq5zWD32O9lph+xun5>gDI6?eoURR&{*y z-08dNA?wDT@iiCDTwM~JH$Po>i7Xnw)V_cBPu8(@zjs`FlCm&>i{?{kLe`%d;>b{l=JyK)uM*Yc=uB+2DgtYQCKa)%Dz zo6B|JpfsEg7az3|spg?aT%500BZ|)Dx;ED%h{kZrxp*`P3;gAGKj68*EATtDA}B^Z zxE%EDj`8;010}S33|St(`C+cBZc_zSoI?tabgaO4GlSf4 zagggFG3N9<5D)+|XIObjS5+N!ax##C2sBZW1xdGoYD)%}{dj6E_I!KD>CJ4>uL56A z)5sRZTCJ9^DR~l)ijrknB9KK{7AQhUCc_lgg)mv)(%|3(#X*z?B;=Sz=#ufYz*A3~ zAylKb+Azt|L=z^~VI)dO)DCJGxL(udU3%1rf z1dTH~vGvW$@(7|j+WTPpGO`TMf`TO@NzisS zuRN;J$EL0z&lMEUz=G+il3+c*{15LtB_Sz zftRw$VMfx*cyrQ_0sV;*duH;HMdUN$9brIIEb|;=iruikoi;7%fUaqZmdy_abzB*C z0-Cj?=?D$Kv7#XvnJZyEjMb*y7bKKzlUbM9j-Sj%m4IuMqYY6r1jKlWJwBTb=Gow- zrLw8ER>m}0*WqgumJmO!!5DXs(hM(J58^`3Cvf8Wu1kh00ZGS#Zz;N$5!bV{qB0CeF+F}n{>Fn*B-2o20}8tC0YP?ES8#!$ z3aW{ajuc=3W!_+}Z3Q%&w?5Aa2(7cz-%jR7r6h?-lB9{S}VM^Qf}rBiR@C)YyjfFdqeZvX{NE4ZA{~^ zwdd;sOJyHDeQny*7isgJWFg%(Gyz(=D@YnEOsH7`RD4;{bX`L}Jv5r$kpJ4|8G#yU zm~~fbP0$2$sKYrAC_Q=$_moC`mp5xojf4;#xael?0y`QR|T-tc?^iMpueC!hLfBEOmv+<=P z8#})F^4WuTy9eIbb?Cw42Uj2a>gZIj^Z4|4FFd_|@2-2M*ZjTd)EA#wHT&B$J5EmR o|M2kOf#;vOaQWQFU4NYuJMS2{vaI9vGP@M_Zy9h-KC)}iKTfs1W&i*H literal 0 HcmV?d00001 diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/yellow.png b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/block/network_receiver/cutouts/yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..b6fcecf4b17229ac8d7617a79e9b1e19396e6395 GIT binary patch literal 2955 zcmcImZD<@t7(Su2n%G*jN-3i27W}}@?aY4OF1?nRYnl|Vrs+v9DA?KAx!iJhyPMrj z?h@*c)>14Qu(m(M5Be)0Es8~2!J@4QrJyLbRFLWqp=y6rDk?=pj5GI@#3oIsc45Ef zedhgm=6&Cp{ry`vFYj2>kw_$#_w{B5*n1_vZ(quu5B@fV+3Sv=cQ8sMI`854ZHd?4 zT%AaC47<5}oXiIzfgql%OUd86e$)s)Y=pd5O$g=oGAhOi$Am`%8<( zI1VgHs#dGXs*?1>AqknLDM4A1Wxx<18uMaY175VYr6EHj61qX``kufwV%r~y(<1Y< z5ke(stM#HLO^h(9h64#DArGkzbVwT)jD+R7afe8>Oe@rjBZft7EMqB~ZNukOTdB0s zQM_rCdDM(;PIQzT3#c?eBYz|$bkiuaxVGh36c5m8Y8Ek_!P}FAq96NF(VvHews;m5 zv0IqOAeYR7(waLDluO#s!0HYuj{Pv_`{h>d^tXHyWR#SJM|ZfM<5#1{c;L+mG=pQB z7I`88m;wsS$+88JrJ=_m`+yB-mZheHV>}aVGJH;kmXfj*Wfs_X+``y`P={CrKdfN3 zaBc+;Q7Q0->ejMZtIvyK>=D|RNsG+Yr0Y5sLWmLtQXtDR0j8o7fQ^&}4Ba+tRdrADY8_M2cZE4yWyQ`(;1O`VQk<5e2^57E{k$ z#k{`KB5Drid8(F28iR%m*(D+VY{~~0kWY)B_FP7>EDAhdth)W}taUL5bWKyV=6Jtb zqvd?YWvoRFM_Bmv8Fk6vYzgmVyh5#BH)1(A*6cOg>2UL_>ptHgP`n^dUZ*op3~f) z+65`ZzA)W><|WOcp*tf7W?E^xApDQ^7S6aub;Ik6^GbmdYL#}8gyu?OC{@0su9 zSB7hyWY^SYbmoJVuPwRU^AQ|AaB$`CCx5;+S(%K3P49iVxh|d2E@u=Gnh5@9g+-#r_Y!dE`prXy+dj!e{3$9PK^7_xWX? z3w!hHwrv?+weRB>g#Py)zUvF~?KjSJ9yzk~r*AJE`7>WSaCW?F+luaAC(fEF_I@x-n#U;4`Y{_CrMEt$BIy>#u^hU5IW+_!0K=G`ZD G?)e8~62-Fs literal 0 HcmV?d00001 diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_receiver.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_receiver.json new file mode 100644 index 000000000..4f9df536f --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_receiver.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "ANA", + "CMD", + "EEE" + ], + "key": { + "E": { + "item": "minecraft:ender_pearl" + }, + "C": { + "item": "refinedstorage2:construction_core" + }, + "M": { + "item": "refinedstorage2:machine_casing" + }, + "D": { + "item": "refinedstorage2:destruction_core" + }, + "A": { + "item": "refinedstorage2:advanced_processor" + }, + "N": { + "item": "minecraft:netherite_ingot" + } + }, + "result": { + "item": "refinedstorage2:network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ClientModInitializerImpl.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ClientModInitializerImpl.java index 338e5269d..f02216b03 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ClientModInitializerImpl.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ClientModInitializerImpl.java @@ -108,6 +108,7 @@ private void setRenderLayers() { setCutout(Blocks.INSTANCE.getConstructor()); setCutout(Blocks.INSTANCE.getDestructor()); setCutout(Blocks.INSTANCE.getWirelessTransmitter()); + setCutout(Blocks.INSTANCE.getNetworkReceiver()); } private void setCutout(final BlockColorMap blockMap) { @@ -144,6 +145,9 @@ private void registerEmissiveModels() { Blocks.INSTANCE.getWirelessTransmitter().forEach( (color, id, block) -> registerEmissiveWirelessTransmitterModels(color, id) ); + Blocks.INSTANCE.getNetworkReceiver().forEach( + (color, id, block) -> registerEmissiveNetworkReceiverModels(color, id) + ); } private void registerEmissiveControllerModels(final DyeColor color) { @@ -223,6 +227,19 @@ private void registerEmissiveWirelessTransmitterModels(final DyeColor color, fin ); } + private void registerEmissiveNetworkReceiverModels(final DyeColor color, final ResourceLocation id) { + // Block + EmissiveModelRegistry.INSTANCE.register( + createIdentifier("block/network_receiver/" + color.getName()), + createIdentifier("block/network_receiver/cutouts/" + color.getName()) + ); + // Item + EmissiveModelRegistry.INSTANCE.register( + id, + createIdentifier("block/network_receiver/cutouts/" + color.getName()) + ); + } + private void registerPackets() { ClientPlayNetworking.registerGlobalReceiver(PacketIds.STORAGE_INFO_RESPONSE, new StorageInfoResponsePacket()); ClientPlayNetworking.registerGlobalReceiver(PacketIds.GRID_UPDATE, new GridUpdatePacket()); diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ConfigImpl.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ConfigImpl.java index 49f8c4428..0a1468184 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ConfigImpl.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ConfigImpl.java @@ -75,6 +75,11 @@ public class ConfigImpl implements ConfigData, com.refinedmods.refinedstorage2.p DefaultEnergyUsage.STORAGE_MONITOR ); + @ConfigEntry.Gui.CollapsibleObject + private SimpleEnergyUsageEntryImpl networkReceiver = new SimpleEnergyUsageEntryImpl( + DefaultEnergyUsage.NETWORK_RECEIVER + ); + public static ConfigImpl get() { return AutoConfig.getConfigHolder(ConfigImpl.class).getConfig(); } @@ -169,6 +174,11 @@ public SimpleEnergyUsageEntry getStorageMonitor() { return storageMonitor; } + @Override + public SimpleEnergyUsageEntry getNetworkReceiver() { + return networkReceiver; + } + private static class GridEntryImpl implements GridEntry { private boolean largeFont = false; diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/integration/recipemod/rei/RefinedStorageREIClientPlugin.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/integration/recipemod/rei/RefinedStorageREIClientPlugin.java index f11ede392..789a3d5a7 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/integration/recipemod/rei/RefinedStorageREIClientPlugin.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/integration/recipemod/rei/RefinedStorageREIClientPlugin.java @@ -88,6 +88,7 @@ public void registerCollapsibleEntries(final CollapsibleEntryRegistry registry) ContentIds.WIRELESS_TRANSMITTER, Tags.WIRELESS_TRANSMITTERS ); + groupItems(registry, Blocks.INSTANCE.getNetworkReceiver(), ContentIds.NETWORK_RECEIVER, Tags.NETWORK_RECEIVERS); } @Override diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ConfigImpl.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ConfigImpl.java index 782b8fd36..b8ca777b6 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ConfigImpl.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ConfigImpl.java @@ -36,6 +36,7 @@ public class ConfigImpl implements Config { private final WirelessGridEntry wirelessGrid; private final WirelessTransmitterEntry wirelessTransmitter; private final SimpleEnergyUsageEntry storageMonitor; + private final SimpleEnergyUsageEntry networkReceiver; public ConfigImpl() { cable = new SimpleEnergyUsageEntryImpl("cable", "Cable", DefaultEnergyUsage.CABLE); @@ -64,6 +65,11 @@ public ConfigImpl() { "Storage Monitor", DefaultEnergyUsage.STORAGE_MONITOR ); + networkReceiver = new SimpleEnergyUsageEntryImpl( + "networkReceiver", + "Network Receiver", + DefaultEnergyUsage.NETWORK_RECEIVER + ); spec = builder.build(); } @@ -161,6 +167,11 @@ public SimpleEnergyUsageEntry getStorageMonitor() { return storageMonitor; } + @Override + public SimpleEnergyUsageEntry getNetworkReceiver() { + return networkReceiver; + } + private class SimpleEnergyUsageEntryImpl implements SimpleEnergyUsageEntry { private final ForgeConfigSpec.LongValue energyUsage; diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/BlockModelProvider.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/BlockModelProvider.java index 3b4a672b7..a726d4e1e 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/BlockModelProvider.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/BlockModelProvider.java @@ -24,6 +24,7 @@ protected void registerModels() { registerGrids(Blocks.INSTANCE.getCraftingGrid(), "crafting_grid"); registerDetectors(); registerWirelessTransmitters(); + registerNetworkReceivers(); } private void registerCables() { @@ -110,4 +111,20 @@ private void registerWirelessTransmitters() { .forEach((color, id, block) -> withExistingParent("block/wireless_transmitter/" + color.getName(), parent) .texture("cutout", createIdentifier("block/wireless_transmitter/cutouts/" + color.getName()))); } + + private void registerNetworkReceivers() { + final ResourceLocation base = createIdentifier("block/emissive_all_cutout"); + final ResourceLocation baseTexture = createIdentifier("block/network_receiver/base"); + Blocks.INSTANCE.getNetworkReceiver().forEach((color, id, receiver) -> { + final ResourceLocation cutout = createIdentifier("block/network_receiver/cutouts/" + color.getName()); + withExistingParent("block/network_receiver/" + color.getName(), base) + .texture("particle", baseTexture) + .texture("all", baseTexture) + .texture("cutout", cutout); + }); + withExistingParent("block/network_receiver/inactive", base) + .texture("particle", baseTexture) + .texture("all", baseTexture) + .texture("cutout", createIdentifier("block/network_receiver/cutouts/inactive")); + } } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/BlockStateProvider.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/BlockStateProvider.java index 208e90ddd..2a4249ef0 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/BlockStateProvider.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/BlockStateProvider.java @@ -5,6 +5,7 @@ import com.refinedmods.refinedstorage2.platform.common.block.ControllerBlock; import com.refinedmods.refinedstorage2.platform.common.block.ControllerEnergyType; import com.refinedmods.refinedstorage2.platform.common.block.DetectorBlock; +import com.refinedmods.refinedstorage2.platform.common.block.NetworkReceiverBlock; import com.refinedmods.refinedstorage2.platform.common.block.WirelessTransmitterBlock; import com.refinedmods.refinedstorage2.platform.common.block.direction.BiDirectionType; import com.refinedmods.refinedstorage2.platform.common.block.direction.DirectionTypeImpl; @@ -61,6 +62,7 @@ protected void registerStatesAndModels() { registerWirelessTransmitters(); registerConstructorDestructors(Blocks.INSTANCE.getConstructor(), "constructor"); registerConstructorDestructors(Blocks.INSTANCE.getDestructor(), "destructor"); + registerNetworkReceivers(); } private void registerCables() { @@ -257,6 +259,22 @@ private ConfiguredModel[] registerDetector(final ModelFile unpowered, return model.build(); } + private void registerNetworkReceivers() { + final ModelFile inactive = modelFile(createIdentifier("block/network_receiver/inactive")); + Blocks.INSTANCE.getNetworkReceiver().forEach((color, id, block) -> { + final var builder = getVariantBuilder(block.get()); + builder.forAllStates(blockState -> { + final ConfiguredModel.Builder model = ConfiguredModel.builder(); + if (Boolean.TRUE.equals(blockState.getValue(NetworkReceiverBlock.ACTIVE))) { + model.modelFile(modelFile(createIdentifier("block/network_receiver/" + color.getName()))); + } else { + model.modelFile(inactive); + } + return model.build(); + }); + }); + } + private void addRotation(final ConfiguredModel.Builder model, final Direction direction) { final int rotationX; if (direction.getAxis() == Direction.Axis.Y) { diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/ItemModelProvider.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/ItemModelProvider.java index 67778356c..cb5fcb142 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/ItemModelProvider.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/ItemModelProvider.java @@ -8,6 +8,7 @@ import com.refinedmods.refinedstorage2.platform.common.block.ExporterBlock; import com.refinedmods.refinedstorage2.platform.common.block.ExternalStorageBlock; import com.refinedmods.refinedstorage2.platform.common.block.ImporterBlock; +import com.refinedmods.refinedstorage2.platform.common.block.NetworkReceiverBlock; import com.refinedmods.refinedstorage2.platform.common.block.WirelessTransmitterBlock; import com.refinedmods.refinedstorage2.platform.common.block.grid.CraftingGridBlock; import com.refinedmods.refinedstorage2.platform.common.block.grid.GridBlock; @@ -42,6 +43,7 @@ protected void registerModels() { registerConstructors(); registerDestructors(); registerWirelessTransmitters(); + registerNetworkReceivers(); } private void registerCables() { @@ -181,6 +183,17 @@ private void registerWirelessTransmitters() { )); } + private void registerNetworkReceivers() { + final ResourceLocation base = createIdentifier("block/network_receiver/inactive"); + final ColorMap blocks = Blocks.INSTANCE.getNetworkReceiver(); + blocks.forEach((color, id, block) -> singleTexture( + id.getPath(), + base, + "cutout", + createIdentifier("block/network_receiver/cutouts/" + color.getName()) + )); + } + private ModelFile modelFile(final ResourceLocation location) { return new ModelFile.ExistingModelFile(location, existingFileHelper); } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/loot/BlockDropProvider.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/loot/BlockDropProvider.java index 799c7985d..c250309a8 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/loot/BlockDropProvider.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/loot/BlockDropProvider.java @@ -30,6 +30,7 @@ protected void generate() { Blocks.INSTANCE.getConstructor().forEach((color, id, block) -> dropSelf(block.get())); Blocks.INSTANCE.getDestructor().forEach((color, id, block) -> dropSelf(block.get())); Blocks.INSTANCE.getWirelessTransmitter().forEach((color, id, block) -> dropSelf(block.get())); + Blocks.INSTANCE.getNetworkReceiver().forEach((color, id, block) -> dropSelf(block.get())); } @Override @@ -44,6 +45,7 @@ protected Iterable getKnownBlocks() { blocks.addAll(Blocks.INSTANCE.getConstructor().values()); blocks.addAll(Blocks.INSTANCE.getDestructor().values()); blocks.addAll(Blocks.INSTANCE.getWirelessTransmitter().values()); + blocks.addAll(Blocks.INSTANCE.getNetworkReceiver().values()); return blocks; } } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/recipe/RecoloringRecipeProvider.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/recipe/RecoloringRecipeProvider.java index 9d6cd3443..0ccedf2a8 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/recipe/RecoloringRecipeProvider.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/recipe/RecoloringRecipeProvider.java @@ -57,6 +57,9 @@ protected void buildRecipes(final Consumer provider) { Blocks.INSTANCE.getWirelessTransmitter().forEach((color, id, block) -> recolorItems(Tags.WIRELESS_TRANSMITTERS, block.get().asItem(), color) .save(provider, createIdentifier("coloring/" + color.getName() + "_wireless_transmitter"))); + Blocks.INSTANCE.getNetworkReceiver().forEach((color, id, block) -> + recolorItems(Tags.NETWORK_RECEIVERS, block.get().asItem(), color) + .save(provider, createIdentifier("coloring/" + color.getName() + "_network_receiver"))); } private ShapelessRecipeBuilder recolorItems(final TagKey dyeable, final Item result, final DyeColor color) { diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/tag/ItemTagGenerator.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/tag/ItemTagGenerator.java index 7cd840ee3..0b04c869b 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/tag/ItemTagGenerator.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/tag/ItemTagGenerator.java @@ -31,6 +31,7 @@ import static com.refinedmods.refinedstorage2.platform.common.content.Tags.FLUID_STORAGE_DISKS; import static com.refinedmods.refinedstorage2.platform.common.content.Tags.GRIDS; import static com.refinedmods.refinedstorage2.platform.common.content.Tags.IMPORTERS; +import static com.refinedmods.refinedstorage2.platform.common.content.Tags.NETWORK_RECEIVERS; import static com.refinedmods.refinedstorage2.platform.common.content.Tags.STORAGE_DISKS; import static com.refinedmods.refinedstorage2.platform.common.content.Tags.WIRELESS_TRANSMITTERS; import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.MOD_ID; @@ -99,6 +100,10 @@ protected void addTags(final HolderLookup.Provider provider) { Blocks.INSTANCE.getWirelessTransmitter().values().stream() .map(block -> (Supplier) block::asItem) .toList()); + addAllToTag(NETWORK_RECEIVERS, + Blocks.INSTANCE.getNetworkReceiver().values().stream() + .map(block -> (Supplier) block::asItem) + .toList()); } private void addAllToTag(final TagKey t, final Collection> items) { diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/integration/recipemod/rei/RefinedStorageREIClientPlugin.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/integration/recipemod/rei/RefinedStorageREIClientPlugin.java index 95f94a182..52aa07a34 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/integration/recipemod/rei/RefinedStorageREIClientPlugin.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/integration/recipemod/rei/RefinedStorageREIClientPlugin.java @@ -87,6 +87,7 @@ public void registerCollapsibleEntries(final CollapsibleEntryRegistry registry) ContentIds.WIRELESS_TRANSMITTER, Tags.WIRELESS_TRANSMITTERS ); + groupItems(registry, Blocks.INSTANCE.getNetworkReceiver(), ContentIds.NETWORK_RECEIVER, Tags.NETWORK_RECEIVERS); } @Override diff --git a/settings.gradle b/settings.gradle index 48e8abd26..142a92e09 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ -gradle.ext.refinedArchitectVersion = "0.9.0" +gradle.ext.refinedArchitectVersion = "0.9.1" dependencyResolutionManagement { repositories { From 456a3cfa6b7cefb33a8d3c5c50980797edadeb76 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Tue, 31 Oct 2023 20:32:15 +0100 Subject: [PATCH 2/2] refactor: class hierarchy of network node containers Introduced NetworkNodeContainerBlockEntityImpl, that inherits from the API block entity. It only has code for activeness checking. Modified AbstractInternalNetworkNodeContainerBlockEntity to have redstone mode, placed by and configuration card code. Modified cable and network receiver to inherit from NetworkNodeContainerBlockEntityImpl since they don't need redstone mode and especially not configuration card support. --- CHANGELOG.md | 6 +- .../platform/api/grid/Grid.java | 2 +- .../common/AbstractModInitializer.java | 11 +- .../common/block/AbstractColoredBlock.java | 36 +++++++ .../platform/common/block/CableBlock.java | 46 +++----- .../common/block/NetworkReceiverBlock.java | 37 ++----- ...actingNetworkNodeContainerBlockEntity.java | 2 +- ...neModeNetworkNodeContainerBlockEntity.java | 100 ++++++++++++++++++ .../block/entity/ControllerBlockEntity.java | 2 +- ... NetworkNodeContainerBlockEntityImpl.java} | 96 ++--------------- ...SimpleNetworkNodeContainerBlockEntity.java | 18 ---- .../entity/detector/DetectorBlockEntity.java | 4 +- .../AbstractDiskDriveBlockEntity.java | 4 +- .../ExternalStorageBlockEntity.java | 4 +- .../entity/grid/AbstractGridBlockEntity.java | 7 +- .../entity/iface/InterfaceBlockEntity.java | 4 +- .../AbstractStorageBlockBlockEntity.java | 4 +- .../StorageMonitorBlockEntity.java | 4 +- .../WirelessTransmitterBlockEntity.java | 5 +- .../ticker/NetworkNodeBlockEntityTicker.java | 4 +- .../grid/AbstractGridContainerMenu.java | 8 +- .../common/content/BlockEntities.java | 19 ++-- .../common/internal/grid/WirelessGrid.java | 2 +- .../common/menu/GridExtendedMenuProvider.java | 2 +- 24 files changed, 215 insertions(+), 212 deletions(-) create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/AbstractColoredBlock.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractRedstoneModeNetworkNodeContainerBlockEntity.java rename refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/{AbstractInternalNetworkNodeContainerBlockEntity.java => NetworkNodeContainerBlockEntityImpl.java} (59%) delete mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/SimpleNetworkNodeContainerBlockEntity.java diff --git a/CHANGELOG.md b/CHANGELOG.md index b6761925f..e41581516 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -337,9 +337,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ### Added - The Wrench now dismantles devices when crouching. - - The Disk Drive in item form now supports rendering of disks that were dismantled. - - In order to retain Controller energy, the Controller must now be dismantled. - - All config and upgrades are transferred to the item. + - The Disk Drive in item form now supports rendering of disks that were dismantled. + - In order to retain Controller energy, the Controller must now be dismantled. + - All config and upgrades are transferred to the item. - You can now use any Wrench from other mods in order to rotate or dismantle. - Item and fluid storage blocks. - Initial advancements. diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/grid/Grid.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/grid/Grid.java index 3248a1016..17c6d34ac 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/grid/Grid.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/grid/Grid.java @@ -21,7 +21,7 @@ public interface Grid { Storage getItemStorage(); - boolean isActive(); + boolean isGridActive(); List> getResources(StorageChannelType type, Class actorType); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java index 4479dfe6e..ae08e3872 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractModInitializer.java @@ -5,6 +5,7 @@ import com.refinedmods.refinedstorage2.api.network.impl.component.EnergyNetworkComponentImpl; import com.refinedmods.refinedstorage2.api.network.impl.component.GraphNetworkComponent; import com.refinedmods.refinedstorage2.api.network.impl.component.StorageNetworkComponentImpl; +import com.refinedmods.refinedstorage2.api.network.impl.node.SimpleNetworkNode; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.PlatformApiProxy; import com.refinedmods.refinedstorage2.platform.common.block.ControllerType; @@ -16,7 +17,7 @@ import com.refinedmods.refinedstorage2.platform.common.block.StorageMonitorBlock; import com.refinedmods.refinedstorage2.platform.common.block.entity.ControllerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.ImporterBlockEntity; -import com.refinedmods.refinedstorage2.platform.common.block.entity.SimpleNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.NetworkNodeContainerBlockEntityImpl; import com.refinedmods.refinedstorage2.platform.common.block.entity.constructor.ConstructorBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.constructor.ItemDropConstructorStrategyFactory; import com.refinedmods.refinedstorage2.platform.common.block.entity.constructor.PlaceBlockConstructorStrategy; @@ -479,11 +480,11 @@ protected final void registerBlockEntities( ) { BlockEntities.INSTANCE.setCable(callback.register( CABLE, - () -> typeFactory.create((pos, state) -> new SimpleNetworkNodeContainerBlockEntity( + () -> typeFactory.create((pos, state) -> new NetworkNodeContainerBlockEntityImpl<>( BlockEntities.INSTANCE.getCable(), pos, state, - Platform.INSTANCE.getConfig().getCable().getEnergyUsage() + new SimpleNetworkNode(Platform.INSTANCE.getConfig().getCable().getEnergyUsage()) ), Blocks.INSTANCE.getCable().toArray()) )); BlockEntities.INSTANCE.setController(callback.register( @@ -573,11 +574,11 @@ protected final void registerBlockEntities( )); BlockEntities.INSTANCE.setNetworkReceiver(callback.register( NETWORK_RECEIVER, - () -> typeFactory.create((pos, state) -> new SimpleNetworkNodeContainerBlockEntity( + () -> typeFactory.create((pos, state) -> new NetworkNodeContainerBlockEntityImpl<>( BlockEntities.INSTANCE.getNetworkReceiver(), pos, state, - Platform.INSTANCE.getConfig().getNetworkReceiver().getEnergyUsage() + new SimpleNetworkNode(Platform.INSTANCE.getConfig().getNetworkReceiver().getEnergyUsage()) ), Blocks.INSTANCE.getNetworkReceiver().toArray()) )); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/AbstractColoredBlock.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/AbstractColoredBlock.java new file mode 100644 index 000000000..a674ae71f --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/AbstractColoredBlock.java @@ -0,0 +1,36 @@ +package com.refinedmods.refinedstorage2.platform.common.block; + +import com.refinedmods.refinedstorage2.platform.common.item.block.NamedBlockItem; + +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; + +public abstract class AbstractColoredBlock + extends AbstractBaseBlock implements ColorableBlock, BlockItemProvider { + private final DyeColor color; + private final MutableComponent name; + + protected AbstractColoredBlock(final Properties properties, final DyeColor color, final MutableComponent name) { + super(properties); + this.color = color; + this.name = name; + } + + @Override + public MutableComponent getName() { + return name; + } + + @Override + public DyeColor getColor() { + return color; + } + + @Override + public BlockItem createBlockItem() { + return new NamedBlockItem(this, new Item.Properties(), name); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/CableBlock.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/CableBlock.java index b74a74646..b74a819aa 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/CableBlock.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/CableBlock.java @@ -1,22 +1,20 @@ package com.refinedmods.refinedstorage2.platform.common.block; +import com.refinedmods.refinedstorage2.api.network.impl.node.SimpleNetworkNode; import com.refinedmods.refinedstorage2.platform.common.Platform; -import com.refinedmods.refinedstorage2.platform.common.block.entity.SimpleNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.NetworkNodeContainerBlockEntityImpl; import com.refinedmods.refinedstorage2.platform.common.block.ticker.AbstractBlockEntityTicker; import com.refinedmods.refinedstorage2.platform.common.block.ticker.NetworkNodeBlockEntityTicker; import com.refinedmods.refinedstorage2.platform.common.content.BlockColorMap; import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; import com.refinedmods.refinedstorage2.platform.common.content.Blocks; -import com.refinedmods.refinedstorage2.platform.common.item.block.NamedBlockItem; import javax.annotation.Nullable; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.network.chat.MutableComponent; -import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.DyeColor; -import net.minecraft.world.item.Item; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; @@ -36,23 +34,13 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -public class CableBlock extends AbstractBaseBlock +public class CableBlock extends AbstractColoredBlock implements ColorableBlock, SimpleWaterloggedBlock, EntityBlock, BlockItemProvider { - private static final AbstractBlockEntityTicker TICKER = + private static final AbstractBlockEntityTicker> TICKER = new NetworkNodeBlockEntityTicker<>(BlockEntities.INSTANCE::getCable); - private final DyeColor color; - private final MutableComponent name; - public CableBlock(final DyeColor color, final MutableComponent name) { - super(BlockConstants.CABLE_PROPERTIES); - this.color = color; - this.name = name; - } - - @Override - public DyeColor getColor() { - return color; + super(BlockConstants.CABLE_PROPERTIES, color, name); } @Override @@ -116,34 +104,24 @@ public VoxelShape getShape(final BlockState state, @Override public BlockEntity newBlockEntity(final BlockPos pos, final BlockState state) { - return new SimpleNetworkNodeContainerBlockEntity( + return new NetworkNodeContainerBlockEntityImpl<>( BlockEntities.INSTANCE.getCable(), pos, state, - Platform.INSTANCE.getConfig().getCable().getEnergyUsage() + new SimpleNetworkNode(Platform.INSTANCE.getConfig().getCable().getEnergyUsage()) ); } - @Nullable - @Override - public BlockEntityTicker getTicker(final Level level, - final BlockState blockState, - final BlockEntityType type) { - return TICKER.get(level, type); - } - @Override public BlockColorMap getBlockColorMap() { return Blocks.INSTANCE.getCable(); } + @Nullable @Override - public MutableComponent getName() { - return name; - } - - @Override - public BlockItem createBlockItem() { - return new NamedBlockItem(this, new Item.Properties(), name); + public BlockEntityTicker getTicker(final Level level, + final BlockState blockState, + final BlockEntityType type) { + return TICKER.get(level, type); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/NetworkReceiverBlock.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/NetworkReceiverBlock.java index ffbc8faaf..90ced803f 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/NetworkReceiverBlock.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/NetworkReceiverBlock.java @@ -1,21 +1,19 @@ package com.refinedmods.refinedstorage2.platform.common.block; +import com.refinedmods.refinedstorage2.api.network.impl.node.SimpleNetworkNode; import com.refinedmods.refinedstorage2.platform.common.Platform; -import com.refinedmods.refinedstorage2.platform.common.block.entity.SimpleNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.NetworkNodeContainerBlockEntityImpl; import com.refinedmods.refinedstorage2.platform.common.block.ticker.AbstractBlockEntityTicker; import com.refinedmods.refinedstorage2.platform.common.block.ticker.NetworkNodeBlockEntityTicker; import com.refinedmods.refinedstorage2.platform.common.content.BlockColorMap; import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; import com.refinedmods.refinedstorage2.platform.common.content.Blocks; -import com.refinedmods.refinedstorage2.platform.common.item.block.NamedBlockItem; import javax.annotation.Nullable; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.MutableComponent; -import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.DyeColor; -import net.minecraft.world.item.Item; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.EntityBlock; @@ -26,20 +24,14 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; -public class NetworkReceiverBlock extends AbstractBaseBlock implements ColorableBlock, - BlockItemProvider, EntityBlock { +public class NetworkReceiverBlock extends AbstractColoredBlock implements EntityBlock { public static final BooleanProperty ACTIVE = BooleanProperty.create("active"); - private static final AbstractBlockEntityTicker TICKER = + private static final AbstractBlockEntityTicker> TICKER = new NetworkNodeBlockEntityTicker<>(BlockEntities.INSTANCE::getNetworkReceiver, ACTIVE); - private final DyeColor color; - private final MutableComponent name; - public NetworkReceiverBlock(final DyeColor color, final MutableComponent name) { - super(BlockConstants.PROPERTIES); - this.color = color; - this.name = name; + super(BlockConstants.PROPERTIES, color, name); } @Override @@ -53,34 +45,19 @@ protected void createBlockStateDefinition(final StateDefinition.Builder getBlockColorMap() { return Blocks.INSTANCE.getNetworkReceiver(); } - @Override - public DyeColor getColor() { - return color; - } - - @Override - public BlockItem createBlockItem() { - return new NamedBlockItem(this, new Item.Properties(), name); - } - @Nullable @Override public BlockEntity newBlockEntity(final BlockPos pos, final BlockState state) { - return new SimpleNetworkNodeContainerBlockEntity( + return new NetworkNodeContainerBlockEntityImpl<>( BlockEntities.INSTANCE.getNetworkReceiver(), pos, state, - Platform.INSTANCE.getConfig().getNetworkReceiver().getEnergyUsage() + new SimpleNetworkNode(Platform.INSTANCE.getConfig().getNetworkReceiver().getEnergyUsage()) ); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractLevelInteractingNetworkNodeContainerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractLevelInteractingNetworkNodeContainerBlockEntity.java index a0904f263..e0c9fa77b 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractLevelInteractingNetworkNodeContainerBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractLevelInteractingNetworkNodeContainerBlockEntity.java @@ -12,7 +12,7 @@ import org.slf4j.LoggerFactory; public abstract class AbstractLevelInteractingNetworkNodeContainerBlockEntity - extends AbstractInternalNetworkNodeContainerBlockEntity { + extends AbstractRedstoneModeNetworkNodeContainerBlockEntity { private static final Logger LOGGER = LoggerFactory.getLogger( AbstractLevelInteractingNetworkNodeContainerBlockEntity.class ); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractRedstoneModeNetworkNodeContainerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractRedstoneModeNetworkNodeContainerBlockEntity.java new file mode 100644 index 000000000..b35d96dac --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractRedstoneModeNetworkNodeContainerBlockEntity.java @@ -0,0 +1,100 @@ +package com.refinedmods.refinedstorage2.platform.common.block.entity; + +import com.refinedmods.refinedstorage2.api.network.node.AbstractNetworkNode; +import com.refinedmods.refinedstorage2.platform.api.blockentity.ConfigurationCardTarget; +import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.util.RedstoneMode; + +import java.util.Collections; +import java.util.List; +import java.util.UUID; +import javax.annotation.Nullable; + +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public abstract class AbstractRedstoneModeNetworkNodeContainerBlockEntity + extends NetworkNodeContainerBlockEntityImpl implements PlayerAware, ConfigurationCardTarget { + private static final String TAG_REDSTONE_MODE = "rm"; + private static final String TAG_PLACED_BY_PLAYER_ID = "pbpid"; + + private RedstoneMode redstoneMode = RedstoneMode.IGNORE; + @Nullable + private UUID placedByPlayerId; + + protected AbstractRedstoneModeNetworkNodeContainerBlockEntity(final BlockEntityType type, + final BlockPos pos, + final BlockState state, + final T node) { + super(type, pos, state, node); + } + + @Override + protected boolean isActive() { + return super.isActive() && level != null && redstoneMode.isActive(level.hasNeighborSignal(worldPosition)); + } + + @Override + public void saveAdditional(final CompoundTag tag) { + super.saveAdditional(tag); + writeConfiguration(tag); + if (placedByPlayerId != null) { + tag.putUUID(TAG_PLACED_BY_PLAYER_ID, placedByPlayerId); + } + } + + @Override + public void writeConfiguration(final CompoundTag tag) { + tag.putInt(TAG_REDSTONE_MODE, RedstoneModeSettings.getRedstoneMode(getRedstoneMode())); + } + + @Override + public void load(final CompoundTag tag) { + super.load(tag); + readConfiguration(tag); + if (tag.hasUUID(TAG_PLACED_BY_PLAYER_ID)) { + placedByPlayerId = tag.getUUID(TAG_PLACED_BY_PLAYER_ID); + } + } + + @Override + public void readConfiguration(final CompoundTag tag) { + if (tag.contains(TAG_REDSTONE_MODE)) { + redstoneMode = RedstoneModeSettings.getRedstoneMode(tag.getInt(TAG_REDSTONE_MODE)); + } + } + + @Override + public List getUpgradeItems() { + return Collections.emptyList(); + } + + @Override + public boolean addUpgradeItem(final Item upgradeItem) { + return false; + } + + public RedstoneMode getRedstoneMode() { + return redstoneMode; + } + + public void setRedstoneMode(final RedstoneMode redstoneMode) { + this.redstoneMode = redstoneMode; + setChanged(); + } + + @Override + public void setPlacedBy(final UUID playerId) { + this.placedByPlayerId = playerId; + setChanged(); + } + + protected final Player getFakePlayer(final ServerLevel serverLevel) { + return Platform.INSTANCE.getFakePlayer(serverLevel, placedByPlayerId); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/ControllerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/ControllerBlockEntity.java index f45ad0545..86287650b 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/ControllerBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/ControllerBlockEntity.java @@ -29,7 +29,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class ControllerBlockEntity extends AbstractInternalNetworkNodeContainerBlockEntity +public class ControllerBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity implements ExtendedMenuProvider, EnergyBlockEntity { private static final Logger LOGGER = LoggerFactory.getLogger(ControllerBlockEntity.class); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractInternalNetworkNodeContainerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/NetworkNodeContainerBlockEntityImpl.java similarity index 59% rename from refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractInternalNetworkNodeContainerBlockEntity.java rename to refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/NetworkNodeContainerBlockEntityImpl.java index 1785ad4e3..4e03b0369 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/AbstractInternalNetworkNodeContainerBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/NetworkNodeContainerBlockEntityImpl.java @@ -3,101 +3,42 @@ import com.refinedmods.refinedstorage2.api.network.component.EnergyNetworkComponent; import com.refinedmods.refinedstorage2.api.network.node.AbstractNetworkNode; import com.refinedmods.refinedstorage2.platform.api.blockentity.AbstractNetworkNodeContainerBlockEntity; -import com.refinedmods.refinedstorage2.platform.api.blockentity.ConfigurationCardTarget; -import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.block.AbstractDirectionalBlock; import com.refinedmods.refinedstorage2.platform.common.block.ColorableBlock; -import com.refinedmods.refinedstorage2.platform.common.util.RedstoneMode; -import java.util.Collections; -import java.util.List; -import java.util.UUID; import javax.annotation.Nullable; import com.google.common.util.concurrent.RateLimiter; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Item; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BooleanProperty; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -// TODO: inherit from simple network node container block entity -public abstract class AbstractInternalNetworkNodeContainerBlockEntity - extends AbstractNetworkNodeContainerBlockEntity - implements PlayerAware, ConfigurationCardTarget { - private static final Logger LOGGER = LoggerFactory.getLogger(AbstractInternalNetworkNodeContainerBlockEntity.class); - - private static final String TAG_REDSTONE_MODE = "rm"; - private static final String TAG_PLACED_BY_PLAYER_ID = "pbpid"; +public class NetworkNodeContainerBlockEntityImpl + extends AbstractNetworkNodeContainerBlockEntity { + private static final Logger LOGGER = LoggerFactory.getLogger(NetworkNodeContainerBlockEntityImpl.class); private final RateLimiter activenessChangeRateLimiter = RateLimiter.create(1); private boolean lastActive; - private RedstoneMode redstoneMode = RedstoneMode.IGNORE; - @Nullable - private UUID placedByPlayerId; - protected AbstractInternalNetworkNodeContainerBlockEntity(final BlockEntityType type, - final BlockPos pos, - final BlockState state, - final T node) { - super(type, pos, state, node); + public NetworkNodeContainerBlockEntityImpl(final BlockEntityType type, + final BlockPos pos, + final BlockState state, + final T networkNode) { + super(type, pos, state, networkNode); } - private boolean isActive() { + protected boolean isActive() { final long energyUsage = getNode().getEnergyUsage(); final boolean hasLevel = level != null && level.isLoaded(worldPosition); return hasLevel - && redstoneMode.isActive(level.hasNeighborSignal(worldPosition)) && getNode().getNetwork() != null && getNode().getNetwork().getComponent(EnergyNetworkComponent.class).getStored() >= energyUsage; } - @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - writeConfiguration(tag); - if (placedByPlayerId != null) { - tag.putUUID(TAG_PLACED_BY_PLAYER_ID, placedByPlayerId); - } - } - - @Override - public void writeConfiguration(final CompoundTag tag) { - tag.putInt(TAG_REDSTONE_MODE, RedstoneModeSettings.getRedstoneMode(getRedstoneMode())); - } - - @Override - public void load(final CompoundTag tag) { - super.load(tag); - readConfiguration(tag); - if (tag.hasUUID(TAG_PLACED_BY_PLAYER_ID)) { - placedByPlayerId = tag.getUUID(TAG_PLACED_BY_PLAYER_ID); - } - } - - @Override - public void readConfiguration(final CompoundTag tag) { - if (tag.contains(TAG_REDSTONE_MODE)) { - redstoneMode = RedstoneModeSettings.getRedstoneMode(tag.getInt(TAG_REDSTONE_MODE)); - } - } - - @Override - public List getUpgradeItems() { - return Collections.emptyList(); - } - - @Override - public boolean addUpgradeItem(final Item upgradeItem) { - return false; - } - public void updateActiveness(final BlockState state, @Nullable final BooleanProperty activenessProperty) { final boolean newActive = isActive(); @@ -130,15 +71,6 @@ private void updateActivenessState(final BlockState state, } } - public RedstoneMode getRedstoneMode() { - return redstoneMode; - } - - public void setRedstoneMode(final RedstoneMode redstoneMode) { - this.redstoneMode = redstoneMode; - setChanged(); - } - public void doWork() { getNode().doWork(); } @@ -193,14 +125,4 @@ protected final Direction getDirection() { } return directionalBlock.extractDirection(blockState); } - - @Override - public void setPlacedBy(final UUID playerId) { - this.placedByPlayerId = playerId; - setChanged(); - } - - protected final Player getFakePlayer(final ServerLevel serverLevel) { - return Platform.INSTANCE.getFakePlayer(serverLevel, placedByPlayerId); - } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/SimpleNetworkNodeContainerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/SimpleNetworkNodeContainerBlockEntity.java deleted file mode 100644 index c90e7ad4b..000000000 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/SimpleNetworkNodeContainerBlockEntity.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.block.entity; - -import com.refinedmods.refinedstorage2.api.network.impl.node.SimpleNetworkNode; - -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraft.world.level.block.state.BlockState; - -// TODO: fix inheritance (no need for RedstoneMode here!) -public final class SimpleNetworkNodeContainerBlockEntity - extends AbstractInternalNetworkNodeContainerBlockEntity { - public SimpleNetworkNodeContainerBlockEntity(final BlockEntityType type, - final BlockPos pos, - final BlockState state, - final long energyUsage) { - super(type, pos, state, new SimpleNetworkNode(energyUsage)); - } -} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/detector/DetectorBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/detector/DetectorBlockEntity.java index 4391e381e..d3ba29d42 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/detector/DetectorBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/detector/DetectorBlockEntity.java @@ -8,7 +8,7 @@ import com.refinedmods.refinedstorage2.platform.api.resource.ResourceContainer; import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.block.DetectorBlock; -import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractInternalNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractRedstoneModeNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.FilterWithFuzzyMode; import com.refinedmods.refinedstorage2.platform.common.containermenu.AbstractSingleAmountContainerMenu; import com.refinedmods.refinedstorage2.platform.common.containermenu.detector.DetectorContainerMenu; @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class DetectorBlockEntity extends AbstractInternalNetworkNodeContainerBlockEntity +public class DetectorBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity implements ExtendedMenuProvider { private static final Logger LOGGER = LoggerFactory.getLogger(DetectorBlockEntity.class); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/diskdrive/AbstractDiskDriveBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/diskdrive/AbstractDiskDriveBlockEntity.java index 625bcd74d..cbf9409ed 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/diskdrive/AbstractDiskDriveBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/diskdrive/AbstractDiskDriveBlockEntity.java @@ -6,7 +6,7 @@ import com.refinedmods.refinedstorage2.api.network.impl.node.multistorage.MultiStorageStorageState; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.common.Platform; -import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractInternalNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractRedstoneModeNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.BlockEntityWithDrops; import com.refinedmods.refinedstorage2.platform.common.block.entity.FilterWithFuzzyMode; import com.refinedmods.refinedstorage2.platform.common.block.entity.StorageConfigurationContainerImpl; @@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory; public abstract class AbstractDiskDriveBlockEntity - extends AbstractInternalNetworkNodeContainerBlockEntity + extends AbstractRedstoneModeNetworkNodeContainerBlockEntity implements BlockEntityWithDrops, MultiStorageListener, ExtendedMenuProvider { public static final int AMOUNT_OF_DISKS = 8; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/externalstorage/ExternalStorageBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/externalstorage/ExternalStorageBlockEntity.java index d16595b60..37b7b9711 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/externalstorage/ExternalStorageBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/externalstorage/ExternalStorageBlockEntity.java @@ -6,7 +6,7 @@ import com.refinedmods.refinedstorage2.api.storage.external.ExternalStorageProvider; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.common.Platform; -import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractInternalNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractRedstoneModeNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.FilterWithFuzzyMode; import com.refinedmods.refinedstorage2.platform.common.block.entity.StorageConfigurationContainerImpl; import com.refinedmods.refinedstorage2.platform.common.containermenu.storage.ExternalStorageContainerMenu; @@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory; public class ExternalStorageBlockEntity - extends AbstractInternalNetworkNodeContainerBlockEntity + extends AbstractRedstoneModeNetworkNodeContainerBlockEntity implements ExtendedMenuProvider { private static final Logger LOGGER = LoggerFactory.getLogger(ExternalStorageBlockEntity.class); private static final String TAG_TRACKED_RESOURCES = "tr"; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/grid/AbstractGridBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/grid/AbstractGridBlockEntity.java index 0c252a86d..b56d17283 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/grid/AbstractGridBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/grid/AbstractGridBlockEntity.java @@ -14,7 +14,7 @@ import com.refinedmods.refinedstorage2.platform.api.grid.Grid; import com.refinedmods.refinedstorage2.platform.api.resource.ItemResource; import com.refinedmods.refinedstorage2.platform.api.storage.channel.PlatformStorageChannelType; -import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractInternalNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractRedstoneModeNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.internal.storage.channel.StorageChannelTypes; import java.util.List; @@ -25,7 +25,8 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public abstract class AbstractGridBlockEntity extends AbstractInternalNetworkNodeContainerBlockEntity +public abstract class AbstractGridBlockEntity + extends AbstractRedstoneModeNetworkNodeContainerBlockEntity implements Grid, MenuProvider { protected AbstractGridBlockEntity(final BlockEntityType type, final BlockPos pos, @@ -55,7 +56,7 @@ public GridOperations createOperations(final PlatformStorageChannelType + extends AbstractRedstoneModeNetworkNodeContainerBlockEntity implements ExtendedMenuProvider, BlockEntityWithDrops { private static final String TAG_EXPORT_ITEMS = "ei"; private static final int EXPORT_SLOTS = 9; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/storage/AbstractStorageBlockBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/storage/AbstractStorageBlockBlockEntity.java index df47b9537..aaa2d791a 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/storage/AbstractStorageBlockBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/storage/AbstractStorageBlockBlockEntity.java @@ -6,7 +6,7 @@ import com.refinedmods.refinedstorage2.platform.api.resource.ResourceContainer; import com.refinedmods.refinedstorage2.platform.api.resource.ResourceFactory; import com.refinedmods.refinedstorage2.platform.api.storage.StorageRepository; -import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractInternalNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractRedstoneModeNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.FilterWithFuzzyMode; import com.refinedmods.refinedstorage2.platform.common.block.entity.StorageConfigurationContainerImpl; import com.refinedmods.refinedstorage2.platform.common.internal.resource.ResourceContainerImpl; @@ -27,7 +27,7 @@ import org.slf4j.LoggerFactory; public abstract class AbstractStorageBlockBlockEntity - extends AbstractInternalNetworkNodeContainerBlockEntity> + extends AbstractRedstoneModeNetworkNodeContainerBlockEntity> implements ExtendedMenuProvider { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractStorageBlockBlockEntity.class); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/storagemonitor/StorageMonitorBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/storagemonitor/StorageMonitorBlockEntity.java index caee98062..19b42690d 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/storagemonitor/StorageMonitorBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/storagemonitor/StorageMonitorBlockEntity.java @@ -12,7 +12,7 @@ import com.refinedmods.refinedstorage2.platform.api.storage.PlayerActor; import com.refinedmods.refinedstorage2.platform.api.storage.channel.FuzzyStorageChannel; import com.refinedmods.refinedstorage2.platform.common.Platform; -import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractInternalNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractRedstoneModeNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.FilterWithFuzzyMode; import com.refinedmods.refinedstorage2.platform.common.containermenu.StorageMonitorContainerMenu; import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; @@ -42,7 +42,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class StorageMonitorBlockEntity extends AbstractInternalNetworkNodeContainerBlockEntity +public class StorageMonitorBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity implements ExtendedMenuProvider { private static final Logger LOGGER = LoggerFactory.getLogger(StorageMonitorBlockEntity.class); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/wirelesstransmitter/WirelessTransmitterBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/wirelesstransmitter/WirelessTransmitterBlockEntity.java index a45aede31..6b2e78e1d 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/wirelesstransmitter/WirelessTransmitterBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/entity/wirelesstransmitter/WirelessTransmitterBlockEntity.java @@ -4,7 +4,7 @@ import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.blockentity.wirelesstransmitter.WirelessTransmitter; import com.refinedmods.refinedstorage2.platform.common.Platform; -import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractInternalNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractRedstoneModeNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.UpgradeContainer; import com.refinedmods.refinedstorage2.platform.common.containermenu.WirelessTransmitterContainerMenu; import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; @@ -29,7 +29,8 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -public class WirelessTransmitterBlockEntity extends AbstractInternalNetworkNodeContainerBlockEntity +public class WirelessTransmitterBlockEntity + extends AbstractRedstoneModeNetworkNodeContainerBlockEntity implements ExtendedMenuProvider, WirelessTransmitter { private static final String TAG_UPGRADES = "u"; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/ticker/NetworkNodeBlockEntityTicker.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/ticker/NetworkNodeBlockEntityTicker.java index f2e9a10fa..6fce3d6c7 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/ticker/NetworkNodeBlockEntityTicker.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/block/ticker/NetworkNodeBlockEntityTicker.java @@ -1,7 +1,7 @@ package com.refinedmods.refinedstorage2.platform.common.block.ticker; import com.refinedmods.refinedstorage2.api.network.node.AbstractNetworkNode; -import com.refinedmods.refinedstorage2.platform.common.block.entity.AbstractInternalNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.NetworkNodeContainerBlockEntityImpl; import java.util.function.Supplier; import javax.annotation.Nullable; @@ -14,7 +14,7 @@ public class NetworkNodeBlockEntityTicker< N extends AbstractNetworkNode, - T extends AbstractInternalNetworkNodeContainerBlockEntity + T extends NetworkNodeContainerBlockEntityImpl > extends AbstractBlockEntityTicker { @Nullable private final BooleanProperty activenessProperty; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/containermenu/grid/AbstractGridContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/containermenu/grid/AbstractGridContainerMenu.java index 71f13a5c4..c77697a1e 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/containermenu/grid/AbstractGridContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/containermenu/grid/AbstractGridContainerMenu.java @@ -389,7 +389,7 @@ public void toggleStorageChannelType() { @Override public boolean onInsert(final GridInsertMode insertMode, final boolean tryAlternatives) { - if (grid != null && !grid.isActive()) { + if (grid != null && !grid.isGridActive()) { return false; } return insertionStrategy.onInsert(insertMode, tryAlternatives); @@ -400,7 +400,7 @@ public boolean onExtract(final PlatformStorageChannelType storageChannelT final T resource, final GridExtractMode extractMode, final boolean cursor) { - if (grid != null && !grid.isActive()) { + if (grid != null && !grid.isGridActive()) { return false; } return extractionStrategy.onExtract(storageChannelType, resource, extractMode, cursor); @@ -411,7 +411,7 @@ public boolean onScroll(final PlatformStorageChannelType storageChannelTy final T resource, final GridScrollMode scrollMode, final int slotIndex) { - if (grid != null && !grid.isActive()) { + if (grid != null && !grid.isGridActive()) { return false; } return scrollingStrategy.onScroll(storageChannelType, resource, scrollMode, slotIndex); @@ -424,7 +424,7 @@ public boolean onTransfer(final int slotIndex) { @Override public ItemStack quickMoveStack(final Player playerEntity, final int slotIndex) { - if (!playerEntity.level().isClientSide() && grid != null && grid.isActive()) { + if (!playerEntity.level().isClientSide() && grid != null && grid.isGridActive()) { final Slot slot = getSlot(slotIndex); if (slot.hasItem()) { insertionStrategy.onTransfer(slot.index); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/BlockEntities.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/BlockEntities.java index 65e74664d..f200fb29b 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/BlockEntities.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/BlockEntities.java @@ -1,8 +1,9 @@ package com.refinedmods.refinedstorage2.platform.common.content; +import com.refinedmods.refinedstorage2.api.network.impl.node.SimpleNetworkNode; import com.refinedmods.refinedstorage2.platform.common.block.entity.ControllerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.ImporterBlockEntity; -import com.refinedmods.refinedstorage2.platform.common.block.entity.SimpleNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.block.entity.NetworkNodeContainerBlockEntityImpl; import com.refinedmods.refinedstorage2.platform.common.block.entity.constructor.ConstructorBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.destructor.DestructorBlockEntity; import com.refinedmods.refinedstorage2.platform.common.block.entity.detector.DetectorBlockEntity; @@ -31,7 +32,7 @@ public final class BlockEntities { public static final BlockEntities INSTANCE = new BlockEntities(); @Nullable - private Supplier> cable; + private Supplier>> cable; @Nullable private Supplier> diskDrive; @Nullable @@ -65,16 +66,18 @@ public final class BlockEntities { @Nullable private Supplier> storageMonitor; @Nullable - private Supplier> networkReceiver; + private Supplier>> networkReceiver; private BlockEntities() { } - public BlockEntityType getCable() { + public BlockEntityType> getCable() { return Objects.requireNonNull(cable).get(); } - public void setCable(final Supplier> supplier) { + public void setCable( + final Supplier>> supplier + ) { this.cable = supplier; } @@ -208,11 +211,13 @@ public void setStorageMonitor(final Supplier getNetworkReceiver() { + public BlockEntityType> getNetworkReceiver() { return Objects.requireNonNull(networkReceiver).get(); } - public void setNetworkReceiver(final Supplier> supplier) { + public void setNetworkReceiver( + final Supplier>> supplier + ) { this.networkReceiver = supplier; } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/internal/grid/WirelessGrid.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/internal/grid/WirelessGrid.java index c624df9ba..0090b8c2e 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/internal/grid/WirelessGrid.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/internal/grid/WirelessGrid.java @@ -57,7 +57,7 @@ public Storage getItemStorage() { } @Override - public boolean isActive() { + public boolean isGridActive() { final boolean networkActive = session.resolveNetwork().map( network -> network.getComponent(EnergyNetworkComponent.class).getStored() > 0 ).orElse(false); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/menu/GridExtendedMenuProvider.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/menu/GridExtendedMenuProvider.java index 364ec831b..a8e97e1b1 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/menu/GridExtendedMenuProvider.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/menu/GridExtendedMenuProvider.java @@ -34,7 +34,7 @@ public GridExtendedMenuProvider(final Grid grid, @Override public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - buf.writeBoolean(grid.isActive()); + buf.writeBoolean(grid.isGridActive()); final List> types = storageChannelTypeRegistry.getAll(); buf.writeInt(types.size()); types.forEach(type -> writeStorageChannel(type, buf));