From b8b69b5db74b35eddd655d2d8684e828efd01333 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 23 Jun 2024 11:32:21 +0200 Subject: [PATCH] feat: disk interface content This corrects a mistake in 96841ecb, where AbstractStorageContainerNetworkNode inherits from AbstractStorageNetworkNode. This would make it so that the disk interface has storage configuration properties like void excess etc. which is not intended! Now, AbstractStorageNetworkNode is removed and the duplication around the storage configuration is contained in StorageConfiguration. Also fixes relay having no help tooltip. Also fixes speed upgrades not working properly. --- CHANGELOG.md | 6 + config/intellij-code-style.xml | 2 + .../AbstractStorageContainerNetworkNode.java | 9 +- .../ExternalStorageNetworkNode.java | 14 +- .../impl/node/relay/RelayOutputStorage.java | 4 +- .../impl/node/storage/StorageNetworkNode.java | 10 +- .../storagetransfer/StorageTransferMode.java | 4 +- .../StorageTransferNetworkNode.java | 40 +++- .../AbstractConfiguredProxyStorage.java | 12 +- ...a => NetworkNodeStorageConfiguration.java} | 52 +++-- .../impl/storage/StorageConfiguration.java | 19 +- .../ExternalStorageNetworkNodeTest.java | 34 +-- .../PriorityStorageNetworkNodeTest.java | 8 +- .../node/storage/StorageNetworkNodeTest.java | 28 +-- .../StorageTransferNetworkNodeTest.java | 16 +- .../api/storage/StorageContainerItem.java | 5 + .../platform/api/storage/StorageType.java | 2 + .../misc/coloring/black_disk_interface.json | 32 +++ .../misc/coloring/blue_disk_interface.json | 32 +++ .../misc/coloring/brown_disk_interface.json | 32 +++ .../misc/coloring/cyan_disk_interface.json | 32 +++ .../misc/coloring/gray_disk_interface.json | 32 +++ .../misc/coloring/green_disk_interface.json | 32 +++ .../coloring/light_blue_disk_interface.json | 32 +++ .../coloring/light_gray_disk_interface.json | 32 +++ .../misc/coloring/lime_disk_interface.json | 32 +++ .../misc/coloring/magenta_disk_interface.json | 32 +++ .../misc/coloring/orange_disk_interface.json | 32 +++ .../misc/coloring/pink_disk_interface.json | 32 +++ .../misc/coloring/purple_disk_interface.json | 32 +++ .../misc/coloring/red_disk_interface.json | 32 +++ .../misc/coloring/white_disk_interface.json | 32 +++ .../misc/coloring/yellow_disk_interface.json | 32 +++ .../blocks/black_disk_interface.json | 21 ++ .../blocks/blue_disk_interface.json | 21 ++ .../blocks/brown_disk_interface.json | 21 ++ .../blocks/cyan_disk_interface.json | 21 ++ .../loot_tables/blocks/disk_interface.json | 21 ++ .../blocks/gray_disk_interface.json | 21 ++ .../blocks/green_disk_interface.json | 21 ++ .../blocks/light_gray_disk_interface.json | 21 ++ .../blocks/lime_disk_interface.json | 21 ++ .../blocks/magenta_disk_interface.json | 21 ++ .../blocks/orange_disk_interface.json | 21 ++ .../blocks/pink_disk_interface.json | 21 ++ .../blocks/purple_disk_interface.json | 21 ++ .../blocks/red_disk_interface.json | 21 ++ .../blocks/white_disk_interface.json | 21 ++ .../blocks/yellow_disk_interface.json | 21 ++ .../coloring/black_disk_interface.json | 15 ++ .../recipes/coloring/blue_disk_interface.json | 15 ++ .../coloring/brown_disk_interface.json | 15 ++ .../recipes/coloring/cyan_disk_interface.json | 15 ++ .../recipes/coloring/gray_disk_interface.json | 15 ++ .../coloring/green_disk_interface.json | 15 ++ .../coloring/light_blue_disk_interface.json | 15 ++ .../coloring/light_gray_disk_interface.json | 15 ++ .../recipes/coloring/lime_disk_interface.json | 15 ++ .../coloring/magenta_disk_interface.json | 15 ++ .../coloring/orange_disk_interface.json | 15 ++ .../recipes/coloring/pink_disk_interface.json | 15 ++ .../coloring/purple_disk_interface.json | 15 ++ .../recipes/coloring/red_disk_interface.json | 15 ++ .../coloring/white_disk_interface.json | 15 ++ .../coloring/yellow_disk_interface.json | 15 ++ .../tags/items/disk_interfaces.json | 20 ++ .../common/AbstractClientModInitializer.java | 2 + .../common/AbstractModInitializer.java | 17 ++ .../platform/common/Config.java | 6 + .../ConstructorScreen.java | 2 +- .../common/content/BlockEntities.java | 11 + .../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 | 4 +- .../platform/common/content/Items.java | 9 + .../platform/common/content/Menus.java | 11 + .../platform/common/content/Tags.java | 1 + .../common/detector/DetectorScreen.java | 2 +- .../common/exporter/ExporterScreen.java | 2 +- .../common/iface/InterfaceScreen.java | 2 +- .../common/importer/ImporterScreen.java | 2 +- .../networking/NetworkCardInventory.java | 15 +- .../common/networking/RelayBlock.java | 6 +- .../common/networking/RelayScreen.java | 2 +- .../common/security/SecurityManagerBlock.java | 46 +--- .../security/SecurityManagerBlockEntity.java | 11 +- .../SecurityManagerContainerMenu.java | 11 +- .../AbstractDiskContainerBlockEntity.java | 215 +++++++++++++++++ .../common/storage/AbstractStorageScreen.java | 2 +- .../DiskContainerBlockEntityTicker.java | 38 +++ .../common/storage/DiskInventory.java | 11 +- .../common/storage/FluidStorageType.java | 5 + .../common/storage/ItemStorageType.java | 5 + .../AbstractDiskDriveBlockEntity.java | 190 +-------------- .../storage/diskdrive/DiskDriveBlock.java | 6 +- .../diskdrive/DiskDriveBlockEntityTicker.java | 26 --- .../diskdrive/DiskDriveContainerMenu.java | 29 +-- .../diskinterface/DiskInterfaceBlock.java | 71 ++++++ .../DiskInterfaceBlockEntity.java | 220 ++++++++++++++++++ .../DiskInterfaceContainerMenu.java | 124 ++++++++++ .../DiskInterfacePropertyTypes.java | 17 ++ .../diskinterface/DiskInterfaceScreen.java | 66 ++++++ .../diskinterface/TransferModeSettings.java | 26 +++ .../TransferModeSideButtonWidget.java | 74 ++++++ .../storage/diskinterface/package-info.java | 7 + .../externalstorage/ExternalStorageBlock.java | 2 +- .../ExternalStorageBlockEntity.java | 6 +- .../AbstractPortableGridContainerMenu.java | 14 +- .../AbstractStorageBlockBlockEntity.java | 6 +- .../storagemonitor/StorageMonitorScreen.java | 3 +- ...AbstractActiveColoredDirectionalBlock.java | 54 +++++ ...dContainer.java => FilteredContainer.java} | 4 +- .../support/containermenu/ValidatedSlot.java | 9 + ...deableNetworkNodeContainerBlockEntity.java | 4 +- .../widget/FuzzyModeSideButtonWidget.java | 23 +- .../SchedulingModeSideButtonWidget.java | 2 + .../common/upgrade/UpgradeDestinations.java | 3 +- .../assets/refinedstorage2/lang/en_us.json | 20 +- .../textures/gui/disk_interface.png | Bin 0 -> 1709 bytes .../advancements/interfacing_with_disks.json | 26 +++ .../recipes/disk_interface.json | 28 +++ .../platform/fabric/ConfigImpl.java | 24 ++ .../platform/fabric/ModInitializerImpl.java | 15 ++ .../platform/forge/ConfigImpl.java | 31 +++ .../platform/forge/ModInitializer.java | 25 +- .../forge/datagen/BlockStateProviderImpl.java | 4 +- .../forge/datagen/DataGenerators.java | 5 - .../forge/datagen/loot/BlockDropProvider.java | 2 + .../recipe/RecoloringRecipeProvider.java | 3 + .../datagen/tag/ItemTagsProviderImpl.java | 5 + .../inventory/InsertExtractItemHandler.java | 52 +++++ .../forge/support/inventory/package-info.java | 7 + .../api/storage/AccessMode.java | 10 +- .../api/storage/StateTrackedStorage.java | 4 + .../storage/composite/CompositeStorage.java | 2 +- .../PrioritizedStorageComparator.java | 4 +- .../{Priority.java => PriorityProvider.java} | 2 +- .../storage/composite/PriorityStorage.java | 2 +- 140 files changed, 2644 insertions(+), 438 deletions(-) rename refinedstorage2-network/src/main/java/com/refinedmods/refinedstorage2/api/network/impl/storage/{AbstractStorageNetworkNode.java => NetworkNodeStorageConfiguration.java} (78%) create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_disk_interface.json create mode 100644 refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/disk_interfaces.json create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/AbstractDiskContainerBlockEntity.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/DiskContainerBlockEntityTicker.java delete mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskdrive/DiskDriveBlockEntityTicker.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/DiskInterfaceBlock.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/DiskInterfaceBlockEntity.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/DiskInterfaceContainerMenu.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/DiskInterfacePropertyTypes.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/DiskInterfaceScreen.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/TransferModeSettings.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/TransferModeSideButtonWidget.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/package-info.java create mode 100644 refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractActiveColoredDirectionalBlock.java rename refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/{SimpleFilteredContainer.java => FilteredContainer.java} (73%) create mode 100644 refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/textures/gui/disk_interface.png create mode 100644 refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/interfacing_with_disks.json create mode 100644 refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/disk_interface.json create mode 100644 refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/inventory/InsertExtractItemHandler.java create mode 100644 refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/inventory/package-info.java rename refinedstorage2-storage-api/src/main/java/com/refinedmods/refinedstorage2/api/storage/composite/{Priority.java => PriorityProvider.java} (93%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fb444c81..4b5fba704 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,14 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ### Added +- Disk Interface (formerly known as the "Disk Manipulator"). - Item tag translations. +### Fixed + +- Relay having no help tooltip. +- Fixed bug where adding more Speed Upgrades would actually slow down the device even more. + ## [2.0.0-milestone.3.13] - 2024-06-16 ## [2.0.0-milestone.3.12] - 2024-06-16 diff --git a/config/intellij-code-style.xml b/config/intellij-code-style.xml index 9a82b0fd0..49b79c2e9 100644 --- a/config/intellij-code-style.xml +++ b/config/intellij-code-style.xml @@ -1,5 +1,7 @@ +