diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 247bb242b..de53558c3 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -35,7 +35,7 @@ body: description: | If your Minecraft version isn't listed here, it means that it isn't supported. In that case, don't create an issue. options: - - Minecraft 1.20.4 + - Minecraft 1.21 validations: required: true - type: input diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cc884518b..26ea270df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,7 +8,7 @@ on: types: [ opened, synchronize, reopened ] jobs: build: - uses: refinedmods/refinedarchitect/.github/workflows/build.yml@v0.13.4 + uses: refinedmods/refinedarchitect/.github/workflows/build.yml@v0.14.3 with: gametests: true secrets: inherit diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml index 5ea1d94ee..2498347be 100644 --- a/.github/workflows/draft-release.yml +++ b/.github/workflows/draft-release.yml @@ -17,7 +17,7 @@ on: type: string jobs: draft: - uses: refinedmods/refinedarchitect/.github/workflows/draft-release.yml@v0.13.4 + uses: refinedmods/refinedarchitect/.github/workflows/draft-release.yml@v0.14.3 with: release-type: ${{ inputs.release-type }} version-number-override: ${{ inputs.version-number-override }} diff --git a/.github/workflows/issue-for-unsupported-version.yml b/.github/workflows/issue-for-unsupported-version.yml index 9f9ee90e4..fbe1751c1 100644 --- a/.github/workflows/issue-for-unsupported-version.yml +++ b/.github/workflows/issue-for-unsupported-version.yml @@ -4,4 +4,4 @@ on: types: [ labeled, unlabeled, reopened ] jobs: unsupported-labeler: - uses: refinedmods/refinedarchitect/.github/workflows/issue-for-unsupported-version.yml@v0.13.4 \ No newline at end of file + uses: refinedmods/refinedarchitect/.github/workflows/issue-for-unsupported-version.yml@v0.14.3 \ No newline at end of file diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index d0391af4b..de7a0f22c 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -7,7 +7,8 @@ on: - closed jobs: publish-release: - uses: refinedmods/refinedarchitect/.github/workflows/publish-release.yml@v0.13.4 + uses: refinedmods/refinedarchitect/.github/workflows/publish-release.yml@v0.14.3 secrets: inherit with: project-name: 'Refined Storage' + gametests: true diff --git a/.github/workflows/resolved-issue-locking.yml b/.github/workflows/resolved-issue-locking.yml index 16b1cf9e1..46aca1095 100644 --- a/.github/workflows/resolved-issue-locking.yml +++ b/.github/workflows/resolved-issue-locking.yml @@ -4,4 +4,4 @@ on: - cron: '0 0 * * *' jobs: lock: - uses: refinedmods/refinedarchitect/.github/workflows/resolved-issue-locking.yml@v0.13.4 \ No newline at end of file + uses: refinedmods/refinedarchitect/.github/workflows/resolved-issue-locking.yml@v0.14.3 \ No newline at end of file diff --git a/.github/workflows/validate-branch-name.yml b/.github/workflows/validate-branch-name.yml index b2ddb776a..48b3acb59 100644 --- a/.github/workflows/validate-branch-name.yml +++ b/.github/workflows/validate-branch-name.yml @@ -2,4 +2,4 @@ name: Validate branch name on: [ pull_request ] jobs: validate-branch-name: - uses: refinedmods/refinedarchitect/.github/workflows/validate-branch-name.yml@v0.13.4 \ No newline at end of file + uses: refinedmods/refinedarchitect/.github/workflows/validate-branch-name.yml@v0.14.3 \ No newline at end of file diff --git a/.github/workflows/validate-changelog.yml b/.github/workflows/validate-changelog.yml index 2adc54f63..797504050 100644 --- a/.github/workflows/validate-changelog.yml +++ b/.github/workflows/validate-changelog.yml @@ -4,4 +4,4 @@ on: types: [ opened, synchronize, reopened, ready_for_review, labeled, unlabeled ] jobs: validate-changelog: - uses: refinedmods/refinedarchitect/.github/workflows/validate-changelog.yml@v0.13.4 \ No newline at end of file + uses: refinedmods/refinedarchitect/.github/workflows/validate-changelog.yml@v0.14.3 \ No newline at end of file diff --git a/.github/workflows/validate-commit-messages.yml b/.github/workflows/validate-commit-messages.yml index 8ef06cd33..72b08ed2e 100644 --- a/.github/workflows/validate-commit-messages.yml +++ b/.github/workflows/validate-commit-messages.yml @@ -2,4 +2,4 @@ name: Validate commit messages on: [ pull_request ] jobs: validate-commit-messages: - uses: refinedmods/refinedarchitect/.github/workflows/validate-commit-messages.yml@v0.13.4 \ No newline at end of file + uses: refinedmods/refinedarchitect/.github/workflows/validate-commit-messages.yml@v0.14.3 \ No newline at end of file diff --git a/.idea/dictionaries/refinedstorage2.xml b/.idea/dictionaries/refinedstorage2.xml index 358caf40a..aeda850ec 100644 --- a/.idea/dictionaries/refinedstorage2.xml +++ b/.idea/dictionaries/refinedstorage2.xml @@ -2,6 +2,7 @@ autocrafting + emissive redstone diff --git a/CHANGELOG.md b/CHANGELOG.md index ddf7695d6..35a292131 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,21 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added + +- Ported to Minecraft 1.21. +- More help information for items. + +### Fixed + +- Regulator Upgrade having wrong GUI title. +- Crafting Grid not dropping crafting matrix contents when broken. +- "+1" amount screen button not doing anything. + +### Changed + +- Internal data format for storages. Storages from milestone 3 are incompatible and will not be transferred. + ## [2.0.0-milestone.3.14] - 2024-06-28 ### Added diff --git a/gradle.properties b/gradle.properties index 1e6a9cb58..a8d260d7d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,2 @@ -noIndiumVersion=1.1.0+1.20.4 # Gradle org.gradle.jvmargs=-Xmx1G diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b82aa23a4..a4413138c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/PlatformApi.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/PlatformApi.java index 0fb88e195..ffec6dfd1 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/PlatformApi.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/PlatformApi.java @@ -52,7 +52,6 @@ import javax.annotation.Nullable; import net.minecraft.core.BlockPos; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; @@ -72,6 +71,8 @@ public interface PlatformApi { PlatformRegistry getStorageTypeRegistry(); + StorageRepository getClientStorageRepository(); + StorageRepository getStorageRepository(Level level); StorageContainerItemHelper getStorageContainerItemHelper(); @@ -106,8 +107,6 @@ public interface PlatformApi { PlatformRegistry getGridSynchronizerRegistry(); - void writeGridScreenOpeningData(Grid grid, FriendlyByteBuf buf); - UpgradeRegistry getUpgradeRegistry(); BuiltinUpgradeDestinations getBuiltinUpgradeDestinations(); @@ -189,10 +188,6 @@ EnergyStorage asBlockItemEnergyStorage( PlatformRegistry getSlotReferenceFactoryRegistry(); - void writeSlotReference(SlotReference slotReference, FriendlyByteBuf buf); - - Optional getSlotReference(FriendlyByteBuf buf); - void addSlotReferenceProvider(SlotReferenceProvider slotReferenceProvider); SlotReference createInventorySlotReference(Player player, InteractionHand hand); diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/PlatformApiProxy.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/PlatformApiProxy.java index abfbb6044..234263513 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/PlatformApiProxy.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/PlatformApiProxy.java @@ -52,7 +52,6 @@ import javax.annotation.Nullable; import net.minecraft.core.BlockPos; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; @@ -81,6 +80,11 @@ public PlatformRegistry getStorageTypeRegistry() { return ensureLoaded().getStorageTypeRegistry(); } + @Override + public StorageRepository getClientStorageRepository() { + return ensureLoaded().getClientStorageRepository(); + } + @Override public StorageRepository getStorageRepository(final Level level) { return ensureLoaded().getStorageRepository(level); @@ -166,11 +170,6 @@ public PlatformRegistry getGridSynchronizerRegistry() { return ensureLoaded().getGridSynchronizerRegistry(); } - @Override - public void writeGridScreenOpeningData(final Grid grid, final FriendlyByteBuf buf) { - ensureLoaded().writeGridScreenOpeningData(grid, buf); - } - @Override public UpgradeRegistry getUpgradeRegistry() { return ensureLoaded().getUpgradeRegistry(); @@ -358,16 +357,6 @@ public PlatformRegistry getSlotReferenceFactoryRegistry() return ensureLoaded().getSlotReferenceFactoryRegistry(); } - @Override - public void writeSlotReference(final SlotReference slotReference, final FriendlyByteBuf buf) { - ensureLoaded().writeSlotReference(slotReference, buf); - } - - @Override - public Optional getSlotReference(final FriendlyByteBuf buf) { - return ensureLoaded().getSlotReference(buf); - } - @Override public void addSlotReferenceProvider(final SlotReferenceProvider slotReferenceProvider) { ensureLoaded().addSlotReferenceProvider(slotReferenceProvider); diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/configurationcard/ConfigurationCardTarget.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/configurationcard/ConfigurationCardTarget.java index e3f8c79d0..846a96fe1 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/configurationcard/ConfigurationCardTarget.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/configurationcard/ConfigurationCardTarget.java @@ -3,6 +3,7 @@ import java.util.Collections; import java.util.List; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.item.Item; import org.apiguardian.api.API; @@ -12,9 +13,9 @@ */ @API(status = API.Status.STABLE, since = "2.0.0-milestone.3.2") public interface ConfigurationCardTarget { - void writeConfiguration(CompoundTag tag); + void writeConfiguration(CompoundTag tag, HolderLookup.Provider provider); - void readConfiguration(CompoundTag tag); + void readConfiguration(CompoundTag tag, HolderLookup.Provider provider); default List getUpgradeItems() { return Collections.emptyList(); diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/AbstractStorageContainerBlockItem.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/AbstractStorageContainerBlockItem.java index f4c499eae..7173fe2e6 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/AbstractStorageContainerBlockItem.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/AbstractStorageContainerBlockItem.java @@ -71,15 +71,12 @@ private void updateBlockEntityTag(final BlockPos pos, @Override public void appendHoverText(final ItemStack stack, - @Nullable final Level level, + final TooltipContext context, final List tooltip, - final TooltipFlag context) { - super.appendHoverText(stack, level, tooltip, context); - if (level == null) { - return; - } - final StorageRepository storageRepository = PlatformApi.INSTANCE.getStorageRepository(level); - helper.appendToTooltip(stack, storageRepository, tooltip, context, this::formatAmount, hasCapacity()); + final TooltipFlag flag) { + super.appendHoverText(stack, context, tooltip, flag); + final StorageRepository storageRepository = PlatformApi.INSTANCE.getClientStorageRepository(); + helper.appendToTooltip(stack, storageRepository, tooltip, flag, this::formatAmount, hasCapacity()); } protected abstract boolean hasCapacity(); diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/AbstractStorageContainerItem.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/AbstractStorageContainerItem.java index f82f05397..b9d56b401 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/AbstractStorageContainerItem.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/AbstractStorageContainerItem.java @@ -1,6 +1,5 @@ package com.refinedmods.refinedstorage2.platform.api.storage; -import com.refinedmods.refinedstorage2.api.storage.Storage; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import java.util.List; @@ -28,8 +27,8 @@ protected AbstractStorageContainerItem(final Properties properties, final Storag } @Override - public Optional resolve(final StorageRepository storageRepository, final ItemStack stack) { - return helper.resolve(storageRepository, stack); + public Optional resolve(final StorageRepository storageRepository, final ItemStack stack) { + return helper.resolveStorage(storageRepository, stack); } @Override @@ -52,30 +51,27 @@ public void inventoryTick(final ItemStack stack, final int slot, final boolean selected) { super.inventoryTick(stack, level, entity, slot, selected); - if (!level.isClientSide() && !stack.hasTag() && entity instanceof Player) { + if (!level.isClientSide() && !helper.hasStorage(stack) && entity instanceof Player) { final StorageRepository storageRepository = PlatformApi.INSTANCE.getStorageRepository(level); - helper.set(storageRepository, stack, createStorage(storageRepository)); + helper.setStorage(storageRepository, stack, createStorage(storageRepository)); } } @Override public void appendHoverText(final ItemStack stack, - @Nullable final Level level, + final TooltipContext context, final List tooltip, - final TooltipFlag context) { - super.appendHoverText(stack, level, tooltip, context); - if (level == null) { - return; - } - final StorageRepository storageRepository = PlatformApi.INSTANCE.getStorageRepository(level); - helper.appendToTooltip(stack, storageRepository, tooltip, context, this::formatAmount, hasCapacity()); + final TooltipFlag flag) { + super.appendHoverText(stack, context, tooltip, flag); + final StorageRepository storageRepository = PlatformApi.INSTANCE.getClientStorageRepository(); + helper.appendToTooltip(stack, storageRepository, tooltip, flag, this::formatAmount, hasCapacity()); } protected abstract boolean hasCapacity(); protected abstract String formatAmount(long amount); - protected abstract Storage createStorage(StorageRepository storageRepository); + protected abstract SerializableStorage createStorage(StorageRepository storageRepository); protected abstract ItemStack createPrimaryDisassemblyByproduct(int count); diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/SerializableStorage.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/SerializableStorage.java index 801799a1e..57732b1e4 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/SerializableStorage.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/SerializableStorage.java @@ -1,8 +1,18 @@ package com.refinedmods.refinedstorage2.platform.api.storage; +import com.refinedmods.refinedstorage2.api.storage.Storage; +import com.refinedmods.refinedstorage2.platform.api.PlatformApi; + +import com.mojang.serialization.Codec; import org.apiguardian.api.API; @API(status = API.Status.STABLE, since = "2.0.0-milestone.1.4") -public interface SerializableStorage { +public interface SerializableStorage extends Storage { StorageType getType(); + + static Codec getCodec(final Runnable listener) { + return PlatformApi.INSTANCE.getStorageTypeRegistry() + .codec() + .dispatch(SerializableStorage::getType, storage -> storage.getMapCodec(listener)); + } } diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageContainerItem.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageContainerItem.java index 9d33a3bfa..b41fe46c4 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageContainerItem.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageContainerItem.java @@ -1,7 +1,5 @@ package com.refinedmods.refinedstorage2.platform.api.storage; -import com.refinedmods.refinedstorage2.api.storage.Storage; - import java.util.Optional; import java.util.function.Predicate; @@ -10,7 +8,7 @@ @API(status = API.Status.STABLE, since = "2.0.0-milestone.1.0") public interface StorageContainerItem { - Optional resolve(StorageRepository storageRepository, ItemStack stack); + Optional resolve(StorageRepository storageRepository, ItemStack stack); Optional getInfo(StorageRepository storageRepository, ItemStack stack); diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageContainerItemHelper.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageContainerItemHelper.java index c2428eac2..3e0b8131f 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageContainerItemHelper.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageContainerItemHelper.java @@ -1,7 +1,5 @@ package com.refinedmods.refinedstorage2.platform.api.storage; -import com.refinedmods.refinedstorage2.api.storage.Storage; - import java.util.List; import java.util.Map; import java.util.Optional; @@ -21,9 +19,11 @@ @API(status = API.Status.STABLE, since = "2.0.0-milestone.2.5") public interface StorageContainerItemHelper { - Optional resolve(StorageRepository storageRepository, ItemStack stack); + Optional resolveStorage(StorageRepository storageRepository, ItemStack stack); + + void setStorage(StorageRepository storageRepository, ItemStack stack, SerializableStorage storage); - void set(StorageRepository storageRepository, ItemStack stack, Storage storage); + boolean hasStorage(ItemStack stack); Optional getInfo(StorageRepository storageRepository, ItemStack stack); diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageRepository.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageRepository.java index 163833237..2ccffb075 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageRepository.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageRepository.java @@ -1,7 +1,5 @@ package com.refinedmods.refinedstorage2.platform.api.storage; -import com.refinedmods.refinedstorage2.api.storage.Storage; - import java.util.Optional; import java.util.UUID; @@ -15,7 +13,7 @@ public interface StorageRepository { * @param id the id * @return the storage, if present */ - Optional get(UUID id); + Optional get(UUID id); /** * Sets a storage by ID. @@ -23,7 +21,7 @@ public interface StorageRepository { * @param id the id * @param storage the storage */ - void set(UUID id, Storage storage); + void set(UUID id, SerializableStorage storage); /** * If the storage exists, and is empty, it will remove the storage from the repository. @@ -31,7 +29,7 @@ public interface StorageRepository { * @param id the id * @return the removed storage, if it existed and was empty */ - Optional removeIfEmpty(UUID id); + Optional removeIfEmpty(UUID id); /** * Retrieves info for a given storage ID. diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageType.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageType.java index af53007ed..7ab762f3a 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageType.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/storage/StorageType.java @@ -1,20 +1,17 @@ package com.refinedmods.refinedstorage2.platform.api.storage; import com.refinedmods.refinedstorage2.api.resource.ResourceKey; -import com.refinedmods.refinedstorage2.api.storage.Storage; import javax.annotation.Nullable; -import net.minecraft.nbt.CompoundTag; +import com.mojang.serialization.MapCodec; import org.apiguardian.api.API; @API(status = API.Status.STABLE, since = "2.0.0-milestone.1.4") public interface StorageType { - Storage create(@Nullable Long capacity, Runnable listener); + SerializableStorage create(@Nullable Long capacity, Runnable listener); - Storage fromTag(CompoundTag tag, Runnable listener); - - CompoundTag toTag(Storage storage); + MapCodec getMapCodec(Runnable listener); boolean isAllowed(ResourceKey resource); diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractEnergyBlockItem.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractEnergyBlockItem.java index af084eaf1..aa3675f35 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractEnergyBlockItem.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractEnergyBlockItem.java @@ -26,11 +26,11 @@ protected AbstractEnergyBlockItem(final Block block, final Properties properties @Override public void appendHoverText( final ItemStack stack, - @Nullable final Level level, + final TooltipContext context, final List lines, final TooltipFlag flag ) { - super.appendHoverText(stack, level, lines, flag); + super.appendHoverText(stack, context, lines, flag); helper.addTooltip(stack, lines); } diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractEnergyItem.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractEnergyItem.java index 0d3c846b6..1018e5cc6 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractEnergyItem.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractEnergyItem.java @@ -1,13 +1,11 @@ package com.refinedmods.refinedstorage2.platform.api.support.energy; import java.util.List; -import javax.annotation.Nullable; import net.minecraft.network.chat.Component; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; import org.apiguardian.api.API; @API(status = API.Status.STABLE, since = "2.0.0-milestone.3.1") @@ -22,11 +20,11 @@ protected AbstractEnergyItem(final Properties properties, final EnergyItemHelper @Override public void appendHoverText( final ItemStack stack, - @Nullable final Level level, + final TooltipContext context, final List lines, final TooltipFlag flag ) { - super.appendHoverText(stack, level, lines, flag); + super.appendHoverText(stack, context, lines, flag); helper.addTooltip(stack, lines); } diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractNetworkBoundEnergyItem.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractNetworkBoundEnergyItem.java index 16770c32c..7b8f679ea 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractNetworkBoundEnergyItem.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/energy/AbstractNetworkBoundEnergyItem.java @@ -7,7 +7,6 @@ import java.util.List; import java.util.Optional; -import javax.annotation.Nullable; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; @@ -45,10 +44,10 @@ public Optional getTooltipImage(final ItemStack stack) { @Override public void appendHoverText(final ItemStack stack, - @Nullable final Level level, + final TooltipContext context, final List tooltip, final TooltipFlag flag) { - super.appendHoverText(stack, level, tooltip, flag); + super.appendHoverText(stack, context, tooltip, flag); networkBoundItemHelper.addTooltip(stack, tooltip); } diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/network/bounditem/SlotReference.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/network/bounditem/SlotReference.java index 2affc8478..c5a365111 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/network/bounditem/SlotReference.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/network/bounditem/SlotReference.java @@ -2,7 +2,6 @@ import java.util.Optional; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import org.apiguardian.api.API; @@ -11,8 +10,6 @@ public interface SlotReference { boolean isDisabledSlot(int playerSlotIndex); - void writeToBuffer(FriendlyByteBuf buf); - Optional resolve(Player player); SlotReferenceFactory getFactory(); diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/network/bounditem/SlotReferenceFactory.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/network/bounditem/SlotReferenceFactory.java index 3bd695536..f94b1da7a 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/network/bounditem/SlotReferenceFactory.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/network/bounditem/SlotReferenceFactory.java @@ -1,9 +1,30 @@ package com.refinedmods.refinedstorage2.platform.api.support.network.bounditem; -import net.minecraft.network.FriendlyByteBuf; +import com.refinedmods.refinedstorage2.platform.api.PlatformApi; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.resources.ResourceLocation; import org.apiguardian.api.API; @API(status = API.Status.STABLE, since = "2.0.0-milestone.3.1") public interface SlotReferenceFactory { - SlotReference create(FriendlyByteBuf buf); + StreamCodec STREAM_CODEC = StreamCodec.of( + (buf, slotReference) -> { + final ResourceLocation factoryId = PlatformApi.INSTANCE.getSlotReferenceFactoryRegistry() + .getId(slotReference.getFactory()) + .orElseThrow(); + buf.writeResourceLocation(factoryId); + slotReference.getFactory().getStreamCodec().encode(buf, slotReference); + }, + buf -> { + final ResourceLocation factoryId = buf.readResourceLocation(); + final SlotReferenceFactory factory = PlatformApi.INSTANCE.getSlotReferenceFactoryRegistry() + .get(factoryId) + .orElseThrow(); + return factory.getStreamCodec().decode(buf); + } + ); + + StreamCodec getStreamCodec(); } diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/registry/PlatformRegistry.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/registry/PlatformRegistry.java index 29a490e35..18ead5170 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/registry/PlatformRegistry.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/registry/PlatformRegistry.java @@ -4,6 +4,9 @@ import java.util.Optional; import javax.annotation.Nullable; +import com.mojang.serialization.Codec; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.ResourceLocation; import org.apiguardian.api.API; @@ -48,4 +51,14 @@ public interface PlatformRegistry { */ @Nullable T nextOrNullIfLast(T value); + + /** + * @return a {@link Codec} for this registry + */ + Codec codec(); + + /** + * @return a {@link StreamCodec} for this registry + */ + StreamCodec streamCodec(); } diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/PlatformResourceKey.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/PlatformResourceKey.java index b6987d6c6..b12fe2831 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/PlatformResourceKey.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/PlatformResourceKey.java @@ -2,16 +2,10 @@ import com.refinedmods.refinedstorage2.api.resource.ResourceKey; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; import org.apiguardian.api.API; @API(status = API.Status.STABLE, since = "2.0.0-milestone.3.4") public interface PlatformResourceKey extends ResourceKey { - CompoundTag toTag(); - - void toBuffer(FriendlyByteBuf buf); - long getInterfaceExportLimit(); ResourceType getResourceType(); diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/ResourceContainer.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/ResourceContainer.java index 69ada0d77..df726ee9e 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/ResourceContainer.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/ResourceContainer.java @@ -8,8 +8,8 @@ import java.util.Set; import javax.annotation.Nullable; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; import org.apiguardian.api.API; @@ -57,13 +57,9 @@ default boolean isEmpty(int index) { List getResources(); - void writeToUpdatePacket(FriendlyByteBuf buf); + CompoundTag toTag(HolderLookup.Provider provider); - void readFromUpdatePacket(int index, FriendlyByteBuf buf); - - CompoundTag toTag(); - - void fromTag(CompoundTag tag); + void fromTag(CompoundTag tag, HolderLookup.Provider provider); ResourceFactory getPrimaryResourceFactory(); diff --git a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/ResourceType.java b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/ResourceType.java index a494eb278..f91131952 100644 --- a/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/ResourceType.java +++ b/refinedstorage2-platform-api/src/main/java/com/refinedmods/refinedstorage2/platform/api/support/resource/ResourceType.java @@ -8,17 +8,21 @@ import java.util.Optional; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.MutableComponent; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.ResourceLocation; import org.apiguardian.api.API; @API(status = API.Status.STABLE, since = "2.0.0-milestone.3.4") public interface ResourceType { - Optional fromTag(CompoundTag tag); + MapCodec getMapCodec(); - PlatformResourceKey fromBuffer(FriendlyByteBuf buf); + Codec getCodec(); + + StreamCodec getStreamCodec(); MutableComponent getTitle(); diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_cable.json new file mode 100644 index 000000000..ab4bdd4ec --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_constructor.json new file mode 100644 index 000000000..aeb4c584f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_controller.json new file mode 100644 index 000000000..a5f09a2e2 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_crafting_grid.json new file mode 100644 index 000000000..64ac26b02 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_destructor.json new file mode 100644 index 000000000..f60464039 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_detector.json new file mode 100644 index 000000000..e38cf2ea4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_disk_interface.json new file mode 100644 index 000000000..659d2dde5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_exporter.json new file mode 100644 index 000000000..187e40bba --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_external_storage.json new file mode 100644 index 000000000..e6ef99543 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_grid.json new file mode 100644 index 000000000..79d1c6cc1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_importer.json new file mode 100644 index 000000000..7fe610011 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_network_receiver.json new file mode 100644 index 000000000..ec3342f03 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_network_transmitter.json new file mode 100644 index 000000000..035a09847 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_relay.json new file mode 100644 index 000000000..cf3855aba --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_security_manager.json new file mode 100644 index 000000000..46d3f4359 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_wireless_transmitter.json new file mode 100644 index 000000000..71757e533 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/black_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/black_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/black_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_cable.json new file mode 100644 index 000000000..887460773 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_constructor.json new file mode 100644 index 000000000..462cb7d94 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_controller.json new file mode 100644 index 000000000..9fd5c5017 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_crafting_grid.json new file mode 100644 index 000000000..acac86f6f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_destructor.json new file mode 100644 index 000000000..bd31981f4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_detector.json new file mode 100644 index 000000000..23195504e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_disk_interface.json new file mode 100644 index 000000000..04dbd716c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_exporter.json new file mode 100644 index 000000000..59349bfd7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_external_storage.json new file mode 100644 index 000000000..2f5be5923 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_grid.json new file mode 100644 index 000000000..918085fc4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_importer.json new file mode 100644 index 000000000..ff786a7b1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_network_receiver.json new file mode 100644 index 000000000..73e02bd65 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_network_transmitter.json new file mode 100644 index 000000000..9bdfe44f9 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_relay.json new file mode 100644 index 000000000..c632b9f0d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_security_manager.json new file mode 100644 index 000000000..b05c0ea9c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_wireless_transmitter.json new file mode 100644 index 000000000..0da302949 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/blue_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/blue_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/blue_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_cable.json new file mode 100644 index 000000000..1114fc3ba --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_constructor.json new file mode 100644 index 000000000..0802a7620 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_controller.json new file mode 100644 index 000000000..695e39e8d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_crafting_grid.json new file mode 100644 index 000000000..e79e6defe --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_destructor.json new file mode 100644 index 000000000..07750f9dc --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_detector.json new file mode 100644 index 000000000..02a226bf0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_disk_interface.json new file mode 100644 index 000000000..0ec7a7bce --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_exporter.json new file mode 100644 index 000000000..3ecd6d90d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_external_storage.json new file mode 100644 index 000000000..ec47de81e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_grid.json new file mode 100644 index 000000000..bff3a2da3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_importer.json new file mode 100644 index 000000000..53f6390c3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_network_receiver.json new file mode 100644 index 000000000..c528846d3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_network_transmitter.json new file mode 100644 index 000000000..21ad97f20 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_relay.json new file mode 100644 index 000000000..7cfd069de --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_security_manager.json new file mode 100644 index 000000000..765f9db04 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_wireless_transmitter.json new file mode 100644 index 000000000..3c993f21e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/brown_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/brown_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/brown_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_cable.json new file mode 100644 index 000000000..818e8688a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_constructor.json new file mode 100644 index 000000000..ea007af43 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_controller.json new file mode 100644 index 000000000..84a7203ef --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_crafting_grid.json new file mode 100644 index 000000000..a8093f848 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_destructor.json new file mode 100644 index 000000000..005eb9abb --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_detector.json new file mode 100644 index 000000000..b54a6dbdc --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_disk_interface.json new file mode 100644 index 000000000..10bafc03f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_exporter.json new file mode 100644 index 000000000..172dac938 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_external_storage.json new file mode 100644 index 000000000..6e9d813da --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_grid.json new file mode 100644 index 000000000..65d08104a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_importer.json new file mode 100644 index 000000000..99579df09 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_network_receiver.json new file mode 100644 index 000000000..34a1bd5ba --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_network_transmitter.json new file mode 100644 index 000000000..11be23a3a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_relay.json new file mode 100644 index 000000000..1d2891dff --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_security_manager.json new file mode 100644 index 000000000..bf696080d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_wireless_transmitter.json new file mode 100644 index 000000000..81d706af3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/cyan_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/cyan_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/cyan_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_cable.json new file mode 100644 index 000000000..992e45a17 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_constructor.json new file mode 100644 index 000000000..8fdb3a574 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_controller.json new file mode 100644 index 000000000..39260847d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_crafting_grid.json new file mode 100644 index 000000000..374f9b1a8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_destructor.json new file mode 100644 index 000000000..51c84af5a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_detector.json new file mode 100644 index 000000000..0b26f68b9 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_disk_interface.json new file mode 100644 index 000000000..9fc5b6617 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_exporter.json new file mode 100644 index 000000000..bfef9412b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_external_storage.json new file mode 100644 index 000000000..c082be2f9 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_grid.json new file mode 100644 index 000000000..7c30db465 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_importer.json new file mode 100644 index 000000000..72c4237be --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_network_receiver.json new file mode 100644 index 000000000..37a41b196 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_network_transmitter.json new file mode 100644 index 000000000..1eae61331 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_relay.json new file mode 100644 index 000000000..2bd2d0f3b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_security_manager.json new file mode 100644 index 000000000..06a91266e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_wireless_transmitter.json new file mode 100644 index 000000000..8869b2e84 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/gray_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/gray_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/gray_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_cable.json new file mode 100644 index 000000000..cad2e17ac --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_constructor.json new file mode 100644 index 000000000..49f4a6cb0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_controller.json new file mode 100644 index 000000000..e9df569ff --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_crafting_grid.json new file mode 100644 index 000000000..d9455ec6d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_destructor.json new file mode 100644 index 000000000..2cf25b095 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_detector.json new file mode 100644 index 000000000..88bc00f52 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_disk_interface.json new file mode 100644 index 000000000..273634d77 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_exporter.json new file mode 100644 index 000000000..0784ffe2c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_external_storage.json new file mode 100644 index 000000000..636dfd661 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_grid.json new file mode 100644 index 000000000..3f57b02aa --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_importer.json new file mode 100644 index 000000000..5ebf53839 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_network_receiver.json new file mode 100644 index 000000000..ac73fada5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_network_transmitter.json new file mode 100644 index 000000000..7dfd6647d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_relay.json new file mode 100644 index 000000000..9c2d5a8f6 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_security_manager.json new file mode 100644 index 000000000..44e6cb5c7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_wireless_transmitter.json new file mode 100644 index 000000000..8402525ad --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/green_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/green_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/green_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_cable.json new file mode 100644 index 000000000..b25eac900 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_constructor.json new file mode 100644 index 000000000..dffd46d35 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_controller.json new file mode 100644 index 000000000..cd06eeb69 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_crafting_grid.json new file mode 100644 index 000000000..c16b97ab5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_destructor.json new file mode 100644 index 000000000..5227118a7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_detector.json new file mode 100644 index 000000000..8cab3fb1b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_disk_interface.json new file mode 100644 index 000000000..95b484a9f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_exporter.json new file mode 100644 index 000000000..43796a9ea --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_external_storage.json new file mode 100644 index 000000000..34a655642 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_grid.json new file mode 100644 index 000000000..7d5011598 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_importer.json new file mode 100644 index 000000000..86e4e49ea --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_network_receiver.json new file mode 100644 index 000000000..149e495f0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_network_transmitter.json new file mode 100644 index 000000000..f691c712b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_relay.json new file mode 100644 index 000000000..f45e93526 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_security_manager.json new file mode 100644 index 000000000..1f44c5ff0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_wireless_transmitter.json new file mode 100644 index 000000000..03423f6c3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_blue_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_blue_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_blue_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_cable.json new file mode 100644 index 000000000..0d2ae3acc --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_constructor.json new file mode 100644 index 000000000..95e632cb8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_controller.json new file mode 100644 index 000000000..c8a6ae6d0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_crafting_grid.json new file mode 100644 index 000000000..9506f708b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_destructor.json new file mode 100644 index 000000000..5802b49dd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_detector.json new file mode 100644 index 000000000..b39d6cf9f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_disk_interface.json new file mode 100644 index 000000000..5b5391441 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_exporter.json new file mode 100644 index 000000000..bb8b77c72 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_external_storage.json new file mode 100644 index 000000000..89259016e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_grid.json new file mode 100644 index 000000000..0c5b98aaf --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_importer.json new file mode 100644 index 000000000..b894c97a8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_network_receiver.json new file mode 100644 index 000000000..27041877d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_network_transmitter.json new file mode 100644 index 000000000..18eba00c8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_relay.json new file mode 100644 index 000000000..f838a20ba --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_security_manager.json new file mode 100644 index 000000000..a97c2c689 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_wireless_transmitter.json new file mode 100644 index 000000000..866f6b0d0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/light_gray_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/light_gray_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/light_gray_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_cable.json new file mode 100644 index 000000000..b36f1200d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_constructor.json new file mode 100644 index 000000000..f04dd8e06 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_controller.json new file mode 100644 index 000000000..759cce2f4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_crafting_grid.json new file mode 100644 index 000000000..2f38abb49 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_destructor.json new file mode 100644 index 000000000..b263d9b09 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_detector.json new file mode 100644 index 000000000..29e3772f1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_disk_interface.json new file mode 100644 index 000000000..0862348c4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_exporter.json new file mode 100644 index 000000000..ed0d1fce6 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_external_storage.json new file mode 100644 index 000000000..8f6a90bfd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_grid.json new file mode 100644 index 000000000..6d7934f1c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_importer.json new file mode 100644 index 000000000..32a9d974e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_network_receiver.json new file mode 100644 index 000000000..922f20e1c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_network_transmitter.json new file mode 100644 index 000000000..bfa5e9530 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_relay.json new file mode 100644 index 000000000..9ee088762 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_security_manager.json new file mode 100644 index 000000000..4839ab98a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_wireless_transmitter.json new file mode 100644 index 000000000..dafef7bab --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/lime_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/lime_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/lime_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_cable.json new file mode 100644 index 000000000..27e8ab7f6 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_constructor.json new file mode 100644 index 000000000..40106ad61 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_controller.json new file mode 100644 index 000000000..7384a9b78 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_crafting_grid.json new file mode 100644 index 000000000..5e2ac7077 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_destructor.json new file mode 100644 index 000000000..f2fed5377 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_detector.json new file mode 100644 index 000000000..3380cd263 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_disk_interface.json new file mode 100644 index 000000000..a8ca43d8f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_exporter.json new file mode 100644 index 000000000..d81e1e842 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_external_storage.json new file mode 100644 index 000000000..03452cd2b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_grid.json new file mode 100644 index 000000000..7a717dd89 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_importer.json new file mode 100644 index 000000000..565d37f4a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_network_receiver.json new file mode 100644 index 000000000..a888735f0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_network_transmitter.json new file mode 100644 index 000000000..d31c07686 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_relay.json new file mode 100644 index 000000000..98ce17bfd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_security_manager.json new file mode 100644 index 000000000..5e995a1c0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_wireless_transmitter.json new file mode 100644 index 000000000..538a7f3f5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/magenta_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/magenta_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/magenta_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_cable.json new file mode 100644 index 000000000..b828e936c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_constructor.json new file mode 100644 index 000000000..d5421099e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_controller.json new file mode 100644 index 000000000..45a04416f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_crafting_grid.json new file mode 100644 index 000000000..3f4adea8e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_destructor.json new file mode 100644 index 000000000..0e8278b53 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_detector.json new file mode 100644 index 000000000..352bed32a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_disk_interface.json new file mode 100644 index 000000000..292a7f033 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_exporter.json new file mode 100644 index 000000000..d8480b016 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_external_storage.json new file mode 100644 index 000000000..07f6171bf --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_grid.json new file mode 100644 index 000000000..ce7e23c70 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_importer.json new file mode 100644 index 000000000..c37a08599 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_network_receiver.json new file mode 100644 index 000000000..4acec5b00 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_network_transmitter.json new file mode 100644 index 000000000..d9d4e6854 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_relay.json new file mode 100644 index 000000000..2b37288ca --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_security_manager.json new file mode 100644 index 000000000..cb361b1e7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_wireless_transmitter.json new file mode 100644 index 000000000..84fae67ba --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/orange_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/orange_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/orange_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_cable.json new file mode 100644 index 000000000..9b896d5d9 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_constructor.json new file mode 100644 index 000000000..590235f5a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_controller.json new file mode 100644 index 000000000..dd6844a90 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_crafting_grid.json new file mode 100644 index 000000000..f789f3df2 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_destructor.json new file mode 100644 index 000000000..80d1e140b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_detector.json new file mode 100644 index 000000000..c5cb09fb0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_disk_interface.json new file mode 100644 index 000000000..bb6af5ac6 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_exporter.json new file mode 100644 index 000000000..5737ee7cf --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_external_storage.json new file mode 100644 index 000000000..f7c193d0e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_grid.json new file mode 100644 index 000000000..57cf192eb --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_importer.json new file mode 100644 index 000000000..b467bda6d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_network_receiver.json new file mode 100644 index 000000000..110da26fc --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_network_transmitter.json new file mode 100644 index 000000000..67c6b7c05 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_relay.json new file mode 100644 index 000000000..59f925d4a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_security_manager.json new file mode 100644 index 000000000..cebfd1411 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_wireless_transmitter.json new file mode 100644 index 000000000..94d9e6930 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/pink_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/pink_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/pink_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_cable.json new file mode 100644 index 000000000..73948842b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_constructor.json new file mode 100644 index 000000000..532a6a107 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_controller.json new file mode 100644 index 000000000..5d749fce1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_crafting_grid.json new file mode 100644 index 000000000..fddbcf83b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_destructor.json new file mode 100644 index 000000000..3fcd7e7aa --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_detector.json new file mode 100644 index 000000000..a1a88d96d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_disk_interface.json new file mode 100644 index 000000000..6b8c1c548 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_exporter.json new file mode 100644 index 000000000..d8c675f45 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_external_storage.json new file mode 100644 index 000000000..52f3be2c5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_grid.json new file mode 100644 index 000000000..120a948c9 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_importer.json new file mode 100644 index 000000000..d31b9eec4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_network_receiver.json new file mode 100644 index 000000000..624fbc222 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_network_transmitter.json new file mode 100644 index 000000000..74a3abcb7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_relay.json new file mode 100644 index 000000000..a6ea128cb --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_security_manager.json new file mode 100644 index 000000000..28f07edc0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_wireless_transmitter.json new file mode 100644 index 000000000..72c8ca98a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/purple_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/purple_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/purple_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_cable.json new file mode 100644 index 000000000..c6bfbceda --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_constructor.json new file mode 100644 index 000000000..e29bb0e07 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_controller.json new file mode 100644 index 000000000..a1ee215d4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_crafting_grid.json new file mode 100644 index 000000000..0f66ba87f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_destructor.json new file mode 100644 index 000000000..83fbcbb36 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_detector.json new file mode 100644 index 000000000..d4d2f421f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_disk_interface.json new file mode 100644 index 000000000..d3c68dbfe --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_exporter.json new file mode 100644 index 000000000..62c4a3cc8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_external_storage.json new file mode 100644 index 000000000..d8b3da12a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_grid.json new file mode 100644 index 000000000..cafd73caa --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_importer.json new file mode 100644 index 000000000..ef6c08452 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_network_receiver.json new file mode 100644 index 000000000..dab15f6a6 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_network_transmitter.json new file mode 100644 index 000000000..05abb06a7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_relay.json new file mode 100644 index 000000000..22699a7ad --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_security_manager.json new file mode 100644 index 000000000..92f1a2643 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_wireless_transmitter.json new file mode 100644 index 000000000..8119ecad7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/red_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/red_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/red_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_cable.json new file mode 100644 index 000000000..5c01b2dda --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_constructor.json new file mode 100644 index 000000000..9ac402a84 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_controller.json new file mode 100644 index 000000000..5d9a2bf31 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_crafting_grid.json new file mode 100644 index 000000000..aaf1827b8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_destructor.json new file mode 100644 index 000000000..f8dd49d83 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_detector.json new file mode 100644 index 000000000..2f29558be --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_disk_interface.json new file mode 100644 index 000000000..596d4c3db --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_exporter.json new file mode 100644 index 000000000..edc903ed8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_external_storage.json new file mode 100644 index 000000000..be9bdd23d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_grid.json new file mode 100644 index 000000000..4752ba123 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_importer.json new file mode 100644 index 000000000..e96405e91 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_network_receiver.json new file mode 100644 index 000000000..c43a3c3ed --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_network_transmitter.json new file mode 100644 index 000000000..a5cd19a0e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_relay.json new file mode 100644 index 000000000..08f44a42b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_security_manager.json new file mode 100644 index 000000000..c74df0f1e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_wireless_transmitter.json new file mode 100644 index 000000000..a83b407a1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/white_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/white_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/white_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_cable.json new file mode 100644 index 000000000..8e1e26eb8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_cable.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cables": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:cables" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_cable" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cables" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_cable" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_constructor.json new file mode 100644 index 000000000..7be5a92ba --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_constructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_constructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:constructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_constructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_constructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_constructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_controller.json new file mode 100644 index 000000000..e3989aa47 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_controllers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:controllers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_controllers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_controller" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_crafting_grid.json new file mode 100644 index 000000000..55878f9a0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_crafting_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crafting_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:crafting_grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_crafting_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crafting_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_crafting_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_destructor.json new file mode 100644 index 000000000..271941d65 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_destructor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_destructors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:destructors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_destructor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_destructors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_destructor" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_detector.json new file mode 100644 index 000000000..0c241b64d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_detector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detectors": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:detectors" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_detector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detectors" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_detector" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_disk_interface.json new file mode 100644 index 000000000..787f2f838 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_disk_interface.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_disk_interfaces": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:disk_interfaces" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_disk_interface" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_disk_interfaces" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_disk_interface" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_exporter.json new file mode 100644 index 000000000..96328752c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_exporter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_exporters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:exporters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_exporter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_exporters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_exporter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_external_storage.json new file mode 100644 index 000000000..683e67880 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_external_storage.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_external_storages": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:external_storages" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_external_storage" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_external_storages" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_external_storage" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_grid.json new file mode 100644 index 000000000..70affa4f3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_grid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_grids": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:grids" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_grid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_grids" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_grid" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_importer.json new file mode 100644 index 000000000..75ec200e6 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_importer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_importers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:importers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_importer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_importers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_importer" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_network_receiver.json new file mode 100644 index 000000000..cbb5a32be --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_network_receiver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_receivers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_receivers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_network_receiver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_receivers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_network_receiver" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_network_transmitter.json new file mode 100644 index 000000000..b6dcf8edd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_network_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_network_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:network_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_network_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_network_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_network_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_relay.json new file mode 100644 index 000000000..f9c2f6021 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_relay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_relays": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:relays" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_relay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_relays" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_relay" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_security_manager.json new file mode 100644 index 000000000..7fb7a521e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_security_manager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_security_managers": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:security_managers" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_security_manager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_security_managers" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_security_manager" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_wireless_transmitter.json new file mode 100644 index 000000000..e76b3bafe --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancement/recipes/misc/coloring/yellow_wireless_transmitter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "refinedstorage2:coloring/yellow_wireless_transmitter" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wireless_transmitters": { + "conditions": { + "items": [ + { + "items": "#refinedstorage2:wireless_transmitters" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wireless_transmitters" + ] + ], + "rewards": { + "recipes": [ + "refinedstorage2:coloring/yellow_wireless_transmitter" + ] + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_cable.json deleted file mode 100644 index d3db991f0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_constructor.json deleted file mode 100644 index 1dd5e8d4b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_controller.json deleted file mode 100644 index 9c61d03da..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_crafting_grid.json deleted file mode 100644 index f63aa8ac7..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_destructor.json deleted file mode 100644 index 084f62c1f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_detector.json deleted file mode 100644 index 647cf0300..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_disk_interface.json deleted file mode 100644 index 2257e11c5..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_exporter.json deleted file mode 100644 index 19461a32b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_external_storage.json deleted file mode 100644 index b63faf1bc..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_grid.json deleted file mode 100644 index dc32ec5e7..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_importer.json deleted file mode 100644 index e1e5f246c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_importer" - ] - } -} \ 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 deleted file mode 100644 index a25c7205b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_network_transmitter.json deleted file mode 100644 index b31d9bcc2..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_relay.json deleted file mode 100644 index 3377dcb4c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_security_manager.json deleted file mode 100644 index 1c8eadbfb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_wireless_transmitter.json deleted file mode 100644 index 75467defa..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/black_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/black_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/black_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_cable.json deleted file mode 100644 index d6ab78505..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_constructor.json deleted file mode 100644 index 7f14346e2..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_controller.json deleted file mode 100644 index eed4ee1ef..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_crafting_grid.json deleted file mode 100644 index 7d5bc773a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_destructor.json deleted file mode 100644 index 10284b92a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_detector.json deleted file mode 100644 index c46103976..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_disk_interface.json deleted file mode 100644 index 41ca613dd..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_exporter.json deleted file mode 100644 index 3293b363d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_external_storage.json deleted file mode 100644 index 021e6300b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_grid.json deleted file mode 100644 index c43c0b299..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_importer.json deleted file mode 100644 index 6ed2abe77..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_importer" - ] - } -} \ 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 deleted file mode 100644 index 79acce956..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_network_transmitter.json deleted file mode 100644 index d692e772c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_relay.json deleted file mode 100644 index 15e6f885c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_security_manager.json deleted file mode 100644 index 160bfa32b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_wireless_transmitter.json deleted file mode 100644 index 0297bb91c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/blue_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/blue_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/blue_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_cable.json deleted file mode 100644 index 36eb6d6ff..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_constructor.json deleted file mode 100644 index 1826b2c6d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_controller.json deleted file mode 100644 index 153a130df..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_crafting_grid.json deleted file mode 100644 index 85633ff2d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_destructor.json deleted file mode 100644 index 23445c672..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_detector.json deleted file mode 100644 index a3badbb5e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_disk_interface.json deleted file mode 100644 index e0ae1f4fc..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_exporter.json deleted file mode 100644 index a376591e8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_external_storage.json deleted file mode 100644 index f32dd9ca8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_grid.json deleted file mode 100644 index b0030066e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_importer.json deleted file mode 100644 index 4314c14e9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_importer" - ] - } -} \ 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 deleted file mode 100644 index 194e86e3a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_network_transmitter.json deleted file mode 100644 index 88736f539..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_relay.json deleted file mode 100644 index cffbbfee1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_security_manager.json deleted file mode 100644 index 1b680cccb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_wireless_transmitter.json deleted file mode 100644 index 163ff2101..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/brown_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/brown_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/brown_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_cable.json deleted file mode 100644 index 0302bfb36..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_constructor.json deleted file mode 100644 index d1ae5f9ea..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_controller.json deleted file mode 100644 index db27f5170..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_crafting_grid.json deleted file mode 100644 index 26cfd294c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_destructor.json deleted file mode 100644 index 6067674d3..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_detector.json deleted file mode 100644 index 1e09263e9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_disk_interface.json deleted file mode 100644 index 858d22003..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_exporter.json deleted file mode 100644 index 60ab95120..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_external_storage.json deleted file mode 100644 index 92c1398d8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_grid.json deleted file mode 100644 index b091dacfa..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_importer.json deleted file mode 100644 index 8878b3d27..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_importer" - ] - } -} \ 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 deleted file mode 100644 index 5816a373b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_network_transmitter.json deleted file mode 100644 index 1d4f20b4c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_relay.json deleted file mode 100644 index 776a551b8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_security_manager.json deleted file mode 100644 index dc3fa7712..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_wireless_transmitter.json deleted file mode 100644 index fef581b84..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/cyan_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/cyan_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/cyan_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_cable.json deleted file mode 100644 index 70d872141..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_constructor.json deleted file mode 100644 index 1ec85077d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_controller.json deleted file mode 100644 index 4239623f9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_crafting_grid.json deleted file mode 100644 index 58e0adb2c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_destructor.json deleted file mode 100644 index 74d9347fb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_detector.json deleted file mode 100644 index 7040db113..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_disk_interface.json deleted file mode 100644 index e1dd246f9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_exporter.json deleted file mode 100644 index de6223b7d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_external_storage.json deleted file mode 100644 index 1050b7fe6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_grid.json deleted file mode 100644 index 1c5ccba36..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_importer.json deleted file mode 100644 index 2c8c3581f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_importer" - ] - } -} \ 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 deleted file mode 100644 index 0de56015d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_network_transmitter.json deleted file mode 100644 index 5de9bb735..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_relay.json deleted file mode 100644 index eafcb62d5..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_security_manager.json deleted file mode 100644 index 8dfa953ea..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_wireless_transmitter.json deleted file mode 100644 index 2a6d0da6b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/gray_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/gray_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/gray_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_cable.json deleted file mode 100644 index 24be1c12e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_constructor.json deleted file mode 100644 index d3f92385d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_controller.json deleted file mode 100644 index 9439a48be..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_crafting_grid.json deleted file mode 100644 index 691ede3dd..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_destructor.json deleted file mode 100644 index 82e6917cf..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_detector.json deleted file mode 100644 index c19a599cb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_disk_interface.json deleted file mode 100644 index cc710d923..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_exporter.json deleted file mode 100644 index 3625522a6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_external_storage.json deleted file mode 100644 index d1f361f81..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_grid.json deleted file mode 100644 index b8f0def56..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_importer.json deleted file mode 100644 index 6c45f05f1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_importer" - ] - } -} \ 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 deleted file mode 100644 index 0aac86085..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_network_transmitter.json deleted file mode 100644 index e1c1680dc..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_relay.json deleted file mode 100644 index 82699eef5..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_security_manager.json deleted file mode 100644 index da323c613..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_wireless_transmitter.json deleted file mode 100644 index 49164ba8b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/green_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/green_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/green_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_cable.json deleted file mode 100644 index ed91eb4d0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_constructor.json deleted file mode 100644 index 3396ea2b1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_controller.json deleted file mode 100644 index afc6b1b15..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_crafting_grid.json deleted file mode 100644 index 4d8a692d6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_destructor.json deleted file mode 100644 index 071729d51..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_detector.json deleted file mode 100644 index 3a7b78639..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_disk_interface.json deleted file mode 100644 index fb3a61b9a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_exporter.json deleted file mode 100644 index 4a255bab4..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_external_storage.json deleted file mode 100644 index 49a924928..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_grid.json deleted file mode 100644 index 610baf8c0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_importer.json deleted file mode 100644 index 13a4bc3da..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_importer" - ] - } -} \ 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 deleted file mode 100644 index 00638c4ac..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_network_transmitter.json deleted file mode 100644 index 0ba8c5ccb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_relay.json deleted file mode 100644 index a59f37c02..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_security_manager.json deleted file mode 100644 index 509373708..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_wireless_transmitter.json deleted file mode 100644 index 0750362c6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_blue_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_blue_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_blue_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_cable.json deleted file mode 100644 index f2a2ddc6a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_constructor.json deleted file mode 100644 index b40e6a001..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_controller.json deleted file mode 100644 index 2a0344eb4..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_crafting_grid.json deleted file mode 100644 index 1fc9ad612..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_destructor.json deleted file mode 100644 index f2a798a2d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_detector.json deleted file mode 100644 index 4d554feca..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_disk_interface.json deleted file mode 100644 index ab7a7dced..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_exporter.json deleted file mode 100644 index baa2b23aa..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_external_storage.json deleted file mode 100644 index 7b9b00cb3..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_grid.json deleted file mode 100644 index 8a5d3f4d4..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_importer.json deleted file mode 100644 index 1229fb09e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_importer" - ] - } -} \ 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 deleted file mode 100644 index edc0cafe1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_network_transmitter.json deleted file mode 100644 index 81ee89e5f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_relay.json deleted file mode 100644 index 83690021d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_security_manager.json deleted file mode 100644 index be6a18ddb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_wireless_transmitter.json deleted file mode 100644 index bf5c05053..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/light_gray_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/light_gray_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/light_gray_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_cable.json deleted file mode 100644 index f036152b7..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_constructor.json deleted file mode 100644 index af59234ad..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_controller.json deleted file mode 100644 index 98a0b48c6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_crafting_grid.json deleted file mode 100644 index e8d644c80..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_destructor.json deleted file mode 100644 index 7000778a6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_detector.json deleted file mode 100644 index 059a9cec8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_disk_interface.json deleted file mode 100644 index 2764afa20..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_exporter.json deleted file mode 100644 index 3a080ef54..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_external_storage.json deleted file mode 100644 index 5251287c0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_grid.json deleted file mode 100644 index 3b644ae8e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_importer.json deleted file mode 100644 index c18d8d042..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_importer" - ] - } -} \ 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 deleted file mode 100644 index 13226fa91..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_network_transmitter.json deleted file mode 100644 index 8186b4d10..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_relay.json deleted file mode 100644 index fb2918db3..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_security_manager.json deleted file mode 100644 index 727c71661..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_wireless_transmitter.json deleted file mode 100644 index 6268dc123..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/lime_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/lime_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/lime_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_cable.json deleted file mode 100644 index fabef1c76..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_constructor.json deleted file mode 100644 index 1303f9eba..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_controller.json deleted file mode 100644 index 45b19c436..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_crafting_grid.json deleted file mode 100644 index e553a097e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_destructor.json deleted file mode 100644 index 1285cc6ce..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_detector.json deleted file mode 100644 index 62d44798d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_disk_interface.json deleted file mode 100644 index 119f28827..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_exporter.json deleted file mode 100644 index 400335a10..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_external_storage.json deleted file mode 100644 index 19ffa164c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_grid.json deleted file mode 100644 index a9e38b2d0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_importer.json deleted file mode 100644 index bf6e0a693..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_importer" - ] - } -} \ 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 deleted file mode 100644 index 186fdc0e1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_network_transmitter.json deleted file mode 100644 index 99be2e932..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_relay.json deleted file mode 100644 index 80665cba1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_security_manager.json deleted file mode 100644 index 4a1a0ae89..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_wireless_transmitter.json deleted file mode 100644 index fea49c827..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/magenta_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/magenta_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/magenta_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_cable.json deleted file mode 100644 index 0285255cb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_constructor.json deleted file mode 100644 index 32c8ad26c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_controller.json deleted file mode 100644 index 49c981231..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_crafting_grid.json deleted file mode 100644 index e3539cf72..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_destructor.json deleted file mode 100644 index f5f2a7aa2..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_detector.json deleted file mode 100644 index 0e74d3dc6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_disk_interface.json deleted file mode 100644 index cf3152b32..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_exporter.json deleted file mode 100644 index b75722db9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_external_storage.json deleted file mode 100644 index 231a43c1a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_grid.json deleted file mode 100644 index 851c33b29..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_importer.json deleted file mode 100644 index 7a61d79f6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_importer" - ] - } -} \ 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 deleted file mode 100644 index b431a22cb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_network_transmitter.json deleted file mode 100644 index b5c9fee67..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_relay.json deleted file mode 100644 index 2e38b0954..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_security_manager.json deleted file mode 100644 index f53c67264..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_wireless_transmitter.json deleted file mode 100644 index cf0d51e26..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/orange_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/orange_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/orange_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_cable.json deleted file mode 100644 index 075f77bf9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_constructor.json deleted file mode 100644 index 77a35f5e0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_controller.json deleted file mode 100644 index ddcf2b74b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_crafting_grid.json deleted file mode 100644 index 55eafcb5a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_destructor.json deleted file mode 100644 index c0d6b97e1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_detector.json deleted file mode 100644 index bb09f83da..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_disk_interface.json deleted file mode 100644 index 390609317..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_exporter.json deleted file mode 100644 index 9b15831dc..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_external_storage.json deleted file mode 100644 index b8992ae5d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_grid.json deleted file mode 100644 index ba5e6b45c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_importer.json deleted file mode 100644 index 7d6ae0423..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_importer" - ] - } -} \ 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 deleted file mode 100644 index 7f409edd2..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_network_transmitter.json deleted file mode 100644 index 2a182295a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_relay.json deleted file mode 100644 index bce19fbb8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_security_manager.json deleted file mode 100644 index dc4adf64e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_wireless_transmitter.json deleted file mode 100644 index 74e50c3f3..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/pink_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/pink_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/pink_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_cable.json deleted file mode 100644 index c3f5c4b7c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_constructor.json deleted file mode 100644 index 6491e37b5..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_controller.json deleted file mode 100644 index 3b99479f9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_crafting_grid.json deleted file mode 100644 index 6131d8467..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_destructor.json deleted file mode 100644 index 1adb6c96a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_detector.json deleted file mode 100644 index 9bef13044..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_disk_interface.json deleted file mode 100644 index 9fe40f476..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_exporter.json deleted file mode 100644 index 97ed5f52b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_external_storage.json deleted file mode 100644 index 5129f4a43..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_grid.json deleted file mode 100644 index 0daf73dc0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_importer.json deleted file mode 100644 index 32b71ef30..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_importer" - ] - } -} \ 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 deleted file mode 100644 index 53cb7df95..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_network_transmitter.json deleted file mode 100644 index 9babbd664..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_relay.json deleted file mode 100644 index 8defcc832..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_security_manager.json deleted file mode 100644 index 8fb8d9831..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_wireless_transmitter.json deleted file mode 100644 index e82d0ed5d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/purple_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/purple_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/purple_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_cable.json deleted file mode 100644 index ebdc8bc40..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_constructor.json deleted file mode 100644 index 06d07941c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_controller.json deleted file mode 100644 index dac1b12d5..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_crafting_grid.json deleted file mode 100644 index 2de8f3d60..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_destructor.json deleted file mode 100644 index 47d2b537c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_detector.json deleted file mode 100644 index 88044470f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_disk_interface.json deleted file mode 100644 index f79298968..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_exporter.json deleted file mode 100644 index b1bda95f9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_external_storage.json deleted file mode 100644 index ca6b06064..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_grid.json deleted file mode 100644 index 20c87df16..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_importer.json deleted file mode 100644 index 34b68501b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_importer" - ] - } -} \ 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 deleted file mode 100644 index e19c1aca1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_network_transmitter.json deleted file mode 100644 index 04ca13c8a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_relay.json deleted file mode 100644 index 850719359..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_security_manager.json deleted file mode 100644 index 91eb31661..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_wireless_transmitter.json deleted file mode 100644 index 01070f18d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/red_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/red_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/red_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_cable.json deleted file mode 100644 index a7b1b118a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_constructor.json deleted file mode 100644 index ed20df42f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_controller.json deleted file mode 100644 index 4801f1d09..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_crafting_grid.json deleted file mode 100644 index 86d8d6d4f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_destructor.json deleted file mode 100644 index 1b16d153f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_detector.json deleted file mode 100644 index cbcba7a1d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_disk_interface.json deleted file mode 100644 index d4a3b8de3..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_exporter.json deleted file mode 100644 index 44ced3052..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_external_storage.json deleted file mode 100644 index ef91d74df..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_grid.json deleted file mode 100644 index 946abadf9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_importer.json deleted file mode 100644 index 4c4b35fac..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_importer" - ] - } -} \ 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 deleted file mode 100644 index d1630ef19..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_network_transmitter.json deleted file mode 100644 index 36b49b2ae..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_relay.json deleted file mode 100644 index 7260c1feb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_security_manager.json deleted file mode 100644 index cb8ea3ca4..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_wireless_transmitter.json deleted file mode 100644 index 0ae9fd1ec..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/white_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/white_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/white_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_cable.json deleted file mode 100644 index f725523f7..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_cable.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cables": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:cables" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_cable" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cables" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_cable" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_constructor.json deleted file mode 100644 index 93ddb72fa..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_constructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_constructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:constructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_constructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_constructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_constructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_controller.json deleted file mode 100644 index dc7fc6e3f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_controller.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_controllers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:controllers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_controllers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_controller" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_crafting_grid.json deleted file mode 100644 index 793f0105a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_crafting_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crafting_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:crafting_grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_crafting_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crafting_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_crafting_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_destructor.json deleted file mode 100644 index 0a1688f8e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_destructor.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_destructors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:destructors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_destructor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_destructors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_destructor" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_detector.json deleted file mode 100644 index ea594146f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_detector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detectors": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:detectors" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_detector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detectors" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_detector" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_disk_interface.json deleted file mode 100644 index bc490b195..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_disk_interface.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_disk_interfaces": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:disk_interfaces" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_disk_interface" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_disk_interfaces" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_disk_interface" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_exporter.json deleted file mode 100644 index 50b5808ed..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_exporter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_exporters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:exporters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_exporter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_exporters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_exporter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_external_storage.json deleted file mode 100644 index fa82da1df..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_external_storage.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_external_storages": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:external_storages" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_external_storage" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_external_storages" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_external_storage" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_grid.json deleted file mode 100644 index e1ffee07d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_grid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_grids": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:grids" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_grid" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_grids" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_grid" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_importer.json deleted file mode 100644 index 38e632731..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_importer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_importers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:importers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_importer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_importers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_importer" - ] - } -} \ 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 deleted file mode 100644 index 9ef41ddc1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_network_receiver.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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_the_recipe", - "has_network_receivers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_network_receiver" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_network_transmitter.json deleted file mode 100644 index 503197c8b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_network_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_network_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:network_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_network_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_network_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_network_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_relay.json deleted file mode 100644 index bd7759ea9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_relay.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_relays": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:relays" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_relay" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_relays" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_relay" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_security_manager.json deleted file mode 100644 index 3a3b93a86..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_security_manager.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_security_managers": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:security_managers" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_security_manager" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_security_managers" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_security_manager" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_wireless_transmitter.json deleted file mode 100644 index ced350d20..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/advancements/recipes/misc/coloring/yellow_wireless_transmitter.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "refinedstorage2:coloring/yellow_wireless_transmitter" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wireless_transmitters": { - "conditions": { - "items": [ - { - "tag": "refinedstorage2:wireless_transmitters" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wireless_transmitters" - ] - ], - "rewards": { - "recipes": [ - "refinedstorage2:coloring/yellow_wireless_transmitter" - ] - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_grid.json 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_table/blocks/black_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/black_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/black_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_grid.json 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_table/blocks/blue_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/blue_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/blue_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_grid.json 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_table/blocks/brown_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/brown_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/brown_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_grid.json 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_table/blocks/cyan_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/cyan_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/cyan_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_grid.json 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_table/blocks/gray_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/gray_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/gray_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_grid.json 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_table/blocks/green_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/green_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/green_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_blue_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_blue_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_blue_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_blue_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_blue_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_blue_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_blue_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_blue_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_blue_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_blue_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_blue_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_blue_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_grid.json 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_table/blocks/light_gray_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/light_gray_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/light_gray_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_grid.json 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_table/blocks/lime_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/lime_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/lime_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_grid.json 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_table/blocks/magenta_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/magenta_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/magenta_wireless_transmitter.json 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_table/blocks/network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_grid.json 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_table/blocks/orange_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/orange_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/orange_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_grid.json 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_table/blocks/pink_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/pink_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/pink_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_grid.json 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_table/blocks/purple_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/purple_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/purple_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_grid.json 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_table/blocks/red_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/red_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/red_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_grid.json 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_table/blocks/white_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/white_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/white_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_cable.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_cable.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_cable.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_constructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_constructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_constructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_crafting_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_crafting_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_crafting_grid.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_creative_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_creative_controller.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_creative_controller.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_creative_controller.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_destructor.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_destructor.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_destructor.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_detector.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_detector.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_detector.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_disk_interface.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_disk_interface.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_disk_interface.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_grid.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_grid.json 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_table/blocks/yellow_network_receiver.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_network_receiver.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_network_receiver.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_network_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_network_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_network_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_relay.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_relay.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_relay.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_security_manager.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_security_manager.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_security_manager.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_wireless_transmitter.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_tables/blocks/yellow_wireless_transmitter.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/loot_table/blocks/yellow_wireless_transmitter.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_cable.json new file mode 100644 index 000000000..debc2df42 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_constructor.json new file mode 100644 index 000000000..3719b7e52 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_controller.json new file mode 100644 index 000000000..85e3a1837 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_crafting_grid.json new file mode 100644 index 000000000..5b283fdfc --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_destructor.json new file mode 100644 index 000000000..c2ba2f622 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_detector.json new file mode 100644 index 000000000..4d6daa81a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_disk_interface.json new file mode 100644 index 000000000..5100d0bd4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_exporter.json new file mode 100644 index 000000000..dc9924a00 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_external_storage.json new file mode 100644 index 000000000..967be6d4f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_grid.json new file mode 100644 index 000000000..6c3045d1c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_importer.json new file mode 100644 index 000000000..1f790c440 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_network_receiver.json new file mode 100644 index 000000000..e0db45771 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_network_transmitter.json new file mode 100644 index 000000000..e2420a424 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_relay.json new file mode 100644 index 000000000..f643ad840 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_security_manager.json new file mode 100644 index 000000000..a63defcdd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_wireless_transmitter.json new file mode 100644 index 000000000..4a53eb0b4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/black_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:black_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_cable.json new file mode 100644 index 000000000..cad915b22 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_constructor.json new file mode 100644 index 000000000..9c6961cc3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_controller.json new file mode 100644 index 000000000..1ef6c3497 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_crafting_grid.json new file mode 100644 index 000000000..e38c5b73c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_destructor.json new file mode 100644 index 000000000..00494d4f5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_detector.json new file mode 100644 index 000000000..1451a8c5d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_disk_interface.json new file mode 100644 index 000000000..75eae19c0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_exporter.json new file mode 100644 index 000000000..af84484fa --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_external_storage.json new file mode 100644 index 000000000..5da2f6a0a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_grid.json new file mode 100644 index 000000000..2076c0799 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_importer.json new file mode 100644 index 000000000..1e4656b26 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_network_receiver.json new file mode 100644 index 000000000..375ded113 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_network_transmitter.json new file mode 100644 index 000000000..db0de7a2b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_relay.json new file mode 100644 index 000000000..66272954a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_security_manager.json new file mode 100644 index 000000000..3bb08baf4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_wireless_transmitter.json new file mode 100644 index 000000000..c6cd74473 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/blue_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:blue_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_cable.json new file mode 100644 index 000000000..cc3b0bbd1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_constructor.json new file mode 100644 index 000000000..08c3a7a40 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_controller.json new file mode 100644 index 000000000..5a39d4537 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_crafting_grid.json new file mode 100644 index 000000000..f73036219 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_destructor.json new file mode 100644 index 000000000..2b3ac8808 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_detector.json new file mode 100644 index 000000000..7b9cfc921 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_disk_interface.json new file mode 100644 index 000000000..33a0641cd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_exporter.json new file mode 100644 index 000000000..cde41172a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_external_storage.json new file mode 100644 index 000000000..be411530b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_grid.json new file mode 100644 index 000000000..a2814ed09 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_importer.json new file mode 100644 index 000000000..96f172768 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_network_receiver.json new file mode 100644 index 000000000..4f39a2970 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_network_transmitter.json new file mode 100644 index 000000000..e8c807129 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_relay.json new file mode 100644 index 000000000..eeb0f5ee0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_security_manager.json new file mode 100644 index 000000000..219f7a4cd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_wireless_transmitter.json new file mode 100644 index 000000000..f4601cd51 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/brown_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:brown_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_cable.json new file mode 100644 index 000000000..becb2d0f9 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_constructor.json new file mode 100644 index 000000000..7d0896f2d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_controller.json new file mode 100644 index 000000000..b18c29934 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_crafting_grid.json new file mode 100644 index 000000000..3cf596d12 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_destructor.json new file mode 100644 index 000000000..2b9cae809 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_detector.json new file mode 100644 index 000000000..30349d1dd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_disk_interface.json new file mode 100644 index 000000000..a814de3a0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_exporter.json new file mode 100644 index 000000000..1593d8cd3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_external_storage.json new file mode 100644 index 000000000..e1c1c22ce --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_grid.json new file mode 100644 index 000000000..800cbf692 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_importer.json new file mode 100644 index 000000000..3ba0319e7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_network_receiver.json new file mode 100644 index 000000000..f03b423d0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_network_transmitter.json new file mode 100644 index 000000000..5da50b678 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_relay.json new file mode 100644 index 000000000..1e60588ac --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_security_manager.json new file mode 100644 index 000000000..c8a809c6f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_wireless_transmitter.json new file mode 100644 index 000000000..a1c5240be --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/cyan_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cyan_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_cable.json new file mode 100644 index 000000000..b6a840240 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_constructor.json new file mode 100644 index 000000000..a1ef435fb --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_controller.json new file mode 100644 index 000000000..dc3255814 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:gray_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_crafting_grid.json new file mode 100644 index 000000000..728e1ce4c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:gray_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_destructor.json new file mode 100644 index 000000000..323148a5f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_detector.json new file mode 100644 index 000000000..edb298397 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:gray_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_disk_interface.json new file mode 100644 index 000000000..d71c83ac4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:gray_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_exporter.json new file mode 100644 index 000000000..541aa2c0f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_external_storage.json new file mode 100644 index 000000000..880c0c76e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_grid.json new file mode 100644 index 000000000..0beabdc7a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:gray_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_importer.json new file mode 100644 index 000000000..9c8f1effb --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_network_receiver.json new file mode 100644 index 000000000..ea58cb43c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:gray_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_network_transmitter.json new file mode 100644 index 000000000..c19d4aaec --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:gray_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_relay.json new file mode 100644 index 000000000..458fb3b20 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:gray_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_security_manager.json new file mode 100644 index 000000000..c017fb0a0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:gray_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_wireless_transmitter.json new file mode 100644 index 000000000..5721dbc0c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/gray_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:gray_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_cable.json new file mode 100644 index 000000000..7e92262ed --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_constructor.json new file mode 100644 index 000000000..9c75aed07 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_controller.json new file mode 100644 index 000000000..2a17c68e3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_crafting_grid.json new file mode 100644 index 000000000..6ad997e96 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_destructor.json new file mode 100644 index 000000000..e9163f9a3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_detector.json new file mode 100644 index 000000000..347a76744 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_disk_interface.json new file mode 100644 index 000000000..ecb2bb6ce --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_exporter.json new file mode 100644 index 000000000..22e9fdbdf --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_external_storage.json new file mode 100644 index 000000000..39143546b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_grid.json new file mode 100644 index 000000000..2e96f705d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_importer.json new file mode 100644 index 000000000..89391617c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_network_receiver.json new file mode 100644 index 000000000..d9f4cce95 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_network_transmitter.json new file mode 100644 index 000000000..2fbac9138 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_relay.json new file mode 100644 index 000000000..b1889301c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_security_manager.json new file mode 100644 index 000000000..394b6d4b8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_wireless_transmitter.json new file mode 100644 index 000000000..1bd8abe1e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/green_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:green_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_cable.json new file mode 100644 index 000000000..63d51c903 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_blue_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_constructor.json new file mode 100644 index 000000000..5281c40c1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_blue_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_controller.json new file mode 100644 index 000000000..57886944c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_crafting_grid.json new file mode 100644 index 000000000..8c2d9cbdc --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_destructor.json new file mode 100644 index 000000000..89de9a4ca --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_blue_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_detector.json new file mode 100644 index 000000000..8485463d8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_disk_interface.json new file mode 100644 index 000000000..a6ba20645 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_exporter.json new file mode 100644 index 000000000..758408a81 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_blue_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_external_storage.json new file mode 100644 index 000000000..2fde5246b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_blue_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_grid.json new file mode 100644 index 000000000..a82c84a29 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_importer.json new file mode 100644 index 000000000..7171cb87f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_blue_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_network_receiver.json new file mode 100644 index 000000000..dd30e6c77 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_network_transmitter.json new file mode 100644 index 000000000..2981dfbf1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_relay.json new file mode 100644 index 000000000..8fea0cc22 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_security_manager.json new file mode 100644 index 000000000..756cd8e90 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_wireless_transmitter.json new file mode 100644 index 000000000..9be26bf2a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_blue_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_cable.json new file mode 100644 index 000000000..a44074eab --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_constructor.json new file mode 100644 index 000000000..8f174256d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_controller.json new file mode 100644 index 000000000..9836d6e50 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_crafting_grid.json new file mode 100644 index 000000000..d5cf86ce5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_destructor.json new file mode 100644 index 000000000..e71d00cc3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_detector.json new file mode 100644 index 000000000..bd0cd7dfb --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_disk_interface.json new file mode 100644 index 000000000..db53c5d81 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_exporter.json new file mode 100644 index 000000000..2da35dc8d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_external_storage.json new file mode 100644 index 000000000..8c2e70b04 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_grid.json new file mode 100644 index 000000000..d029f7b20 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_importer.json new file mode 100644 index 000000000..5fd210c8c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_network_receiver.json new file mode 100644 index 000000000..925ecbd89 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_network_transmitter.json new file mode 100644 index 000000000..f7892de62 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_relay.json new file mode 100644 index 000000000..6656c82eb --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_security_manager.json new file mode 100644 index 000000000..1ba063e22 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_wireless_transmitter.json new file mode 100644 index 000000000..ec11cdb61 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/light_gray_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:light_gray_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_cable.json new file mode 100644 index 000000000..f128fe7e8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_constructor.json new file mode 100644 index 000000000..e935ea868 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_controller.json new file mode 100644 index 000000000..76550f2de --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_crafting_grid.json new file mode 100644 index 000000000..19602be94 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_destructor.json new file mode 100644 index 000000000..43536e5f5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_detector.json new file mode 100644 index 000000000..c7b1321c7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_disk_interface.json new file mode 100644 index 000000000..af1d95983 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_exporter.json new file mode 100644 index 000000000..8959d5d8c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_external_storage.json new file mode 100644 index 000000000..2ac30b7ce --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_grid.json new file mode 100644 index 000000000..709e73500 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_importer.json new file mode 100644 index 000000000..302330b5e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_network_receiver.json new file mode 100644 index 000000000..a254ce162 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_network_transmitter.json new file mode 100644 index 000000000..3a5bb7601 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_relay.json new file mode 100644 index 000000000..513f8abb3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_security_manager.json new file mode 100644 index 000000000..6cfc79411 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_wireless_transmitter.json new file mode 100644 index 000000000..42baf0e99 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/lime_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:lime_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_cable.json new file mode 100644 index 000000000..a88690261 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_constructor.json new file mode 100644 index 000000000..3e5a1f16f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_controller.json new file mode 100644 index 000000000..0069aea35 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_crafting_grid.json new file mode 100644 index 000000000..53fafb8f3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_destructor.json new file mode 100644 index 000000000..9237499b0 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_detector.json new file mode 100644 index 000000000..f1cf2d692 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_disk_interface.json new file mode 100644 index 000000000..52d78334c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_exporter.json new file mode 100644 index 000000000..36a901e09 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_external_storage.json new file mode 100644 index 000000000..2790f4b12 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_grid.json new file mode 100644 index 000000000..150e3b9cd --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_importer.json new file mode 100644 index 000000000..3194f4e55 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_network_receiver.json new file mode 100644 index 000000000..c37424607 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_network_transmitter.json new file mode 100644 index 000000000..fcb235352 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_relay.json new file mode 100644 index 000000000..e3ff2ff05 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_security_manager.json new file mode 100644 index 000000000..a75604191 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_wireless_transmitter.json new file mode 100644 index 000000000..f0cdd7cdc --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/magenta_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:magenta_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_cable.json new file mode 100644 index 000000000..ba3f2662b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_constructor.json new file mode 100644 index 000000000..a45f61fc2 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_controller.json new file mode 100644 index 000000000..26e0c3af1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_crafting_grid.json new file mode 100644 index 000000000..d1676f5d1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_destructor.json new file mode 100644 index 000000000..9131135f6 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_detector.json new file mode 100644 index 000000000..7e914e39c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_disk_interface.json new file mode 100644 index 000000000..afe8f7eb2 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_exporter.json new file mode 100644 index 000000000..a710e27d8 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_external_storage.json new file mode 100644 index 000000000..e3d617223 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_grid.json new file mode 100644 index 000000000..baed3c065 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_importer.json new file mode 100644 index 000000000..f961bcef6 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_network_receiver.json new file mode 100644 index 000000000..d2160a4a3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_network_transmitter.json new file mode 100644 index 000000000..1c13bc247 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_relay.json new file mode 100644 index 000000000..27dcb242a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_security_manager.json new file mode 100644 index 000000000..82e953060 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_wireless_transmitter.json new file mode 100644 index 000000000..847b99400 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/orange_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:orange_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_cable.json new file mode 100644 index 000000000..6125d7f16 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_constructor.json new file mode 100644 index 000000000..1832b4279 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_controller.json new file mode 100644 index 000000000..898edec5c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_crafting_grid.json new file mode 100644 index 000000000..bd8ec135c --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_destructor.json new file mode 100644 index 000000000..f65615431 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_detector.json new file mode 100644 index 000000000..ad7314bec --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_disk_interface.json new file mode 100644 index 000000000..deba0cd09 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_exporter.json new file mode 100644 index 000000000..8c6f003eb --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_external_storage.json new file mode 100644 index 000000000..c2b362925 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_grid.json new file mode 100644 index 000000000..3cd54a98e --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_importer.json new file mode 100644 index 000000000..e267982f1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_network_receiver.json new file mode 100644 index 000000000..935162fa3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_network_transmitter.json new file mode 100644 index 000000000..7b5b3ab2f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_relay.json new file mode 100644 index 000000000..c30fa6ccb --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_security_manager.json new file mode 100644 index 000000000..802f8f711 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_wireless_transmitter.json new file mode 100644 index 000000000..b47b60bed --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/pink_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:pink_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_cable.json new file mode 100644 index 000000000..6902a76dc --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_constructor.json new file mode 100644 index 000000000..8be003cb6 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_controller.json new file mode 100644 index 000000000..725fb84a7 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_crafting_grid.json new file mode 100644 index 000000000..1b20618ea --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_destructor.json new file mode 100644 index 000000000..7a8271d38 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_detector.json new file mode 100644 index 000000000..5a5b4809f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_disk_interface.json new file mode 100644 index 000000000..990eae42f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_exporter.json new file mode 100644 index 000000000..41b8b407b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_external_storage.json new file mode 100644 index 000000000..b2b68d492 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_grid.json new file mode 100644 index 000000000..da0703769 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_importer.json new file mode 100644 index 000000000..3e437907b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_network_receiver.json new file mode 100644 index 000000000..22a889f04 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_network_transmitter.json new file mode 100644 index 000000000..1c8978139 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_relay.json new file mode 100644 index 000000000..602b86204 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_security_manager.json new file mode 100644 index 000000000..ddbf99df3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_wireless_transmitter.json new file mode 100644 index 000000000..a2ddf6b85 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/purple_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:purple_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_cable.json new file mode 100644 index 000000000..10348f9c5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_constructor.json new file mode 100644 index 000000000..e304c5334 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_controller.json new file mode 100644 index 000000000..9054c8584 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_crafting_grid.json new file mode 100644 index 000000000..3d64b32ad --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_destructor.json new file mode 100644 index 000000000..cae7b16b9 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_detector.json new file mode 100644 index 000000000..8c375bc69 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_disk_interface.json new file mode 100644 index 000000000..d420da852 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_exporter.json new file mode 100644 index 000000000..1b8f2acba --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_external_storage.json new file mode 100644 index 000000000..e7d51a577 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_grid.json new file mode 100644 index 000000000..5f9dec672 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_importer.json new file mode 100644 index 000000000..cbd7b4e82 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_network_receiver.json new file mode 100644 index 000000000..b5de717f3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_network_transmitter.json new file mode 100644 index 000000000..0759f926b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_relay.json new file mode 100644 index 000000000..94403f52b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_security_manager.json new file mode 100644 index 000000000..d5ad1443b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_wireless_transmitter.json new file mode 100644 index 000000000..a2abdf06a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/red_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:red_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_cable.json new file mode 100644 index 000000000..3f58a1530 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_constructor.json new file mode 100644 index 000000000..4492c9cc4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_controller.json new file mode 100644 index 000000000..a8a708824 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_crafting_grid.json new file mode 100644 index 000000000..7176b64d4 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_destructor.json new file mode 100644 index 000000000..d7ab63ab9 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_detector.json new file mode 100644 index 000000000..41ef43891 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_disk_interface.json new file mode 100644 index 000000000..952443656 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_exporter.json new file mode 100644 index 000000000..f8a9ee929 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_external_storage.json new file mode 100644 index 000000000..1e85f0544 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_grid.json new file mode 100644 index 000000000..5c844c592 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_importer.json new file mode 100644 index 000000000..d30d2c9a3 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_network_receiver.json new file mode 100644 index 000000000..74495545d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_network_transmitter.json new file mode 100644 index 000000000..c89918fd9 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_relay.json new file mode 100644 index 000000000..b33a77203 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_security_manager.json new file mode 100644 index 000000000..128eedae6 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_wireless_transmitter.json new file mode 100644 index 000000000..55eedeaee --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/white_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:white_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_cable.json new file mode 100644 index 000000000..8d18120c5 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_cable.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:cables" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_cable" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_constructor.json new file mode 100644 index 000000000..a8e9ab438 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_constructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:constructors" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_constructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_controller.json new file mode 100644 index 000000000..6cc0cc417 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_controller.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:controllers" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_controller" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_crafting_grid.json new file mode 100644 index 000000000..629286c35 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_crafting_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:crafting_grids" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_crafting_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_destructor.json new file mode 100644 index 000000000..8f7bdcb54 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_destructor.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:destructors" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_destructor" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_detector.json new file mode 100644 index 000000000..542d1ebb1 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_detector.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:detectors" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_detector" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_disk_interface.json new file mode 100644 index 000000000..44e7e1c7a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_disk_interface.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:disk_interfaces" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_disk_interface" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_exporter.json new file mode 100644 index 000000000..335b86a12 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_exporter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:exporters" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_exporter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_external_storage.json new file mode 100644 index 000000000..384a7d77d --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_external_storage.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:external_storages" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_external_storage" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_grid.json new file mode 100644 index 000000000..954976753 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_grid.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:grids" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_grid" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_importer.json new file mode 100644 index 000000000..f6e0f055f --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_importer.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:importers" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_importer" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_network_receiver.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_network_receiver.json new file mode 100644 index 000000000..5fb8b5e35 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_network_receiver.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_receivers" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_network_receiver" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_network_transmitter.json new file mode 100644 index 000000000..55b07054a --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_network_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:network_transmitters" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_network_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_relay.json new file mode 100644 index 000000000..1af3c9fbc --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_relay.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:relays" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_relay" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_security_manager.json new file mode 100644 index 000000000..11488de4b --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_security_manager.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:security_managers" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_security_manager" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_wireless_transmitter.json new file mode 100644 index 000000000..0c0aee654 --- /dev/null +++ b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipe/coloring/yellow_wireless_transmitter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "refinedstorage2:wireless_transmitters" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "refinedstorage2:yellow_wireless_transmitter" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_cable.json deleted file mode 100644 index e48698846..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_constructor.json deleted file mode 100644 index 8db2ec9f2..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_controller.json deleted file mode 100644 index 0fcc17545..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_crafting_grid.json deleted file mode 100644 index 8f0faa890..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_destructor.json deleted file mode 100644 index 68e7beb72..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_detector.json deleted file mode 100644 index a4e53da1c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_disk_interface.json deleted file mode 100644 index 8899166f8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_exporter.json deleted file mode 100644 index 4dabece75..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_external_storage.json deleted file mode 100644 index 693847b54..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_grid.json deleted file mode 100644 index 0b2b67ff7..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_importer.json deleted file mode 100644 index 178d2dede..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_importer" - } -} \ 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 deleted file mode 100644 index 10adc17ab..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/black_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_network_transmitter.json deleted file mode 100644 index 36b859db6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_relay.json deleted file mode 100644 index 37ad99430..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_security_manager.json deleted file mode 100644 index 82f2b3780..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_wireless_transmitter.json deleted file mode 100644 index 1b63b86cb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/black_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "refinedstorage2:black_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_cable.json deleted file mode 100644 index 5bcd5edfd..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_constructor.json deleted file mode 100644 index d74858a46..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_controller.json deleted file mode 100644 index f04481333..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_crafting_grid.json deleted file mode 100644 index ae7919c39..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_destructor.json deleted file mode 100644 index 9b604005d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_detector.json deleted file mode 100644 index 2761aaacc..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_disk_interface.json deleted file mode 100644 index 8fcd8ee90..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_exporter.json deleted file mode 100644 index f513359fc..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_external_storage.json deleted file mode 100644 index 38b289401..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_grid.json deleted file mode 100644 index 57b56e809..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_importer.json deleted file mode 100644 index 91fe8860b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_importer" - } -} \ 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 deleted file mode 100644 index 2cf78ae46..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/blue_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_network_transmitter.json deleted file mode 100644 index a4e2bd0a0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_relay.json deleted file mode 100644 index 2c4374cd8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_security_manager.json deleted file mode 100644 index c5416e72f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_wireless_transmitter.json deleted file mode 100644 index 50622ac43..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/blue_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "refinedstorage2:blue_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_cable.json deleted file mode 100644 index 0d0cb079d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_constructor.json deleted file mode 100644 index 1efe766f7..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_controller.json deleted file mode 100644 index 7e7a52ea4..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_crafting_grid.json deleted file mode 100644 index 0d5932e6f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_destructor.json deleted file mode 100644 index ccd541f71..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_detector.json deleted file mode 100644 index fd2f645eb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_disk_interface.json deleted file mode 100644 index 2137c39b4..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_exporter.json deleted file mode 100644 index de1579903..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_external_storage.json deleted file mode 100644 index 70ccb21dc..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_grid.json deleted file mode 100644 index b4de570d8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_importer.json deleted file mode 100644 index be54438e7..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_importer" - } -} \ 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 deleted file mode 100644 index 8f315166a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/brown_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_network_transmitter.json deleted file mode 100644 index e7c68912d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_relay.json deleted file mode 100644 index 49c08e3ae..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_security_manager.json deleted file mode 100644 index 287036f5a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_wireless_transmitter.json deleted file mode 100644 index 1766affaa..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/brown_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "refinedstorage2:brown_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_cable.json deleted file mode 100644 index ecb8aabd6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_constructor.json deleted file mode 100644 index 07e766830..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_controller.json deleted file mode 100644 index d207650b9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_crafting_grid.json deleted file mode 100644 index 7b47fd448..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_destructor.json deleted file mode 100644 index f83b93ffe..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_detector.json deleted file mode 100644 index 152ce8f36..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_disk_interface.json deleted file mode 100644 index addc70460..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_exporter.json deleted file mode 100644 index cc6267745..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_external_storage.json deleted file mode 100644 index 6fc9c019d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_grid.json deleted file mode 100644 index 17f543c3b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_importer.json deleted file mode 100644 index 1c2a2c3f7..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_importer" - } -} \ 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 deleted file mode 100644 index 1740e8a1b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/cyan_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_network_transmitter.json deleted file mode 100644 index f84a9cfba..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_relay.json deleted file mode 100644 index 5e680e821..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_security_manager.json deleted file mode 100644 index 8f3dd7cc5..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_wireless_transmitter.json deleted file mode 100644 index 23b00b985..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/cyan_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "refinedstorage2:cyan_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_cable.json deleted file mode 100644 index af661b33f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_constructor.json deleted file mode 100644 index ddb5a782a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_controller.json deleted file mode 100644 index 57ec1f243..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:gray_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_crafting_grid.json deleted file mode 100644 index d2ff4f253..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:gray_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_destructor.json deleted file mode 100644 index 1307e58d2..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_detector.json deleted file mode 100644 index e7add5891..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:gray_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_disk_interface.json deleted file mode 100644 index 8deecdabf..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:gray_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_exporter.json deleted file mode 100644 index 7c3c58c2a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_external_storage.json deleted file mode 100644 index 4b026875a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_grid.json deleted file mode 100644 index 0c35ce3d6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:gray_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_importer.json deleted file mode 100644 index 312555d44..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:importer" - } -} \ 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 deleted file mode 100644 index d81adf188..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/gray_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_network_transmitter.json deleted file mode 100644 index 70a07df91..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:gray_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_relay.json deleted file mode 100644 index c6676fcbf..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:gray_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_security_manager.json deleted file mode 100644 index f5926ad95..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:gray_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_wireless_transmitter.json deleted file mode 100644 index bbf671537..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/gray_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "refinedstorage2:gray_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_cable.json deleted file mode 100644 index bb2dd7ca8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_constructor.json deleted file mode 100644 index 73dfc7a8a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_controller.json deleted file mode 100644 index f70633d98..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_crafting_grid.json deleted file mode 100644 index bc294023e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_destructor.json deleted file mode 100644 index a8ae00284..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_detector.json deleted file mode 100644 index f5cd236a8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_disk_interface.json deleted file mode 100644 index 9b74acbb7..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_exporter.json deleted file mode 100644 index f44fe822f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_external_storage.json deleted file mode 100644 index 98432deaa..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_grid.json deleted file mode 100644 index 33dab8e26..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_importer.json deleted file mode 100644 index e8954da13..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_importer" - } -} \ 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 deleted file mode 100644 index 17bebbdbc..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/green_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_network_transmitter.json deleted file mode 100644 index df1b74eb0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_relay.json deleted file mode 100644 index da3689085..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_security_manager.json deleted file mode 100644 index 5e9f5db34..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_wireless_transmitter.json deleted file mode 100644 index 3424885f4..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/green_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "refinedstorage2:green_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_cable.json deleted file mode 100644 index b048178e6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:light_blue_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_constructor.json deleted file mode 100644 index a2626d698..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:light_blue_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_controller.json deleted file mode 100644 index 4d427d798..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_crafting_grid.json deleted file mode 100644 index 160f490e1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_destructor.json deleted file mode 100644 index a4225d775..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:light_blue_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_detector.json deleted file mode 100644 index d0ed985b1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_disk_interface.json deleted file mode 100644 index 89ea9102b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_exporter.json deleted file mode 100644 index 6eeb49cb3..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:light_blue_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_external_storage.json deleted file mode 100644 index d96e0cf51..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:light_blue_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_grid.json deleted file mode 100644 index b07a63f31..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_importer.json deleted file mode 100644 index 1f0939a9e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:light_blue_importer" - } -} \ 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 deleted file mode 100644 index 76b5e6fc4..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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_blue_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_network_transmitter.json deleted file mode 100644 index b1479d3a7..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_relay.json deleted file mode 100644 index 37fb39142..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_security_manager.json deleted file mode 100644 index d9026e427..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_wireless_transmitter.json deleted file mode 100644 index 079c8c7c6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_blue_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "refinedstorage2:wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_cable.json deleted file mode 100644 index 5f8541b89..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_constructor.json deleted file mode 100644 index 05cfc96cc..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_controller.json deleted file mode 100644 index 5b526647c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_crafting_grid.json deleted file mode 100644 index 808f17577..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_destructor.json deleted file mode 100644 index 25a8906d0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_detector.json deleted file mode 100644 index 4a633b213..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_disk_interface.json deleted file mode 100644 index 326986dc8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_exporter.json deleted file mode 100644 index 5abe2413c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_external_storage.json deleted file mode 100644 index 286e45aad..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_grid.json deleted file mode 100644 index eacbfd4e1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_importer.json deleted file mode 100644 index 8588b5e6b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_importer" - } -} \ 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 deleted file mode 100644 index 0e08e1676..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/light_gray_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_network_transmitter.json deleted file mode 100644 index f47ee6865..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_relay.json deleted file mode 100644 index 108d49c9f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_security_manager.json deleted file mode 100644 index 8d044e90f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_wireless_transmitter.json deleted file mode 100644 index 842a8f574..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/light_gray_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "refinedstorage2:light_gray_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_cable.json deleted file mode 100644 index 63c4ac175..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_constructor.json deleted file mode 100644 index c247576c8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_controller.json deleted file mode 100644 index b47f8ca07..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_crafting_grid.json deleted file mode 100644 index 9f37720a0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_destructor.json deleted file mode 100644 index ad595c899..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_detector.json deleted file mode 100644 index 70971a140..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_disk_interface.json deleted file mode 100644 index 9c5e02f19..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_exporter.json deleted file mode 100644 index 091aa3b64..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_external_storage.json deleted file mode 100644 index 9c5dabe2d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_grid.json deleted file mode 100644 index 0df5d9e80..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_importer.json deleted file mode 100644 index 041a38299..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_importer" - } -} \ 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 deleted file mode 100644 index cc0ae467a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/lime_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_network_transmitter.json deleted file mode 100644 index 695ac7837..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_relay.json deleted file mode 100644 index f327a70cd..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_security_manager.json deleted file mode 100644 index b66210948..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_wireless_transmitter.json deleted file mode 100644 index 433477fa0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/lime_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "refinedstorage2:lime_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_cable.json deleted file mode 100644 index 4ba9ed0ee..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_constructor.json deleted file mode 100644 index b30857c8b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_controller.json deleted file mode 100644 index 3ef95812c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_crafting_grid.json deleted file mode 100644 index 5392adec5..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_destructor.json deleted file mode 100644 index 18c6e5319..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_detector.json deleted file mode 100644 index 48b471405..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_disk_interface.json deleted file mode 100644 index ecc5b7197..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_exporter.json deleted file mode 100644 index 82675308a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_external_storage.json deleted file mode 100644 index bf9112a71..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_grid.json deleted file mode 100644 index dc14e9fd9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_importer.json deleted file mode 100644 index 5ef7d1cbe..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_importer" - } -} \ 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 deleted file mode 100644 index 3a51f49ad..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/magenta_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_network_transmitter.json deleted file mode 100644 index 83e87448e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_relay.json deleted file mode 100644 index b20acee6f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_security_manager.json deleted file mode 100644 index 29a1ef8de..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_wireless_transmitter.json deleted file mode 100644 index ac923b7ab..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/magenta_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "refinedstorage2:magenta_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_cable.json deleted file mode 100644 index 58743ab2c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_constructor.json deleted file mode 100644 index d3ea00e8d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_controller.json deleted file mode 100644 index a49f4d0a0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_crafting_grid.json deleted file mode 100644 index 1701ad6b1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_destructor.json deleted file mode 100644 index beeed7aa7..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_detector.json deleted file mode 100644 index 15a279eea..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_disk_interface.json deleted file mode 100644 index b9a234195..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_exporter.json deleted file mode 100644 index 58644dbbd..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_external_storage.json deleted file mode 100644 index bf39d933c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_grid.json deleted file mode 100644 index ed4db5c58..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_importer.json deleted file mode 100644 index 31a19d0d1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_importer" - } -} \ 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 deleted file mode 100644 index 7f5f93995..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/orange_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_network_transmitter.json deleted file mode 100644 index 2a883881c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_relay.json deleted file mode 100644 index 383053a5b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_security_manager.json deleted file mode 100644 index 1d1d32708..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_wireless_transmitter.json deleted file mode 100644 index bf313bc0a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/orange_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "refinedstorage2:orange_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_cable.json deleted file mode 100644 index 66b092220..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_constructor.json deleted file mode 100644 index fd11b2c52..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_controller.json deleted file mode 100644 index 621994d06..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_crafting_grid.json deleted file mode 100644 index 973fb1627..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_destructor.json deleted file mode 100644 index d5c5e50db..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_detector.json deleted file mode 100644 index b7604037c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_disk_interface.json deleted file mode 100644 index 7f35efabf..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_exporter.json deleted file mode 100644 index 3f1bf0a89..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_external_storage.json deleted file mode 100644 index 9374906ca..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_grid.json deleted file mode 100644 index f3023407b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_importer.json deleted file mode 100644 index b71de635b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_importer" - } -} \ 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 deleted file mode 100644 index 8108f41b8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/pink_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_network_transmitter.json deleted file mode 100644 index 45cca06c1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_relay.json deleted file mode 100644 index 46eacad2d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_security_manager.json deleted file mode 100644 index 0730360e5..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_wireless_transmitter.json deleted file mode 100644 index 1cadb50c8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/pink_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "refinedstorage2:pink_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_cable.json deleted file mode 100644 index 686b58e42..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_constructor.json deleted file mode 100644 index 048217a80..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_controller.json deleted file mode 100644 index ff5078bc6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_crafting_grid.json deleted file mode 100644 index 582b8e657..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_destructor.json deleted file mode 100644 index e44e9d9d9..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_detector.json deleted file mode 100644 index 232c58672..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_disk_interface.json deleted file mode 100644 index 871acd659..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_exporter.json deleted file mode 100644 index e604423dd..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_external_storage.json deleted file mode 100644 index a66f6b08c..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_grid.json deleted file mode 100644 index 2e5a4123f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_importer.json deleted file mode 100644 index 445ef41d8..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_importer" - } -} \ 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 deleted file mode 100644 index e62460fb2..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/purple_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_network_transmitter.json deleted file mode 100644 index 936c7bb9a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_relay.json deleted file mode 100644 index b069db8ad..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_security_manager.json deleted file mode 100644 index 014bf959a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_wireless_transmitter.json deleted file mode 100644 index 3988644af..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/purple_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "refinedstorage2:purple_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_cable.json deleted file mode 100644 index f5c4dba6b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_constructor.json deleted file mode 100644 index 320c72120..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_controller.json deleted file mode 100644 index c45328352..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_crafting_grid.json deleted file mode 100644 index 86bcd269f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_destructor.json deleted file mode 100644 index c696d0362..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_detector.json deleted file mode 100644 index 9ff1ac242..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_disk_interface.json deleted file mode 100644 index db3119371..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_exporter.json deleted file mode 100644 index ec0055d3f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_external_storage.json deleted file mode 100644 index fcfed520b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_grid.json deleted file mode 100644 index cca9f3a58..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_importer.json deleted file mode 100644 index 62cb81780..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_importer" - } -} \ 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 deleted file mode 100644 index 9648c407a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/red_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_network_transmitter.json deleted file mode 100644 index c0640bffb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_relay.json deleted file mode 100644 index 8f04b7e21..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_security_manager.json deleted file mode 100644 index 5183299ab..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_wireless_transmitter.json deleted file mode 100644 index 97575a878..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/red_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "refinedstorage2:red_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_cable.json deleted file mode 100644 index 391ef5069..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_constructor.json deleted file mode 100644 index 9962380f6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_controller.json deleted file mode 100644 index 31286ec3d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_crafting_grid.json deleted file mode 100644 index 39ab72213..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_destructor.json deleted file mode 100644 index bd9cd406b..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_detector.json deleted file mode 100644 index 56e8cece0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_disk_interface.json deleted file mode 100644 index 1e8012e2f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_exporter.json deleted file mode 100644 index 1a88c2bee..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_external_storage.json deleted file mode 100644 index 96e00eb2e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_grid.json deleted file mode 100644 index 1ccc44f9d..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_importer.json deleted file mode 100644 index 15c6abdd6..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_importer" - } -} \ 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 deleted file mode 100644 index c8250b9ae..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/white_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_network_transmitter.json deleted file mode 100644 index c793b5352..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_relay.json deleted file mode 100644 index d58f4f5ed..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_security_manager.json deleted file mode 100644 index c84fd7abc..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_wireless_transmitter.json deleted file mode 100644 index 72ec2e841..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/white_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:white_dye" - } - ], - "result": { - "item": "refinedstorage2:white_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_cable.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_cable.json deleted file mode 100644 index b06496b40..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_cable.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:cables" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_cable" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_constructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_constructor.json deleted file mode 100644 index e79a9b969..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_constructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:constructors" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_constructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_controller.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_controller.json deleted file mode 100644 index a3e4dfd95..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_controller.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:controllers" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_controller" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_crafting_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_crafting_grid.json deleted file mode 100644 index 001f372ca..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_crafting_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:crafting_grids" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_crafting_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_destructor.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_destructor.json deleted file mode 100644 index 89577b02a..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_destructor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:destructors" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_destructor" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_detector.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_detector.json deleted file mode 100644 index d4f652b5e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_detector.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:detectors" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_detector" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_disk_interface.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_disk_interface.json deleted file mode 100644 index a65a2a5e1..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_disk_interface.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:disk_interfaces" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_disk_interface" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_exporter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_exporter.json deleted file mode 100644 index 63fce49cb..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_exporter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:exporters" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_exporter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_external_storage.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_external_storage.json deleted file mode 100644 index bdc510acc..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_external_storage.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:external_storages" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_external_storage" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_grid.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_grid.json deleted file mode 100644 index 1fbd7fb19..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_grid.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:grids" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_grid" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_importer.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_importer.json deleted file mode 100644 index 686a65d37..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_importer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:importers" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_importer" - } -} \ 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 deleted file mode 100644 index 1c9a4ce3e..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_network_receiver.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "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/recipes/coloring/yellow_network_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_network_transmitter.json deleted file mode 100644 index 6b0da48b5..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_network_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:network_transmitters" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_network_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_relay.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_relay.json deleted file mode 100644 index d2c04d4b0..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_relay.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:relays" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_relay" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_security_manager.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_security_manager.json deleted file mode 100644 index c6a01a55f..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_security_manager.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:security_managers" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_security_manager" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_wireless_transmitter.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_wireless_transmitter.json deleted file mode 100644 index f3b6744ca..000000000 --- a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/recipes/coloring/yellow_wireless_transmitter.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "refinedstorage2:wireless_transmitters" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "refinedstorage2:yellow_wireless_transmitter" - } -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/cables.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/cables.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/cables.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/cables.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/constructors.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/constructors.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/constructors.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/constructors.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/controllers.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/controllers.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/controllers.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/controllers.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/crafting_grids.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/crafting_grids.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/crafting_grids.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/crafting_grids.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/creative_controllers.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/creative_controllers.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/creative_controllers.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/creative_controllers.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/destructors.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/destructors.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/destructors.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/destructors.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/detectors.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/detectors.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/detectors.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/detectors.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/disk_interfaces.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/disk_interfaces.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/disk_interfaces.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/disk_interfaces.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/exporters.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/exporters.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/exporters.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/exporters.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/external_storages.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/external_storages.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/external_storages.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/external_storages.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/fluid_storage_disks.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/fluid_storage_disks.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/fluid_storage_disks.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/fluid_storage_disks.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/grids.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/grids.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/grids.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/grids.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/importers.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/importers.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/importers.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/importers.json 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/item/network_receivers.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/network_receivers.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/network_receivers.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/network_transmitters.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/network_transmitters.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/network_transmitters.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/network_transmitters.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/relays.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/relays.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/relays.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/relays.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/security_managers.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/security_managers.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/security_managers.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/security_managers.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/storage_disks.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/storage_disks.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/storage_disks.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/storage_disks.json diff --git a/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/wireless_transmitters.json b/refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/wireless_transmitters.json similarity index 100% rename from refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/items/wireless_transmitters.json rename to refinedstorage2-platform-common/src/generated/resources/data/refinedstorage2/tags/item/wireless_transmitters.json 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 8ea62326c..9b8a74e48 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 @@ -13,6 +13,7 @@ import com.refinedmods.refinedstorage2.platform.api.security.PlatformSecurityNetworkComponent; import com.refinedmods.refinedstorage2.platform.api.upgrade.AbstractUpgradeItem; import com.refinedmods.refinedstorage2.platform.common.configurationcard.ConfigurationCardItem; +import com.refinedmods.refinedstorage2.platform.common.configurationcard.ConfigurationCardState; import com.refinedmods.refinedstorage2.platform.common.constructordestructor.BlockBreakDestructorStrategyFactory; import com.refinedmods.refinedstorage2.platform.common.constructordestructor.ConstructorBlockEntity; import com.refinedmods.refinedstorage2.platform.common.constructordestructor.ConstructorContainerMenu; @@ -28,6 +29,8 @@ import com.refinedmods.refinedstorage2.platform.common.content.BlockEntityTypeFactory; import com.refinedmods.refinedstorage2.platform.common.content.Blocks; import com.refinedmods.refinedstorage2.platform.common.content.ContentIds; +import com.refinedmods.refinedstorage2.platform.common.content.DataComponents; +import com.refinedmods.refinedstorage2.platform.common.content.ExtendedMenuTypeFactory; import com.refinedmods.refinedstorage2.platform.common.content.Items; import com.refinedmods.refinedstorage2.platform.common.content.LootFunctions; import com.refinedmods.refinedstorage2.platform.common.content.MenuTypeFactory; @@ -36,6 +39,7 @@ import com.refinedmods.refinedstorage2.platform.common.content.Sounds; import com.refinedmods.refinedstorage2.platform.common.controller.ControllerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.controller.ControllerContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.controller.ControllerData; import com.refinedmods.refinedstorage2.platform.common.controller.ControllerType; import com.refinedmods.refinedstorage2.platform.common.detector.DetectorBlockEntity; import com.refinedmods.refinedstorage2.platform.common.detector.DetectorContainerMenu; @@ -45,10 +49,14 @@ import com.refinedmods.refinedstorage2.platform.common.grid.CraftingGridContainerMenu; import com.refinedmods.refinedstorage2.platform.common.grid.GridBlockEntity; import com.refinedmods.refinedstorage2.platform.common.grid.GridContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.grid.GridData; +import com.refinedmods.refinedstorage2.platform.common.grid.PortableGridData; import com.refinedmods.refinedstorage2.platform.common.grid.WirelessGridContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.grid.WirelessGridData; import com.refinedmods.refinedstorage2.platform.common.iface.InterfaceBlock; import com.refinedmods.refinedstorage2.platform.common.iface.InterfaceBlockEntity; import com.refinedmods.refinedstorage2.platform.common.iface.InterfaceContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.iface.InterfaceData; import com.refinedmods.refinedstorage2.platform.common.importer.ImporterBlockEntity; import com.refinedmods.refinedstorage2.platform.common.importer.ImporterContainerMenu; import com.refinedmods.refinedstorage2.platform.common.misc.ProcessorItem; @@ -57,12 +65,17 @@ import com.refinedmods.refinedstorage2.platform.common.networking.NetworkReceiverBlockEntity; import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterBlockEntity; import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterData; import com.refinedmods.refinedstorage2.platform.common.networking.RelayBlockEntity; import com.refinedmods.refinedstorage2.platform.common.networking.RelayContainerMenu; import com.refinedmods.refinedstorage2.platform.common.security.BuiltinPermission; import com.refinedmods.refinedstorage2.platform.common.security.FallbackSecurityCardContainerMenu; import com.refinedmods.refinedstorage2.platform.common.security.PlatformSecurityNetworkComponentImpl; +import com.refinedmods.refinedstorage2.platform.common.security.PlayerBoundSecurityCardData; +import com.refinedmods.refinedstorage2.platform.common.security.SecurityCardBoundPlayer; import com.refinedmods.refinedstorage2.platform.common.security.SecurityCardContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.security.SecurityCardData; +import com.refinedmods.refinedstorage2.platform.common.security.SecurityCardPermissions; import com.refinedmods.refinedstorage2.platform.common.security.SecurityManagerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.security.SecurityManagerContainerMenu; import com.refinedmods.refinedstorage2.platform.common.storage.FluidStorageType; @@ -89,6 +102,7 @@ import com.refinedmods.refinedstorage2.platform.common.storage.storageblock.ItemStorageBlockBlockEntity; import com.refinedmods.refinedstorage2.platform.common.storage.storageblock.ItemStorageBlockBlockItem; import com.refinedmods.refinedstorage2.platform.common.storage.storageblock.ItemStorageBlockContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.storage.storageblock.StorageBlockData; import com.refinedmods.refinedstorage2.platform.common.storage.storageblock.StorageBlockLootItemFunction; import com.refinedmods.refinedstorage2.platform.common.storage.storagedisk.FluidStorageDiskItem; import com.refinedmods.refinedstorage2.platform.common.storage.storagedisk.ItemStorageDiskItem; @@ -100,18 +114,20 @@ import com.refinedmods.refinedstorage2.platform.common.storagemonitor.StorageMonitorBlockEntity; import com.refinedmods.refinedstorage2.platform.common.storagemonitor.StorageMonitorContainerMenu; import com.refinedmods.refinedstorage2.platform.common.support.BaseBlockItem; -import com.refinedmods.refinedstorage2.platform.common.support.NetworkNodeBlockItem; import com.refinedmods.refinedstorage2.platform.common.support.SimpleBlock; import com.refinedmods.refinedstorage2.platform.common.support.SimpleItem; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.SingleAmountData; import com.refinedmods.refinedstorage2.platform.common.support.energy.EnergyLootItemFunction; import com.refinedmods.refinedstorage2.platform.common.support.network.BaseNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.support.network.bounditem.InventorySlotReferenceFactory; import com.refinedmods.refinedstorage2.platform.common.support.network.component.PlatformStorageNetworkComponent; import com.refinedmods.refinedstorage2.platform.common.support.resource.FluidResourceFactory; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceTypes; import com.refinedmods.refinedstorage2.platform.common.upgrade.FortuneUpgradeItem; import com.refinedmods.refinedstorage2.platform.common.upgrade.RangeUpgradeItem; import com.refinedmods.refinedstorage2.platform.common.upgrade.RegulatorUpgradeContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.upgrade.RegulatorUpgradeState; import com.refinedmods.refinedstorage2.platform.common.upgrade.SimpleUpgradeItem; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeWithEnchantedBookRecipeSerializer; @@ -120,13 +136,20 @@ import com.refinedmods.refinedstorage2.platform.common.wirelesstransmitter.RangeUpgradeWirelessTransmitterRangeModifier; import com.refinedmods.refinedstorage2.platform.common.wirelesstransmitter.WirelessTransmitterBlockEntity; import com.refinedmods.refinedstorage2.platform.common.wirelesstransmitter.WirelessTransmitterContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.wirelesstransmitter.WirelessTransmitterData; import java.util.Optional; +import java.util.UUID; import java.util.function.BiFunction; import java.util.function.Supplier; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; +import net.minecraft.core.GlobalPos; +import net.minecraft.core.UUIDUtil; +import net.minecraft.core.component.DataComponentType; +import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.item.Item; @@ -200,7 +223,7 @@ protected final void initializePlatformApi() { registerNetworkComponents(); registerWirelessTransmitterRangeModifiers(); registerPermissions(); - registerSlotReferenceProvider(); + registerInventorySlotReference(); } private void registerStorageTypes() { @@ -380,7 +403,7 @@ private void registerSimpleItems(final RegistryCallback callback) { Items.INSTANCE.setWrench(callback.register(WRENCH, WrenchItem::new)); Items.INSTANCE.setStorageHousing(callback.register(STORAGE_HOUSING, SimpleItem::new)); callback.register(MACHINE_CASING, () -> new BaseBlockItem(Blocks.INSTANCE.getMachineCasing())); - callback.register(STORAGE_MONITOR, () -> new NetworkNodeBlockItem(Blocks.INSTANCE.getStorageMonitor())); + callback.register(STORAGE_MONITOR, () -> Blocks.INSTANCE.getStorageMonitor().createBlockItem()); callback.register(INTERFACE, () -> Blocks.INSTANCE.getInterface().createBlockItem()); Items.INSTANCE.setConstructionCore(callback.register(CONSTRUCTION_CORE, SimpleItem::new)); Items.INSTANCE.setDestructionCore(callback.register(DESTRUCTION_CORE, SimpleItem::new)); @@ -450,20 +473,12 @@ private void registerUpgrades(final RegistryCallback callback) { )); final Supplier speedUpgrade = callback.register( ContentIds.SPEED_UPGRADE, - () -> new SimpleUpgradeItem( - PlatformApi.INSTANCE.getUpgradeRegistry(), - Platform.INSTANCE.getConfig().getUpgrade()::getSpeedUpgradeEnergyUsage, - false - ) + SimpleUpgradeItem::speedUpgrade ); Items.INSTANCE.setSpeedUpgrade(speedUpgrade); final Supplier stackUpgrade = callback.register( ContentIds.STACK_UPGRADE, - () -> new SimpleUpgradeItem( - PlatformApi.INSTANCE.getUpgradeRegistry(), - Platform.INSTANCE.getConfig().getUpgrade()::getStackUpgradeEnergyUsage, - false - ) + SimpleUpgradeItem::stackUpgrade ); Items.INSTANCE.setStackUpgrade(stackUpgrade); final Supplier fortune1Upgrade = callback.register( @@ -483,11 +498,7 @@ private void registerUpgrades(final RegistryCallback callback) { Items.INSTANCE.setFortune3Upgrade(fortune3Upgrade); final Supplier silkTouchUpgrade = callback.register( ContentIds.SILK_TOUCH_UPGRADE, - () -> new SimpleUpgradeItem( - PlatformApi.INSTANCE.getUpgradeRegistry(), - Platform.INSTANCE.getConfig().getUpgrade()::getSilkTouchUpgradeEnergyUsage, - true - ) + SimpleUpgradeItem::silkTouchUpgrade ); Items.INSTANCE.setSilkTouchUpgrade(silkTouchUpgrade); Items.INSTANCE.setRangeUpgrade(callback.register( @@ -676,120 +687,125 @@ protected final void registerBlockEntities( } protected final void registerMenus(final RegistryCallback> callback, - final MenuTypeFactory menuTypeFactory) { + final MenuTypeFactory menuTypeFactory, + final ExtendedMenuTypeFactory extendedMenuTypeFactory) { Menus.INSTANCE.setController(callback.register( CONTROLLER, - () -> menuTypeFactory.create(ControllerContainerMenu::new) + () -> extendedMenuTypeFactory.create(ControllerContainerMenu::new, ControllerData.STREAM_CODEC) )); Menus.INSTANCE.setDiskDrive(callback.register( DISK_DRIVE, - () -> menuTypeFactory.create(DiskDriveContainerMenu::new) + () -> extendedMenuTypeFactory.create(DiskDriveContainerMenu::new, ResourceContainerData.STREAM_CODEC) )); Menus.INSTANCE.setGrid(callback.register( GRID, - () -> menuTypeFactory.create(GridContainerMenu::new) + () -> extendedMenuTypeFactory.create(GridContainerMenu::new, GridData.STREAM_CODEC) )); Menus.INSTANCE.setCraftingGrid(callback.register( CRAFTING_GRID, - () -> menuTypeFactory.create(CraftingGridContainerMenu::new) + () -> extendedMenuTypeFactory.create(CraftingGridContainerMenu::new, GridData.STREAM_CODEC) )); Menus.INSTANCE.setWirelessGrid(callback.register( WIRELESS_GRID, - () -> menuTypeFactory.create(WirelessGridContainerMenu::new) + () -> extendedMenuTypeFactory.create(WirelessGridContainerMenu::new, WirelessGridData.STREAM_CODEC) )); Menus.INSTANCE.setItemStorage(callback.register( ITEM_STORAGE_BLOCK, - () -> menuTypeFactory.create(ItemStorageBlockContainerMenu::new) + () -> extendedMenuTypeFactory.create(ItemStorageBlockContainerMenu::new, StorageBlockData.STREAM_CODEC) )); Menus.INSTANCE.setFluidStorage(callback.register( FLUID_STORAGE_BLOCK, - () -> menuTypeFactory.create(FluidStorageBlockContainerMenu::new) + () -> extendedMenuTypeFactory.create(FluidStorageBlockContainerMenu::new, StorageBlockData.STREAM_CODEC) )); Menus.INSTANCE.setImporter(callback.register( IMPORTER, - () -> menuTypeFactory.create(ImporterContainerMenu::new) + () -> extendedMenuTypeFactory.create(ImporterContainerMenu::new, ResourceContainerData.STREAM_CODEC) )); Menus.INSTANCE.setExporter(callback.register( EXPORTER, - () -> menuTypeFactory.create(ExporterContainerMenu::new) + () -> extendedMenuTypeFactory.create(ExporterContainerMenu::new, ResourceContainerData.STREAM_CODEC) )); Menus.INSTANCE.setInterface(callback.register( INTERFACE, - () -> menuTypeFactory.create(InterfaceContainerMenu::new) + () -> extendedMenuTypeFactory.create(InterfaceContainerMenu::new, InterfaceData.STREAM_CODEC) )); Menus.INSTANCE.setExternalStorage(callback.register( EXTERNAL_STORAGE, - () -> menuTypeFactory.create(ExternalStorageContainerMenu::new) + () -> extendedMenuTypeFactory.create(ExternalStorageContainerMenu::new, ResourceContainerData.STREAM_CODEC) )); Menus.INSTANCE.setDetector(callback.register( DETECTOR, - () -> menuTypeFactory.create(DetectorContainerMenu::new) + () -> extendedMenuTypeFactory.create(DetectorContainerMenu::new, SingleAmountData.STREAM_CODEC) )); Menus.INSTANCE.setDestructor(callback.register( DESTRUCTOR, - () -> menuTypeFactory.create(DestructorContainerMenu::new) + () -> extendedMenuTypeFactory.create(DestructorContainerMenu::new, ResourceContainerData.STREAM_CODEC) )); Menus.INSTANCE.setConstructor(callback.register( CONSTRUCTOR, - () -> menuTypeFactory.create(ConstructorContainerMenu::new) + () -> extendedMenuTypeFactory.create(ConstructorContainerMenu::new, ResourceContainerData.STREAM_CODEC) )); Menus.INSTANCE.setRegulatorUpgrade(callback.register( REGULATOR_UPGRADE, - () -> menuTypeFactory.create(RegulatorUpgradeContainerMenu::new) + () -> extendedMenuTypeFactory.create(RegulatorUpgradeContainerMenu::new, SingleAmountData.STREAM_CODEC) )); Menus.INSTANCE.setWirelessTransmitter(callback.register( WIRELESS_TRANSMITTER, - () -> menuTypeFactory.create(WirelessTransmitterContainerMenu::new) + () -> extendedMenuTypeFactory.create(WirelessTransmitterContainerMenu::new, + WirelessTransmitterData.STREAM_CODEC) )); Menus.INSTANCE.setStorageMonitor(callback.register( STORAGE_MONITOR, - () -> menuTypeFactory.create(StorageMonitorContainerMenu::new) + () -> extendedMenuTypeFactory.create(StorageMonitorContainerMenu::new, ResourceContainerData.STREAM_CODEC) )); Menus.INSTANCE.setNetworkTransmitter(callback.register( NETWORK_TRANSMITTER, - () -> menuTypeFactory.create(NetworkTransmitterContainerMenu::new) + () -> extendedMenuTypeFactory.create(NetworkTransmitterContainerMenu::new, + NetworkTransmitterData.STREAM_CODEC) )); Menus.INSTANCE.setPortableGridBlock(callback.register( createIdentifier("portable_grid_block"), - () -> menuTypeFactory.create(PortableGridBlockContainerMenu::new) + () -> extendedMenuTypeFactory.create(PortableGridBlockContainerMenu::new, PortableGridData.STREAM_CODEC) )); Menus.INSTANCE.setPortableGridItem(callback.register( createIdentifier("portable_grid_item"), - () -> menuTypeFactory.create(PortableGridItemContainerMenu::new) + () -> extendedMenuTypeFactory.create(PortableGridItemContainerMenu::new, PortableGridData.STREAM_CODEC) )); Menus.INSTANCE.setSecurityCard(callback.register( SECURITY_CARD, - () -> menuTypeFactory.create(SecurityCardContainerMenu::new) + () -> extendedMenuTypeFactory.create(SecurityCardContainerMenu::new, + PlayerBoundSecurityCardData.STREAM_CODEC) )); Menus.INSTANCE.setFallbackSecurityCard(callback.register( FALLBACK_SECURITY_CARD, - () -> menuTypeFactory.create(FallbackSecurityCardContainerMenu::new) + () -> extendedMenuTypeFactory.create(FallbackSecurityCardContainerMenu::new, SecurityCardData.STREAM_CODEC) + )); + Menus.INSTANCE.setSecurityManager(callback.register( + SECURITY_MANAGER, + () -> menuTypeFactory.create(SecurityManagerContainerMenu::new) )); - Menus.INSTANCE.setSecurityManager(callback.register(SECURITY_MANAGER, () -> menuTypeFactory.create( - (syncId, playerInventory, buf) -> new SecurityManagerContainerMenu(syncId, playerInventory) - ))); Menus.INSTANCE.setRelay(callback.register( RELAY, - () -> menuTypeFactory.create(RelayContainerMenu::new) + () -> extendedMenuTypeFactory.create(RelayContainerMenu::new, ResourceContainerData.STREAM_CODEC) )); Menus.INSTANCE.setDiskInterface(callback.register( DISK_INTERFACE, - () -> menuTypeFactory.create(DiskInterfaceContainerMenu::new) + () -> extendedMenuTypeFactory.create(DiskInterfaceContainerMenu::new, ResourceContainerData.STREAM_CODEC) )); } - protected final void registerLootFunctions(final RegistryCallback callback) { + protected final void registerLootFunctions(final RegistryCallback> callback) { LootFunctions.INSTANCE.setStorageBlock(callback.register( STORAGE_BLOCK, - () -> new LootItemFunctionType(Codec.unit(new StorageBlockLootItemFunction())) + () -> new LootItemFunctionType<>(MapCodec.unit(new StorageBlockLootItemFunction())) )); LootFunctions.INSTANCE.setPortableGrid(callback.register( PORTABLE_GRID, - () -> new LootItemFunctionType(Codec.unit(new PortableGridLootItemFunction())) + () -> new LootItemFunctionType<>(MapCodec.unit(new PortableGridLootItemFunction())) )); LootFunctions.INSTANCE.setEnergy(callback.register( createIdentifier("energy"), - () -> new LootItemFunctionType(Codec.unit(new EnergyLootItemFunction())) + () -> new LootItemFunctionType<>(MapCodec.unit(new EnergyLootItemFunction())) )); } @@ -807,14 +823,56 @@ protected final void registerRecipeSerializers(final RegistryCallback> callback) { + DataComponents.INSTANCE.setEnergy( + callback.register(createIdentifier("energy"), () -> DataComponentType.builder() + .persistent(Codec.LONG) + .networkSynchronized(ByteBufCodecs.VAR_LONG) + .build())); + DataComponents.INSTANCE.setNetworkLocation( + callback.register(createIdentifier("network_location"), () -> DataComponentType.builder() + .persistent(GlobalPos.CODEC) + .networkSynchronized(GlobalPos.STREAM_CODEC) + .build())); + DataComponents.INSTANCE.setStorageReference( + callback.register(createIdentifier("storage_reference"), () -> DataComponentType.builder() + .persistent(UUIDUtil.CODEC) + .networkSynchronized(UUIDUtil.STREAM_CODEC) + .build())); + DataComponents.INSTANCE.setRegulatorUpgradeState( + callback.register(createIdentifier("regulator_upgrade_state"), + () -> DataComponentType.builder() + .persistent(RegulatorUpgradeState.CODEC) + .networkSynchronized(RegulatorUpgradeState.STREAM_CODEC) + .build())); + DataComponents.INSTANCE.setSecurityCardBoundPlayer( + callback.register(createIdentifier("security_card_bound_player"), + () -> DataComponentType.builder() + .persistent(SecurityCardBoundPlayer.CODEC) + .networkSynchronized(SecurityCardBoundPlayer.STREAM_CODEC) + .build())); + DataComponents.INSTANCE.setSecurityCardPermissions( + callback.register(createIdentifier("security_card_permissions"), + () -> DataComponentType.builder() + .persistent(SecurityCardPermissions.CODEC) + .networkSynchronized(SecurityCardPermissions.STREAM_CODEC) + .build())); + DataComponents.INSTANCE.setConfigurationCardState( + callback.register(createIdentifier("configuration_card_state"), + () -> DataComponentType.builder() + .persistent(ConfigurationCardState.CODEC) + .networkSynchronized(ConfigurationCardState.STREAM_CODEC) + .build())); + } + + protected final void registerInventorySlotReference() { PlatformApi.INSTANCE.getSlotReferenceFactoryRegistry().register( createIdentifier("inventory"), InventorySlotReferenceFactory.INSTANCE ); } - protected static boolean allowNbtUpdateAnimation(final ItemStack oldStack, final ItemStack newStack) { + protected static boolean allowComponentsUpdateAnimation(final ItemStack oldStack, final ItemStack newStack) { return oldStack.getItem() != newStack.getItem(); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractPlatform.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractPlatform.java index 6f84b85a8..70c66290a 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractPlatform.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/AbstractPlatform.java @@ -1,40 +1,22 @@ package com.refinedmods.refinedstorage2.platform.common; import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridInsertionStrategyFactory; -import com.refinedmods.refinedstorage2.platform.common.support.ClientToServerCommunications; -import com.refinedmods.refinedstorage2.platform.common.support.ServerToClientCommunications; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.MenuOpener; import com.refinedmods.refinedstorage2.platform.common.support.render.FluidRenderer; public abstract class AbstractPlatform implements Platform { - private final ServerToClientCommunications serverToClientCommunications; - private final ClientToServerCommunications clientToServerCommunications; private final MenuOpener menuOpener; private final FluidRenderer fluidRenderer; private final GridInsertionStrategyFactory defaultGridInsertionStrategyFactory; - protected AbstractPlatform(final ServerToClientCommunications serverToClientCommunications, - final ClientToServerCommunications clientToServerCommunications, - final MenuOpener menuOpener, + protected AbstractPlatform(final MenuOpener menuOpener, final FluidRenderer fluidRenderer, final GridInsertionStrategyFactory defaultGridInsertionStrategyFactory) { - this.serverToClientCommunications = serverToClientCommunications; - this.clientToServerCommunications = clientToServerCommunications; this.menuOpener = menuOpener; this.fluidRenderer = fluidRenderer; this.defaultGridInsertionStrategyFactory = defaultGridInsertionStrategyFactory; } - @Override - public ServerToClientCommunications getServerToClientCommunications() { - return serverToClientCommunications; - } - - @Override - public ClientToServerCommunications getClientToServerCommunications() { - return clientToServerCommunications; - } - @Override public MenuOpener getMenuOpener() { return menuOpener; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/Platform.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/Platform.java index 81851872f..c790ac1ac 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/Platform.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/Platform.java @@ -4,8 +4,6 @@ import com.refinedmods.refinedstorage2.api.grid.view.GridResourceFactory; import com.refinedmods.refinedstorage2.api.network.energy.EnergyStorage; import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridInsertionStrategyFactory; -import com.refinedmods.refinedstorage2.platform.common.support.ClientToServerCommunications; -import com.refinedmods.refinedstorage2.platform.common.support.ServerToClientCommunications; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.MenuOpener; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.TransferManager; import com.refinedmods.refinedstorage2.platform.common.support.render.FluidRenderer; @@ -25,16 +23,17 @@ import net.minecraft.core.Direction; import net.minecraft.core.NonNullList; import net.minecraft.network.chat.Component; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; -import net.minecraft.tags.TagKey; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.inventory.tooltip.TooltipComponent; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelReader; @@ -46,16 +45,10 @@ public interface Platform { Platform INSTANCE = new PlatformProxy(); - ServerToClientCommunications getServerToClientCommunications(); - - ClientToServerCommunications getClientToServerCommunications(); - MenuOpener getMenuOpener(); long getBucketAmount(); - TagKey getWrenchTag(); - Config getConfig(); boolean canEditBoxLoseFocus(EditBox editBox); @@ -82,7 +75,7 @@ public interface Platform { NonNullList getRemainingCraftingItems(Player player, CraftingRecipe craftingRecipe, - CraftingContainer container); + CraftingInput input); void onItemCrafted(Player player, ItemStack craftedStack, CraftingContainer container); @@ -115,6 +108,10 @@ List processTooltipComponents( Optional getEnergyStorage(ItemStack stack); + void sendPacketToServer(T packet); + + void sendPacketToClient(ServerPlayer player, T packet); + record ContainedFluid(ItemStack remainderContainer, FluidResource fluid, long amount) { } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/PlatformApiImpl.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/PlatformApiImpl.java index 8591e8b07..84d70c482 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/PlatformApiImpl.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/PlatformApiImpl.java @@ -49,7 +49,6 @@ import com.refinedmods.refinedstorage2.platform.api.upgrade.BuiltinUpgradeDestinations; import com.refinedmods.refinedstorage2.platform.api.upgrade.UpgradeRegistry; import com.refinedmods.refinedstorage2.platform.api.wirelesstransmitter.WirelessTransmitterRangeModifier; -import com.refinedmods.refinedstorage2.platform.common.grid.AbstractGridContainerMenu; import com.refinedmods.refinedstorage2.platform.common.grid.NoopGridSynchronizer; import com.refinedmods.refinedstorage2.platform.common.grid.screen.hint.GridInsertionHintsImpl; import com.refinedmods.refinedstorage2.platform.common.grid.screen.hint.ItemGridInsertionHint; @@ -72,6 +71,8 @@ import com.refinedmods.refinedstorage2.platform.common.support.network.bounditem.CompositeSlotReferenceProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.bounditem.InventorySlotReference; import com.refinedmods.refinedstorage2.platform.common.support.network.bounditem.NetworkBoundItemHelperImpl; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.C2SPackets; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.S2CPackets; import com.refinedmods.refinedstorage2.platform.common.support.registry.PlatformRegistryImpl; import com.refinedmods.refinedstorage2.platform.common.support.resource.CompositeRecipeModIngredientConverter; import com.refinedmods.refinedstorage2.platform.common.support.resource.FluidResourceFactory; @@ -99,10 +100,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; @@ -121,8 +119,9 @@ import static java.util.Objects.requireNonNull; public class PlatformApiImpl implements PlatformApi { - private final StorageRepository clientStorageRepository = - new ClientStorageRepository(Platform.INSTANCE.getClientToServerCommunications()::sendStorageInfoRequest); + private final StorageRepository clientStorageRepository = new ClientStorageRepository( + C2SPackets::sendStorageInfoRequest + ); private final ComponentMapFactory networkComponentMapFactory = new ComponentMapFactory<>(); private final NetworkBuilder networkBuilder = @@ -180,16 +179,18 @@ public PlatformRegistry getStorageTypeRegistry() { return storageTypeRegistry; } + @Override + public StorageRepository getClientStorageRepository() { + return clientStorageRepository; + } + @SuppressWarnings("DataFlowIssue") // NeoForge makes null datafixer safe @Override public StorageRepository getStorageRepository(final Level level) { - if (level.getServer() == null) { - return clientStorageRepository; - } final ServerLevel serverLevel = requireNonNull(level.getServer().getLevel(Level.OVERWORLD)); return serverLevel.getDataStorage().computeIfAbsent(new SavedData.Factory<>( - this::createStorageRepository, - this::createStorageRepository, + StorageRepositoryImpl::new, + StorageRepositoryImpl::new, null ), StorageRepositoryImpl.NAME); } @@ -199,16 +200,6 @@ public StorageContainerItemHelper getStorageContainerItemHelper() { return storageContainerItemHelper; } - private StorageRepositoryImpl createStorageRepository(final CompoundTag tag) { - final StorageRepositoryImpl repository = createStorageRepository(); - repository.read(tag); - return repository; - } - - private StorageRepositoryImpl createStorageRepository() { - return new StorageRepositoryImpl(storageTypeRegistry); - } - @Override public PlatformRegistry getResourceTypeRegistry() { return resourceTypeRegistry; @@ -284,11 +275,6 @@ public PlatformRegistry getGridSynchronizerRegistry() { return gridSynchronizerRegistry; } - @Override - public void writeGridScreenOpeningData(final Grid grid, final FriendlyByteBuf buf) { - AbstractGridContainerMenu.writeScreenOpeningData(grid, buf); - } - @Override public UpgradeRegistry getUpgradeRegistry() { return upgradeRegistry; @@ -522,24 +508,6 @@ public PlatformRegistry getSlotReferenceFactoryRegistry() return slotReferenceFactoryRegistry; } - @Override - public void writeSlotReference(final SlotReference slotReference, final FriendlyByteBuf buf) { - this.slotReferenceFactoryRegistry.getId(slotReference.getFactory()).ifPresentOrElse(id -> { - buf.writeBoolean(true); - buf.writeResourceLocation(id); - slotReference.writeToBuffer(buf); - }, () -> buf.writeBoolean(false)); - } - - @Override - public Optional getSlotReference(final FriendlyByteBuf buf) { - if (!buf.readBoolean()) { - return Optional.empty(); - } - final ResourceLocation id = buf.readResourceLocation(); - return slotReferenceFactoryRegistry.get(id).map(factory -> factory.create(buf)); - } - @Override public void addSlotReferenceProvider(final SlotReferenceProvider provider) { slotReferenceProvider.addProvider(provider); @@ -553,9 +521,7 @@ public SlotReference createInventorySlotReference(final Player player, final Int @Override public void useNetworkBoundItem(final Player player, final Item... items) { final Set validItems = new HashSet<>(Arrays.asList(items)); - slotReferenceProvider.findForUse(player, items[0], validItems).ifPresent( - slotReference -> Platform.INSTANCE.getClientToServerCommunications().sendUseNetworkBoundItem(slotReference) - ); + slotReferenceProvider.findForUse(player, items[0], validItems).ifPresent(C2SPackets::sendUseNetworkBoundItem); } @Override @@ -583,7 +549,7 @@ public void sendNoPermissionToOpenMessage(final ServerPlayer player, final Compo @Override public void sendNoPermissionMessage(final ServerPlayer player, final Component message) { - Platform.INSTANCE.getServerToClientCommunications().sendNoPermission(player, message); + S2CPackets.sendNoPermission(player, message); } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/PlatformProxy.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/PlatformProxy.java index 651d552e5..844b1d4b0 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/PlatformProxy.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/PlatformProxy.java @@ -4,8 +4,6 @@ import com.refinedmods.refinedstorage2.api.grid.view.GridResourceFactory; import com.refinedmods.refinedstorage2.api.network.energy.EnergyStorage; import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridInsertionStrategyFactory; -import com.refinedmods.refinedstorage2.platform.common.support.ClientToServerCommunications; -import com.refinedmods.refinedstorage2.platform.common.support.ServerToClientCommunications; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.MenuOpener; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.TransferManager; import com.refinedmods.refinedstorage2.platform.common.support.render.FluidRenderer; @@ -25,16 +23,17 @@ import net.minecraft.core.Direction; import net.minecraft.core.NonNullList; import net.minecraft.network.chat.Component; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; -import net.minecraft.tags.TagKey; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.inventory.tooltip.TooltipComponent; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelReader; @@ -55,16 +54,6 @@ public static void loadPlatform(final Platform platform) { proxy.platform = platform; } - @Override - public ServerToClientCommunications getServerToClientCommunications() { - return ensureLoaded().getServerToClientCommunications(); - } - - @Override - public ClientToServerCommunications getClientToServerCommunications() { - return ensureLoaded().getClientToServerCommunications(); - } - @Override public MenuOpener getMenuOpener() { return ensureLoaded().getMenuOpener(); @@ -75,11 +64,6 @@ public long getBucketAmount() { return ensureLoaded().getBucketAmount(); } - @Override - public TagKey getWrenchTag() { - return ensureLoaded().getWrenchTag(); - } - @Override public Config getConfig() { return ensureLoaded().getConfig(); @@ -149,8 +133,8 @@ public ItemStack getCloneItemStack(final BlockState state, @Override public NonNullList getRemainingCraftingItems(final Player player, final CraftingRecipe craftingRecipe, - final CraftingContainer container) { - return ensureLoaded().getRemainingCraftingItems(player, craftingRecipe, container); + final CraftingInput input) { + return ensureLoaded().getRemainingCraftingItems(player, craftingRecipe, input); } @Override @@ -223,6 +207,16 @@ public Optional getEnergyStorage(final ItemStack stack) { return ensureLoaded().getEnergyStorage(stack); } + @Override + public void sendPacketToServer(final T packet) { + ensureLoaded().sendPacketToServer(packet); + } + + @Override + public void sendPacketToClient(final ServerPlayer player, final T packet) { + ensureLoaded().sendPacketToClient(player, packet); + } + private Platform ensureLoaded() { if (platform == null) { throw new IllegalStateException("Platform not loaded yet"); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/configurationcard/ConfigurationCardItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/configurationcard/ConfigurationCardItem.java index eb4bdaa99..a98f98010 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/configurationcard/ConfigurationCardItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/configurationcard/ConfigurationCardItem.java @@ -2,17 +2,16 @@ import com.refinedmods.refinedstorage2.platform.api.configurationcard.ConfigurationCardTarget; import com.refinedmods.refinedstorage2.platform.api.support.HelpTooltipComponent; +import com.refinedmods.refinedstorage2.platform.common.content.DataComponents; import java.util.List; import java.util.Optional; import javax.annotation.Nullable; import net.minecraft.ChatFormatting; +import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; -import net.minecraft.nbt.StringTag; -import net.minecraft.nbt.Tag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; @@ -30,19 +29,13 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; -import static java.util.Objects.requireNonNull; public class ConfigurationCardItem extends Item { private static final Component EMPTY_HELP = createTranslation("item", "configuration_card.empty_help"); private static final Component CONFIGURED_HELP = createTranslation("item", "configuration_card.configured_help"); - private static final Component EMPTY = createTranslation("item", "configuration_card.empty") .withStyle(ChatFormatting.GRAY); - private static final String TAG_TYPE = "type"; - private static final String TAG_CONFIG = "config"; - private static final String TAG_UPGRADES = "upgrades"; - public ConfigurationCardItem() { super(new Item.Properties().stacksTo(1)); } @@ -57,35 +50,40 @@ public InteractionResult useOn(final UseOnContext ctx) { return InteractionResult.CONSUME; } final ItemStack stack = ctx.getItemInHand(); - if (stack.getTag() == null) { - writeConfiguration(stack, ctx.getPlayer(), target, blockEntity.getType()); + final ConfigurationCardState state = stack.get(DataComponents.INSTANCE.getConfigurationCardState()); + if (state == null) { + stack.set(DataComponents.INSTANCE.getConfigurationCardState(), new ConfigurationCardState( + blockEntity.getType(), + createConfigTag(target, ctx.getLevel().registryAccess()), + target.getUpgradeItems() + )); + sendCopiedConfigurationMessage(ctx.getPlayer(), blockEntity.getType()); return InteractionResult.CONSUME; } - return applyConfiguration(ctx.getPlayer(), blockEntity, target, stack.getTag()); + return applyConfiguration(ctx.getPlayer(), blockEntity, target, state, ctx.getLevel().registryAccess()); } private InteractionResult applyConfiguration( final Player player, final BlockEntity targetBlockEntity, final ConfigurationCardTarget target, - final CompoundTag tag + final ConfigurationCardState state, + final HolderLookup.Provider provider ) { - final BlockEntityType existingConfiguredType = getConfiguredType(tag); - if (existingConfiguredType != targetBlockEntity.getType()) { - return configurationCardIsConfiguredForDifferentType(player, existingConfiguredType); + if (state.blockEntityType() != targetBlockEntity.getType()) { + return configurationCardIsConfiguredForDifferentType(player, state.blockEntityType()); } - target.readConfiguration(tag.getCompound(TAG_CONFIG)); - tryTransferUpgrades(player, target, tag); + target.readConfiguration(state.config(), provider); + tryTransferUpgrades(player, target, state.upgradeItems()); targetBlockEntity.setChanged(); player.sendSystemMessage(createTranslation("item", "configuration_card.applied_configuration")); return InteractionResult.SUCCESS; } - private void tryTransferUpgrades(final Player player, final ConfigurationCardTarget target, final CompoundTag tag) { - final ListTag upgradesTag = tag.getList(TAG_UPGRADES, Tag.TAG_STRING); - for (final Tag upgradeItemTag : upgradesTag) { - final ResourceLocation upgradeItemKey = new ResourceLocation(upgradeItemTag.getAsString()); - final Item upgradeItem = BuiltInRegistries.ITEM.get(upgradeItemKey); + private void tryTransferUpgrades(final Player player, + final ConfigurationCardTarget target, + final List upgradeItems) { + for (final Item upgradeItem : upgradeItems) { final int upgradeIndexInPlayerInventory = player.getInventory().findSlotMatchingItem( new ItemStack(upgradeItem) ); @@ -109,30 +107,9 @@ private InteractionResult configurationCardIsConfiguredForDifferentType( return InteractionResult.CONSUME; } - private void writeConfiguration(final ItemStack stack, - final Player player, - final ConfigurationCardTarget target, - final BlockEntityType type) { + private CompoundTag createConfigTag(final ConfigurationCardTarget target, final HolderLookup.Provider provider) { final CompoundTag tag = new CompoundTag(); - tag.putString(TAG_TYPE, requireNonNull(BuiltInRegistries.BLOCK_ENTITY_TYPE.getKey(type)).toString()); - tag.put(TAG_CONFIG, createConfigTag(target)); - tag.put(TAG_UPGRADES, createUpgradesTag(target)); - stack.setTag(tag); - sendCopiedConfigurationMessage(player, type); - } - - private CompoundTag createConfigTag(final ConfigurationCardTarget target) { - final CompoundTag tag = new CompoundTag(); - target.writeConfiguration(tag); - return tag; - } - - private ListTag createUpgradesTag(final ConfigurationCardTarget target) { - final ListTag tag = new ListTag(); - target.getUpgradeItems().forEach(item -> { - final ResourceLocation itemKey = BuiltInRegistries.ITEM.getKey(item); - tag.add(StringTag.valueOf(itemKey.toString())); - }); + target.writeConfiguration(tag, provider); return tag; } @@ -160,45 +137,36 @@ public InteractionResultHolder use(final Level level, final Player pl @Override public void appendHoverText(final ItemStack stack, - @Nullable final Level level, + final TooltipContext context, final List lines, final TooltipFlag flag) { - super.appendHoverText(stack, level, lines, flag); - if (stack.getTag() == null) { + super.appendHoverText(stack, context, lines, flag); + final ConfigurationCardState state = stack.get(DataComponents.INSTANCE.getConfigurationCardState()); + if (state == null) { lines.add(EMPTY); return; } - final BlockEntityType configuredType = getConfiguredType(stack.getTag()); - if (configuredType == null) { - return; - } lines.add(createTranslation( "item", "configuration_card.configured", - getConfiguredTypeTranslation(configuredType).withStyle(ChatFormatting.WHITE) + getConfiguredTypeTranslation(state.blockEntityType()).withStyle(ChatFormatting.WHITE) ).withStyle(ChatFormatting.GRAY)); } - @Nullable - private BlockEntityType getConfiguredType(final CompoundTag tag) { - final ResourceLocation type = new ResourceLocation(tag.getString(TAG_TYPE)); - return BuiltInRegistries.BLOCK_ENTITY_TYPE.get(type); + @Override + public Optional getTooltipImage(final ItemStack stack) { + return Optional.of(new HelpTooltipComponent(isActive(stack) ? CONFIGURED_HELP : EMPTY_HELP)); + } + + boolean isActive(final ItemStack stack) { + return stack.has(DataComponents.INSTANCE.getConfigurationCardState()); } - private MutableComponent getConfiguredTypeTranslation(final BlockEntityType type) { + private static MutableComponent getConfiguredTypeTranslation(final BlockEntityType type) { final ResourceLocation typeId = BuiltInRegistries.BLOCK_ENTITY_TYPE.getKey(type); if (typeId == null) { return Component.empty(); } return Component.translatable("block." + typeId.getNamespace() + "." + typeId.getPath()); } - - @Override - public Optional getTooltipImage(final ItemStack stack) { - return Optional.of(new HelpTooltipComponent(isActive(stack) ? CONFIGURED_HELP : EMPTY_HELP)); - } - - boolean isActive(final ItemStack stack) { - return stack.getTag() != null && stack.getTag().contains(TAG_TYPE); - } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/configurationcard/ConfigurationCardItemPropertyFunction.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/configurationcard/ConfigurationCardItemPropertyFunction.java index 0da16a8f9..3f1e46bcb 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/configurationcard/ConfigurationCardItemPropertyFunction.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/configurationcard/ConfigurationCardItemPropertyFunction.java @@ -8,8 +8,10 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + public class ConfigurationCardItemPropertyFunction implements ClampedItemPropertyFunction { - public static final ResourceLocation NAME = new ResourceLocation("active"); + public static final ResourceLocation NAME = createIdentifier("configuration_card_active"); @Override public float unclampedCall(final ItemStack itemStack, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/configurationcard/ConfigurationCardState.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/configurationcard/ConfigurationCardState.java new file mode 100644 index 000000000..58fbc7dcc --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/configurationcard/ConfigurationCardState.java @@ -0,0 +1,37 @@ +package com.refinedmods.refinedstorage2.platform.common.configurationcard; + +import java.util.ArrayList; +import java.util.List; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.entity.BlockEntityType; + +public record ConfigurationCardState(BlockEntityType blockEntityType, + CompoundTag config, + List upgradeItems) { + public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + BuiltInRegistries.BLOCK_ENTITY_TYPE.byNameCodec().fieldOf("blockEntityType") + .forGetter(ConfigurationCardState::blockEntityType), + CompoundTag.CODEC.fieldOf("config") + .forGetter(ConfigurationCardState::config), + Codec.list(BuiltInRegistries.ITEM.byNameCodec()).fieldOf("upgradeItems") + .forGetter(ConfigurationCardState::upgradeItems) + ).apply(instance, ConfigurationCardState::new)); + + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.registry(Registries.BLOCK_ENTITY_TYPE), ConfigurationCardState::blockEntityType, + ByteBufCodecs.COMPOUND_TAG, ConfigurationCardState::config, + ByteBufCodecs.collection(ArrayList::new, ByteBufCodecs.registry(Registries.ITEM)), + ConfigurationCardState::upgradeItems, + ConfigurationCardState::new + ); +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/BlockBreakDestructorStrategyFactory.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/BlockBreakDestructorStrategyFactory.java index a6f0c4927..5177cf9d8 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/BlockBreakDestructorStrategyFactory.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/BlockBreakDestructorStrategyFactory.java @@ -12,6 +12,8 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.enchantment.Enchantment; @@ -19,11 +21,11 @@ public class BlockBreakDestructorStrategyFactory implements DestructorStrategyFactory { private static final ItemStack DEFAULT_TOOL = new ItemStack(net.minecraft.world.item.Items.DIAMOND_PICKAXE); - private static final List TOOLS = List.of( - Tool.of(Items.INSTANCE::getSilkTouchUpgrade, Enchantments.SILK_TOUCH, 1), - Tool.of(Items.INSTANCE::getFortune3Upgrade, Enchantments.BLOCK_FORTUNE, 3), - Tool.of(Items.INSTANCE::getFortune2Upgrade, Enchantments.BLOCK_FORTUNE, 2), - Tool.of(Items.INSTANCE::getFortune1Upgrade, Enchantments.BLOCK_FORTUNE, 1) + private static final List UPGRADE_MAPPINGS = List.of( + new UpgradeMapping(Items.INSTANCE::getSilkTouchUpgrade, Enchantments.SILK_TOUCH, 1), + new UpgradeMapping(Items.INSTANCE::getFortune3Upgrade, Enchantments.FORTUNE, 3), + new UpgradeMapping(Items.INSTANCE::getFortune2Upgrade, Enchantments.FORTUNE, 2), + new UpgradeMapping(Items.INSTANCE::getFortune1Upgrade, Enchantments.FORTUNE, 1) ); @Override @@ -32,24 +34,26 @@ public Optional create(final ServerLevel level, final Direction direction, final UpgradeState upgradeState, final boolean pickupItems) { - final ItemStack tool = createTool(upgradeState); + final ItemStack tool = DEFAULT_TOOL.copy(); + enchantTool(level, upgradeState, tool); return Optional.of(new BlockBreakDestructorStrategy(level, pos, direction, tool)); } - private ItemStack createTool(final UpgradeState state) { - for (final Tool tool : TOOLS) { - if (state.has(tool.itemSupplier.get())) { - return tool.tool; + private static void enchantTool(final ServerLevel level, final UpgradeState upgradeState, final ItemStack tool) { + for (final UpgradeMapping upgradeMapping : UPGRADE_MAPPINGS) { + if (upgradeState.has(upgradeMapping.upgradeItemSupplier.get())) { + level.holderLookup(Registries.ENCHANTMENT).get(upgradeMapping.enchantment).ifPresent( + enchantment -> tool.enchant(enchantment, upgradeMapping.level) + ); + return; } } - return DEFAULT_TOOL; } - private record Tool(Supplier itemSupplier, ItemStack tool) { - private static Tool of(final Supplier item, final Enchantment enchantment, final int level) { - final ItemStack resultingTool = DEFAULT_TOOL.copy(); - resultingTool.enchant(enchantment, level); - return new Tool(item, resultingTool); - } + private record UpgradeMapping( + Supplier upgradeItemSupplier, + ResourceKey enchantment, + int level + ) { } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/ConstructorBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/ConstructorBlockEntity.java index 4c870f75e..27e12c396 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/ConstructorBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/ConstructorBlockEntity.java @@ -24,6 +24,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; @@ -100,14 +101,14 @@ public void postDoWork() { } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); tag.putBoolean(TAG_DROP_ITEMS, dropItems); } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); if (tag.contains(TAG_DROP_ITEMS)) { dropItems = tag.getBoolean(TAG_DROP_ITEMS); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/ConstructorContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/ConstructorContainerMenu.java index f27575351..8cc5b09da 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/ConstructorContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/ConstructorContainerMenu.java @@ -5,10 +5,10 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractSchedulingContainerMenu; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ClientProperty; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeContainer; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -18,12 +18,14 @@ public class ConstructorContainerMenu extends AbstractSchedulingContainerMenu { private static final MutableComponent FILTER_HELP = createTranslation("gui", "constructor.filter_help"); - public ConstructorContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { + public ConstructorContainerMenu(final int syncId, + final Inventory playerInventory, + final ResourceContainerData resourceContainerData) { super( Menus.INSTANCE.getConstructor(), syncId, playerInventory.player, - buf, + resourceContainerData, UpgradeDestinations.CONSTRUCTOR, FILTER_HELP ); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/DestructorBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/DestructorBlockEntity.java index 1792aef9f..7a72a8546 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/DestructorBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/DestructorBlockEntity.java @@ -14,8 +14,9 @@ import com.refinedmods.refinedstorage2.platform.common.support.AbstractDirectionalBlock; import com.refinedmods.refinedstorage2.platform.common.support.FilterModeSettings; import com.refinedmods.refinedstorage2.platform.common.support.FilterWithFuzzyMode; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractUpgradeableNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; @@ -25,18 +26,19 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.level.block.state.BlockState; public class DestructorBlockEntity extends AbstractUpgradeableNetworkNodeContainerBlockEntity - implements NetworkNodeMenuProvider { + implements NetworkNodeExtendedMenuProvider { private static final String TAG_FILTER_MODE = "fim"; private static final String TAG_PICKUP_ITEMS = "pi"; @@ -89,17 +91,17 @@ public void setFilterMode(final FilterMode mode) { } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); tag.putInt(TAG_FILTER_MODE, FilterModeSettings.getFilterMode(filter.getMode())); tag.putBoolean(TAG_PICKUP_ITEMS, pickupItems); - filterWithFuzzyMode.save(tag); + filterWithFuzzyMode.save(tag, provider); } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); - filterWithFuzzyMode.load(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); + filterWithFuzzyMode.load(tag, provider); if (tag.contains(TAG_FILTER_MODE)) { filter.setMode(FilterModeSettings.getFilterMode(tag.getInt(TAG_FILTER_MODE))); } @@ -115,8 +117,13 @@ protected void setEnergyUsage(final long upgradeEnergyUsage) { } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - filterWithFuzzyMode.getFilterContainer().writeToUpdatePacket(buf); + public ResourceContainerData getMenuData() { + return ResourceContainerData.of(filterWithFuzzyMode.getFilterContainer()); + } + + @Override + public StreamEncoder getMenuCodec() { + return ResourceContainerData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/DestructorContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/DestructorContainerMenu.java index ca122493d..b3f5dabf3 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/DestructorContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/DestructorContainerMenu.java @@ -8,10 +8,10 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ClientProperty; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.PropertyTypes; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeContainer; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -21,12 +21,14 @@ public class DestructorContainerMenu extends AbstractSimpleFilterContainerMenu { private static final MutableComponent FILTER_HELP = createTranslation("gui", "destructor.filter_help"); - public DestructorContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { + public DestructorContainerMenu(final int syncId, + final Inventory playerInventory, + final ResourceContainerData resourceContainerData) { super( Menus.INSTANCE.getDestructor(), syncId, playerInventory.player, - buf, + resourceContainerData, UpgradeDestinations.DESTRUCTOR, FILTER_HELP ); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/FluidBreakDestructorStrategy.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/FluidBreakDestructorStrategy.java index f258547be..f3aabbc0c 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/FluidBreakDestructorStrategy.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/constructordestructor/FluidBreakDestructorStrategy.java @@ -44,8 +44,8 @@ public boolean apply(final Filter filter, || blockState.getValue(LiquidBlock.LEVEL) != 0) { return false; } - final Fluid fluid = liquidBlock.getFluidState(blockState).getType(); - final FluidResource fluidResource = new FluidResource(fluid, null); + final Fluid fluid = blockState.getFluidState().getType(); + final FluidResource fluidResource = new FluidResource(fluid); if (!filter.isAllowed(fluidResource)) { return false; } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ColorMap.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ColorMap.java index 9534c13f9..484101f96 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ColorMap.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ColorMap.java @@ -35,7 +35,7 @@ protected final ResourceLocation getId(final DyeColor color) { if (color == defaultColor) { return baseId; } - return new ResourceLocation(baseId.getNamespace(), color.getName() + "_" + baseId.getPath()); + return ResourceLocation.fromNamespaceAndPath(baseId.getNamespace(), color.getName() + "_" + baseId.getPath()); } public void forEach(final ColoredConsumer consumer) { 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 811af7e5b..8f9247f13 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,7 +22,7 @@ public final class ContentNames { public static final MutableComponent CREATIVE_CONTROLLER = name("creative_controller"); public static final MutableComponent WIRELESS_GRID = createTranslation("item", "wireless_grid"); public static final MutableComponent WIRELESS_TRANSMITTER = name("wireless_transmitter"); - public static final MutableComponent REGULATOR_UPGRADE = name("regulator_upgrade"); + public static final MutableComponent REGULATOR_UPGRADE = createTranslation("item", "regulator_upgrade"); public static final MutableComponent STORAGE_MONITOR = name("storage_monitor"); public static final MutableComponent INTERFACE = name("interface"); public static final MutableComponent DISK_DRIVE = name("disk_drive"); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/DataComponents.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/DataComponents.java new file mode 100644 index 000000000..e59fa268c --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/DataComponents.java @@ -0,0 +1,99 @@ +package com.refinedmods.refinedstorage2.platform.common.content; + +import com.refinedmods.refinedstorage2.platform.common.configurationcard.ConfigurationCardState; +import com.refinedmods.refinedstorage2.platform.common.security.SecurityCardBoundPlayer; +import com.refinedmods.refinedstorage2.platform.common.security.SecurityCardPermissions; +import com.refinedmods.refinedstorage2.platform.common.upgrade.RegulatorUpgradeState; + +import java.util.UUID; +import java.util.function.Supplier; +import javax.annotation.Nullable; + +import net.minecraft.core.GlobalPos; +import net.minecraft.core.component.DataComponentType; + +import static java.util.Objects.requireNonNull; + +public final class DataComponents { + public static final DataComponents INSTANCE = new DataComponents(); + + @Nullable + private Supplier> energy; + @Nullable + private Supplier> networkLocation; + @Nullable + private Supplier> storageReference; + @Nullable + private Supplier> regulatorUpgradeState; + @Nullable + private Supplier> securityCardBoundPlayer; + @Nullable + private Supplier> securityCardPermissions; + @Nullable + private Supplier> configurationCardState; + + private DataComponents() { + } + + public DataComponentType getEnergy() { + return requireNonNull(energy).get(); + } + + public void setEnergy(@Nullable final Supplier> supplier) { + this.energy = supplier; + } + + public DataComponentType getNetworkLocation() { + return requireNonNull(networkLocation).get(); + } + + public void setNetworkLocation(@Nullable final Supplier> supplier) { + this.networkLocation = supplier; + } + + public DataComponentType getStorageReference() { + return requireNonNull(storageReference).get(); + } + + public void setStorageReference(@Nullable final Supplier> supplier) { + this.storageReference = supplier; + } + + public DataComponentType getRegulatorUpgradeState() { + return requireNonNull(regulatorUpgradeState).get(); + } + + public void setRegulatorUpgradeState(@Nullable final Supplier> supplier) { + this.regulatorUpgradeState = supplier; + } + + public DataComponentType getSecurityCardBoundPlayer() { + return requireNonNull(securityCardBoundPlayer).get(); + } + + public void setSecurityCardBoundPlayer( + @Nullable final Supplier> supplier + ) { + this.securityCardBoundPlayer = supplier; + } + + public DataComponentType getSecurityCardPermissions() { + return requireNonNull(securityCardPermissions).get(); + } + + public void setSecurityCardPermissions( + @Nullable final Supplier> supplier + ) { + this.securityCardPermissions = supplier; + } + + public DataComponentType getConfigurationCardState() { + return requireNonNull(configurationCardState).get(); + } + + public void setConfigurationCardState( + @Nullable final Supplier> supplier + ) { + this.configurationCardState = supplier; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ExtendedMenuTypeFactory.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ExtendedMenuTypeFactory.java new file mode 100644 index 000000000..16918adeb --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/ExtendedMenuTypeFactory.java @@ -0,0 +1,20 @@ +package com.refinedmods.refinedstorage2.platform.common.content; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.inventory.MenuType; + +@FunctionalInterface +public interface ExtendedMenuTypeFactory { + MenuType create( + MenuSupplier supplier, + StreamCodec streamCodec + ); + + @FunctionalInterface + interface MenuSupplier { + T create(int syncId, Inventory playerInventory, D data); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/LootFunctions.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/LootFunctions.java index a033282ea..b019d788f 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/LootFunctions.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/LootFunctions.java @@ -1,5 +1,9 @@ package com.refinedmods.refinedstorage2.platform.common.content; +import com.refinedmods.refinedstorage2.platform.common.storage.portablegrid.PortableGridLootItemFunction; +import com.refinedmods.refinedstorage2.platform.common.storage.storageblock.StorageBlockLootItemFunction; +import com.refinedmods.refinedstorage2.platform.common.support.energy.EnergyLootItemFunction; + import java.util.function.Supplier; import javax.annotation.Nullable; @@ -11,36 +15,36 @@ public final class LootFunctions { public static final LootFunctions INSTANCE = new LootFunctions(); @Nullable - private Supplier storageBlock; + private Supplier> storageBlock; @Nullable - private Supplier energy; + private Supplier> energy; @Nullable - private Supplier portableGrid; + private Supplier> portableGrid; private LootFunctions() { } - public LootItemFunctionType getStorageBlock() { + public LootItemFunctionType getStorageBlock() { return requireNonNull(storageBlock).get(); } - public void setStorageBlock(final Supplier supplier) { + public void setStorageBlock(final Supplier> supplier) { this.storageBlock = supplier; } - public LootItemFunctionType getEnergy() { + public LootItemFunctionType getEnergy() { return requireNonNull(energy).get(); } - public void setEnergy(final Supplier supplier) { + public void setEnergy(final Supplier> supplier) { this.energy = supplier; } - public LootItemFunctionType getPortableGrid() { + public LootItemFunctionType getPortableGrid() { return requireNonNull(portableGrid).get(); } - public void setPortableGrid(final Supplier portableGrid) { - this.portableGrid = portableGrid; + public void setPortableGrid(final Supplier> supplier) { + this.portableGrid = supplier; } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/MenuTypeFactory.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/MenuTypeFactory.java index 901b772ec..244565804 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/MenuTypeFactory.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/MenuTypeFactory.java @@ -1,6 +1,5 @@ package com.refinedmods.refinedstorage2.platform.common.content; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.MenuType; @@ -11,6 +10,6 @@ public interface MenuTypeFactory { @FunctionalInterface interface MenuSupplier { - T create(int syncId, Inventory playerInventory, FriendlyByteBuf data); + T create(int syncId, Inventory playerInventory); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Sounds.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Sounds.java index 0ae669184..148896013 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Sounds.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/content/Sounds.java @@ -19,7 +19,7 @@ public SoundEvent getWrench() { return Objects.requireNonNull(wrench).get(); } - public void setWrench(final Supplier wrenchSupplier) { - this.wrench = wrenchSupplier; + public void setWrench(final Supplier supplier) { + this.wrench = supplier; } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerBlockEntity.java index 151bcea6c..7eddb3e08 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerBlockEntity.java @@ -7,7 +7,7 @@ import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.energy.BlockEntityEnergyStorage; import com.refinedmods.refinedstorage2.platform.common.support.energy.CreativeEnergyStorage; import com.refinedmods.refinedstorage2.platform.common.support.energy.ItemBlockEnergyStorage; @@ -15,10 +15,11 @@ import com.google.common.util.concurrent.RateLimiter; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -29,7 +30,7 @@ import org.slf4j.LoggerFactory; public class ControllerBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity - implements NetworkNodeMenuProvider, TransferableBlockEntityEnergy { + implements NetworkNodeExtendedMenuProvider, TransferableBlockEntityEnergy { private static final Logger LOGGER = LoggerFactory.getLogger(ControllerBlockEntity.class); private static final String TAG_CAPACITY = "capacity"; @@ -76,8 +77,8 @@ public void updateEnergyTypeInLevel(final BlockState state) { } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); ItemBlockEnergyStorage.writeToTag(tag, mainNode.getActualStored()); saveRenderingInfo(tag); } @@ -87,8 +88,8 @@ private void saveRenderingInfo(final CompoundTag tag) { } @Override - public void load(final CompoundTag tag) { - super.load(tag); + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.loadAdditional(tag, provider); ItemBlockEnergyStorage.readFromTag(energyStorage, tag); } @@ -103,9 +104,13 @@ public AbstractContainerMenu createMenu(final int syncId, final Inventory inv, f } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - buf.writeLong(getActualStored()); - buf.writeLong(getActualCapacity()); + public ControllerData getMenuData() { + return new ControllerData(getActualStored(), getActualCapacity()); + } + + @Override + public StreamEncoder getMenuCodec() { + return ControllerData.STREAM_CODEC; } long getActualStored() { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerContainerMenu.java index 9e2e29515..805b6c98a 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerContainerMenu.java @@ -9,17 +9,22 @@ import com.refinedmods.refinedstorage2.platform.common.support.energy.EnergyContainerMenu; import com.refinedmods.refinedstorage2.platform.common.support.energy.EnergyInfo; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; public class ControllerContainerMenu extends AbstractBaseContainerMenu implements EnergyContainerMenu { private final EnergyInfo energyInfo; - public ControllerContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { + public ControllerContainerMenu(final int syncId, + final Inventory playerInventory, + final ControllerData controllerData) { super(Menus.INSTANCE.getController(), syncId); addPlayerInventory(playerInventory, 8, 107); - this.energyInfo = EnergyInfo.forClient(playerInventory.player, buf.readLong(), buf.readLong()); + this.energyInfo = EnergyInfo.forClient( + playerInventory.player, + controllerData.stored(), + controllerData.capacity() + ); registerProperty(new ClientProperty<>(PropertyTypes.REDSTONE_MODE, RedstoneMode.IGNORE)); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerData.java new file mode 100644 index 000000000..91d795d3a --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerData.java @@ -0,0 +1,13 @@ +package com.refinedmods.refinedstorage2.platform.common.controller; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record ControllerData(long stored, long capacity) { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.VAR_LONG, ControllerData::stored, + ByteBufCodecs.VAR_LONG, ControllerData::capacity, + ControllerData::new + ); +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerModelPredicateProvider.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerModelPredicateProvider.java index bcf8ceaa8..17cf86750 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerModelPredicateProvider.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/controller/ControllerModelPredicateProvider.java @@ -15,9 +15,6 @@ public float unclampedCall(final ItemStack stack, @Nullable final ClientLevel level, @Nullable final LivingEntity entity, final int seed) { - if (stack.getTag() == null) { // for newly created items - return 1; - } return PlatformApi.INSTANCE.getEnergyStorage(stack) .map(energyStorage -> (float) energyStorage.getStored() / (float) energyStorage.getCapacity()) .orElse(1F); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/detector/DetectorBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/detector/DetectorBlockEntity.java index 23ffabe08..2f387d376 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/detector/DetectorBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/detector/DetectorBlockEntity.java @@ -12,20 +12,23 @@ import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; import com.refinedmods.refinedstorage2.platform.common.support.AbstractDirectionalBlock; import com.refinedmods.refinedstorage2.platform.common.support.FilterWithFuzzyMode; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractSingleAmountContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.SingleAmountData; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractRedstoneModeNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; +import java.util.Optional; import javax.annotation.Nullable; import com.google.common.util.concurrent.RateLimiter; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -35,7 +38,7 @@ import org.slf4j.LoggerFactory; public class DetectorBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity - implements NetworkNodeMenuProvider { + implements NetworkNodeExtendedMenuProvider { private static final Logger LOGGER = LoggerFactory.getLogger(DetectorBlockEntity.class); private static final String TAG_AMOUNT = "amount"; @@ -63,17 +66,17 @@ public DetectorBlockEntity(final BlockPos pos, final BlockState state) { } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); - filter.save(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); + filter.save(tag, provider); tag.putDouble(TAG_AMOUNT, amount); tag.putInt(TAG_MODE, DetectorModeSettings.getDetectorMode(mainNode.getMode())); } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); - filter.load(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); + filter.load(tag, provider); if (tag.contains(TAG_AMOUNT)) { this.amount = tag.getDouble(TAG_AMOUNT); } @@ -126,8 +129,17 @@ private void initialize() { } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - AbstractSingleAmountContainerMenu.writeToBuf(buf, amount, filter.getFilterContainer(), null); + public SingleAmountData getMenuData() { + return new SingleAmountData( + Optional.empty(), + amount, + ResourceContainerData.of(filter.getFilterContainer()) + ); + } + + @Override + public StreamEncoder getMenuCodec() { + return SingleAmountData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/detector/DetectorContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/detector/DetectorContainerMenu.java index b223acf9f..3f81d0291 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/detector/DetectorContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/detector/DetectorContainerMenu.java @@ -7,10 +7,10 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ClientProperty; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.PropertyTypes; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.SingleAmountData; import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -23,8 +23,10 @@ public class DetectorContainerMenu extends AbstractSingleAmountContainerMenu { @Nullable private DetectorBlockEntity detector; - public DetectorContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { - super(Menus.INSTANCE.getDetector(), syncId, playerInventory, buf, FILTER_HELP); + public DetectorContainerMenu(final int syncId, + final Inventory playerInventory, + final SingleAmountData singleAmountData) { + super(Menus.INSTANCE.getDetector(), syncId, playerInventory, singleAmountData, FILTER_HELP); registerProperty(new ClientProperty<>(PropertyTypes.FUZZY_MODE, false)); registerProperty(new ClientProperty<>(DetectorPropertyTypes.MODE, DetectorMode.EQUAL)); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/exporter/ExporterContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/exporter/ExporterContainerMenu.java index 072995098..533dadff9 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/exporter/ExporterContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/exporter/ExporterContainerMenu.java @@ -3,10 +3,10 @@ import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceContainer; import com.refinedmods.refinedstorage2.platform.common.content.Menus; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractSchedulingContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeContainer; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -16,12 +16,14 @@ public class ExporterContainerMenu extends AbstractSchedulingContainerMenu { private static final MutableComponent FILTER_HELP = createTranslation("gui", "exporter.filter_help"); - public ExporterContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { + public ExporterContainerMenu(final int syncId, + final Inventory playerInventory, + final ResourceContainerData resourceContainerData) { super( Menus.INSTANCE.getExporter(), syncId, playerInventory.player, - buf, + resourceContainerData, UpgradeDestinations.EXPORTER, FILTER_HELP ); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/AbstractGridBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/AbstractGridBlockEntity.java index 525b4dc12..d1f01db0f 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/AbstractGridBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/AbstractGridBlockEntity.java @@ -17,13 +17,14 @@ import com.refinedmods.refinedstorage2.platform.api.support.network.InWorldNetworkNodeContainer; import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; import com.refinedmods.refinedstorage2.platform.common.support.AbstractDirectionalBlock; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractRedstoneModeNetworkNodeContainerBlockEntity; import java.util.List; import net.minecraft.core.BlockPos; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; @@ -32,7 +33,7 @@ public abstract class AbstractGridBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity - implements Grid, NetworkNodeMenuProvider { + implements Grid, NetworkNodeExtendedMenuProvider { protected AbstractGridBlockEntity(final BlockEntityType type, final BlockPos pos, final BlockState state, @@ -53,8 +54,13 @@ protected InWorldNetworkNodeContainer createMainContainer(final GridNetworkNode } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - PlatformApi.INSTANCE.writeGridScreenOpeningData(this, buf); + public GridData getMenuData() { + return GridData.of(this); + } + + @Override + public StreamEncoder getMenuCodec() { + return GridData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/AbstractGridContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/AbstractGridContainerMenu.java index e3c5d027b..92acdb5d2 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/AbstractGridContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/AbstractGridContainerMenu.java @@ -10,9 +10,7 @@ import com.refinedmods.refinedstorage2.api.grid.view.GridViewBuilder; import com.refinedmods.refinedstorage2.api.grid.view.GridViewBuilderImpl; import com.refinedmods.refinedstorage2.api.grid.watcher.GridWatcher; -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; import com.refinedmods.refinedstorage2.api.resource.ResourceKey; -import com.refinedmods.refinedstorage2.api.storage.TrackedResourceAmount; import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.grid.Grid; @@ -33,20 +31,17 @@ import com.refinedmods.refinedstorage2.platform.common.grid.strategy.ClientGridScrollingStrategy; import com.refinedmods.refinedstorage2.platform.common.grid.view.CompositeGridResourceFactory; import com.refinedmods.refinedstorage2.platform.common.support.AbstractBaseContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.S2CPackets; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceTypes; import com.refinedmods.refinedstorage2.platform.common.support.stretching.ScreenSizeListener; -import com.refinedmods.refinedstorage2.platform.common.util.PacketUtil; import com.refinedmods.refinedstorage2.query.lexer.LexerTokenMappings; import com.refinedmods.refinedstorage2.query.parser.ParserOperatorMappings; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.function.Predicate; import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -96,24 +91,21 @@ protected AbstractGridContainerMenu( final MenuType menuType, final int syncId, final Inventory playerInventory, - final FriendlyByteBuf buf + final GridData gridData ) { super(menuType, syncId); this.playerInventory = playerInventory; - this.active = buf.readBoolean(); + this.active = gridData.active(); final GridViewBuilder viewBuilder = createViewBuilder(); - final int resources = buf.readInt(); - for (int i = 0; i < resources; ++i) { - final ResourceLocation resourceTypeId = buf.readResourceLocation(); - final ResourceType resourceType = PlatformApi.INSTANCE - .getResourceTypeRegistry() - .get(resourceTypeId) - .orElseThrow(); - readResource(resourceType, buf, viewBuilder); - } + gridData.resources().forEach(gridResource -> viewBuilder.withResource( + gridResource.resourceAmount().getResource(), + gridResource.resourceAmount().getAmount(), + gridResource.trackedResource().orElse(null) + )); + this.view = viewBuilder.build(); this.view.setSortingDirection(Platform.INSTANCE.getConfig().getGrid().getSortingDirection()); this.view.setSortingType(Platform.INSTANCE.getConfig().getGrid().getSortingType()); @@ -249,7 +241,7 @@ public GridView getView() { public void onActiveChanged(final boolean newActive) { this.active = newActive; if (this.playerInventory.player instanceof ServerPlayer serverPlayerEntity) { - Platform.INSTANCE.getServerToClientCommunications().sendGridActiveness(serverPlayerEntity, newActive); + S2CPackets.sendGridActiveness(serverPlayerEntity, newActive); } } @@ -263,7 +255,7 @@ public void onChanged( return; } LOGGER.debug("{} received a change of {} for {}", this, change, resource); - Platform.INSTANCE.getServerToClientCommunications().sendGridUpdate( + S2CPackets.sendGridUpdate( (ServerPlayer) playerInventory.player, platformResource, change, @@ -275,7 +267,7 @@ public void onChanged( public void invalidate() { if (playerInventory.player instanceof ServerPlayer serverPlayer) { initStrategies(serverPlayer); - Platform.INSTANCE.getServerToClientCommunications().sendGridClear(serverPlayer); + S2CPackets.sendGridClear(serverPlayer); } } @@ -427,36 +419,7 @@ protected boolean canTransferSlot(final Slot slot) { return true; } - private static void readResource(final ResourceType type, - final FriendlyByteBuf buf, - final GridViewBuilder viewBuilder) { - final ResourceKey resource = type.fromBuffer(buf); - final long amount = buf.readLong(); - final TrackedResource trackedResource = PacketUtil.readTrackedResource(buf); - viewBuilder.withResource(resource, amount, trackedResource); - } - public void onClear() { view.clear(); } - - public static void writeScreenOpeningData(final Grid grid, final FriendlyByteBuf buf) { - buf.writeBoolean(grid.isGridActive()); - final List resources = grid.getResources(PlayerActor.class); - buf.writeInt(resources.size()); - resources.forEach(resource -> writeGridResource(resource, buf)); - } - - private static void writeGridResource(final TrackedResourceAmount trackedResourceAmount, - final FriendlyByteBuf buf) { - final ResourceAmount resourceAmount = trackedResourceAmount.resourceAmount(); - final PlatformResourceKey resource = (PlatformResourceKey) resourceAmount.getResource(); - final ResourceType resourceType = resource.getResourceType(); - final ResourceLocation resourceTypeId = PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType) - .orElseThrow(); - buf.writeResourceLocation(resourceTypeId); - resource.toBuffer(buf); - buf.writeLong(resourceAmount.getAmount()); - PacketUtil.writeTrackedResource(buf, trackedResourceAmount.trackedResource()); - } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/ClientCraftingGridSource.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/ClientCraftingGridSource.java index 79450c3f0..82963ea0d 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/ClientCraftingGridSource.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/ClientCraftingGridSource.java @@ -1,6 +1,6 @@ package com.refinedmods.refinedstorage2.platform.common.grid; -import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.C2SPackets; import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; import java.util.List; @@ -9,6 +9,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.ResultContainer; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.CraftingInput; class ClientCraftingGridSource implements CraftingGridSource { private final CraftingMatrix craftingMatrix; @@ -30,7 +31,7 @@ public ResultContainer getCraftingResult() { } @Override - public NonNullList getRemainingItems(final Player player) { + public NonNullList getRemainingItems(final Player player, final CraftingInput input) { throw new UnsupportedOperationException(); } @@ -46,13 +47,13 @@ public CraftingGridRefillContext openSnapshotRefillContext(final Player player) @Override public boolean clearMatrix(final Player player, final boolean toPlayerInventory) { - Platform.INSTANCE.getClientToServerCommunications().sendCraftingGridClear(toPlayerInventory); + C2SPackets.sendCraftingGridClear(toPlayerInventory); return true; } @Override public void transferRecipe(final Player player, final List> recipe) { - Platform.INSTANCE.getClientToServerCommunications().sendCraftingGridRecipeTransfer(recipe); + C2SPackets.sendCraftingGridRecipeTransfer(recipe); } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridBlockEntity.java index 8b092ef68..25da456ed 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridBlockEntity.java @@ -8,6 +8,7 @@ import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; +import com.refinedmods.refinedstorage2.platform.common.support.BlockEntityWithDrops; import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; import com.refinedmods.refinedstorage2.platform.common.util.ContainerUtil; @@ -15,6 +16,7 @@ import javax.annotation.Nullable; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; @@ -22,13 +24,14 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.ResultContainer; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; -public class CraftingGridBlockEntity extends AbstractGridBlockEntity { +public class CraftingGridBlockEntity extends AbstractGridBlockEntity implements BlockEntityWithDrops { private static final String TAG_CRAFTING_MATRIX = "matrix"; @Nullable @@ -58,13 +61,14 @@ private void setOutputSilently(final Level level) { if (level.isClientSide()) { return; } - if (currentRecipe == null || !currentRecipe.matches(craftingMatrix, level)) { + final CraftingInput input = craftingMatrix.asCraftInput(); + if (currentRecipe == null || !currentRecipe.matches(input, level)) { currentRecipe = loadRecipe(level); } if (currentRecipe == null) { setResult(ItemStack.EMPTY); } else { - setResult(currentRecipe.assemble(craftingMatrix, level.registryAccess())); + setResult(currentRecipe.assemble(input, level.registryAccess())); } } @@ -76,7 +80,7 @@ private void setResult(final ItemStack result) { private CraftingRecipe loadRecipe(final Level level) { return level .getRecipeManager() - .getRecipeFor(RecipeType.CRAFTING, craftingMatrix, level) + .getRecipeFor(RecipeType.CRAFTING, craftingMatrix.asCraftInput(), level) .map(RecipeHolder::value) .orElse(null); } @@ -89,11 +93,11 @@ ResultContainer getCraftingResult() { return craftingResult; } - NonNullList getRemainingItems(final Player player) { + NonNullList getRemainingItems(final Player player, final CraftingInput input) { if (level == null || currentRecipe == null) { return NonNullList.create(); } - return Platform.INSTANCE.getRemainingCraftingItems(player, currentRecipe, craftingMatrix); + return Platform.INSTANCE.getRemainingCraftingItems(player, currentRecipe, input); } @Override @@ -108,16 +112,16 @@ public AbstractGridContainerMenu createMenu(final int syncId, final Inventory in } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - tag.put(TAG_CRAFTING_MATRIX, ContainerUtil.write(craftingMatrix)); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + tag.put(TAG_CRAFTING_MATRIX, ContainerUtil.write(craftingMatrix, provider)); } @Override - public void load(final CompoundTag tag) { - super.load(tag); + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.loadAdditional(tag, provider); if (tag.contains(TAG_CRAFTING_MATRIX)) { - ContainerUtil.read(tag.getCompound(TAG_CRAFTING_MATRIX), craftingMatrix); + ContainerUtil.read(tag.getCompound(TAG_CRAFTING_MATRIX), craftingMatrix, provider); } } @@ -127,6 +131,15 @@ public void setLevel(final Level level) { setOutputSilently(level); } + @Override + public NonNullList getDrops() { + final NonNullList drops = NonNullList.create(); + for (int i = 0; i < craftingMatrix.getContainerSize(); ++i) { + drops.add(craftingMatrix.getItem(i)); + } + return drops; + } + Optional getNetwork() { if (!mainNode.isActive()) { return Optional.empty(); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridContainerMenu.java index 4ce75a353..c413f60df 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridContainerMenu.java @@ -18,7 +18,6 @@ import java.util.function.Predicate; import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -37,8 +36,10 @@ public class CraftingGridContainerMenu extends AbstractGridContainerMenu { @Nullable private Predicate filterBeforeFilteringBasedOnCraftingMatrixItems; - public CraftingGridContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { - super(Menus.INSTANCE.getCraftingGrid(), syncId, playerInventory, buf); + public CraftingGridContainerMenu(final int syncId, + final Inventory playerInventory, + final GridData gridData) { + super(Menus.INSTANCE.getCraftingGrid(), syncId, playerInventory, gridData); this.source = new ClientCraftingGridSource(); this.player = playerInventory.player; onScreenReady(0); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridResultSlot.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridResultSlot.java index 70d19a96c..a7b5d4a10 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridResultSlot.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridResultSlot.java @@ -10,6 +10,7 @@ import net.minecraft.world.inventory.RecipeCraftingHolder; import net.minecraft.world.inventory.ResultSlot; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.CraftingInput; class CraftingGridResultSlot extends ResultSlot { private final CraftingGridSource source; @@ -30,7 +31,7 @@ public ItemStack onQuickCraft(final Player player) { final int maxCrafted = singleResultStack.getMaxStackSize(); int crafted = 0; try (CraftingGridRefillContext refillContext = source.openSnapshotRefillContext(player)) { - while (ItemStack.isSameItemSameTags(singleResultStack, getItem()) && crafted < maxCrafted) { + while (ItemStack.isSameItemSameComponents(singleResultStack, getItem()) && crafted < maxCrafted) { doTake(player, refillContext); crafted += singleResultStack.getCount(); } @@ -50,14 +51,21 @@ public void onTake(final Player player, final ItemStack stack) { private void doTake(final Player player, final CraftingGridRefillContext refillContext) { fireCraftingEvents(player, getItem().copy()); - final NonNullList remainingItems = source.getRemainingItems(player); - for (int i = 0; i < remainingItems.size(); ++i) { - final ItemStack matrixStack = source.getCraftingMatrix().getItem(i); - final ItemStack remainingItem = remainingItems.get(i); - if (!remainingItem.isEmpty()) { - useIngredientWithRemainingItem(player, i, remainingItem); - } else if (!matrixStack.isEmpty()) { - useIngredient(player, refillContext, i, matrixStack); + final CraftingInput.Positioned positioned = source.getCraftingMatrix().asPositionedCraftInput(); + final CraftingInput input = positioned.input(); + final int left = positioned.left(); + final int top = positioned.top(); + final NonNullList remainingItems = source.getRemainingItems(player, input); + for (int y = 0; y < input.height(); ++y) { + for (int x = 0; x < input.width(); ++x) { + final int index = x + left + (y + top) * source.getCraftingMatrix().getWidth(); + final ItemStack matrixStack = source.getCraftingMatrix().getItem(index); + final ItemStack remainingItem = remainingItems.get(x + y * input.width()); + if (!remainingItem.isEmpty()) { + useIngredientWithRemainingItem(player, index, remainingItem); + } else if (!matrixStack.isEmpty()) { + useIngredient(player, refillContext, index, matrixStack); + } } } source.getCraftingMatrix().changed(); @@ -69,7 +77,7 @@ private void useIngredientWithRemainingItem(final Player player, final ItemStack matrixStack = decrementMatrixSlot(index); if (matrixStack.isEmpty()) { source.getCraftingMatrix().setItem(index, remainingItem); - } else if (ItemStack.isSameItemSameTags(matrixStack, remainingItem)) { + } else if (ItemStack.isSameItemSameComponents(matrixStack, remainingItem)) { remainingItem.grow(matrixStack.getCount()); source.getCraftingMatrix().setItem(index, remainingItem); } else if (!player.getInventory().add(remainingItem)) { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridSource.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridSource.java index 4616d26da..6d4e147be 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridSource.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridSource.java @@ -8,13 +8,14 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.ResultContainer; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.CraftingInput; interface CraftingGridSource { CraftingMatrix getCraftingMatrix(); ResultContainer getCraftingResult(); - NonNullList getRemainingItems(Player player); + NonNullList getRemainingItems(Player player, CraftingInput input); CraftingGridRefillContext openRefillContext(); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridSourceImpl.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridSourceImpl.java index 7fad1dd98..9a64e5646 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridSourceImpl.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridSourceImpl.java @@ -13,6 +13,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.ResultContainer; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.CraftingInput; class CraftingGridSourceImpl implements CraftingGridSource { private final CraftingGridBlockEntity blockEntity; @@ -32,8 +33,8 @@ public ResultContainer getCraftingResult() { } @Override - public NonNullList getRemainingItems(final Player player) { - return blockEntity.getRemainingItems(player); + public NonNullList getRemainingItems(final Player player, final CraftingInput input) { + return blockEntity.getRemainingItems(player, input); } @Override @@ -117,7 +118,7 @@ private boolean extractFromPlayerInventory(final Player player, final ItemResour final ItemStack possibilityStack = possibility.toItemStack(); for (int i = 0; i < player.getInventory().getContainerSize(); ++i) { final ItemStack playerStack = player.getInventory().getItem(i); - if (ItemStack.isSameItemSameTags(playerStack, possibilityStack)) { + if (ItemStack.isSameItemSameComponents(playerStack, possibilityStack)) { player.getInventory().removeItem(i, 1); return true; } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/GridContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/GridContainerMenu.java index 58270e006..407a846e4 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/GridContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/GridContainerMenu.java @@ -6,12 +6,11 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.PropertyTypes; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; public class GridContainerMenu extends AbstractGridContainerMenu { - public GridContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { - super(Menus.INSTANCE.getGrid(), syncId, playerInventory, buf); + public GridContainerMenu(final int syncId, final Inventory playerInventory, final GridData gridData) { + super(Menus.INSTANCE.getGrid(), syncId, playerInventory, gridData); onScreenReady(0); registerProperty(new ClientProperty<>(PropertyTypes.REDSTONE_MODE, RedstoneMode.IGNORE)); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/GridData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/GridData.java new file mode 100644 index 000000000..886921249 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/GridData.java @@ -0,0 +1,45 @@ +package com.refinedmods.refinedstorage2.platform.common.grid; + +import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; +import com.refinedmods.refinedstorage2.api.storage.TrackedResourceAmount; +import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; +import com.refinedmods.refinedstorage2.platform.api.grid.Grid; +import com.refinedmods.refinedstorage2.platform.api.storage.PlayerActor; +import com.refinedmods.refinedstorage2.platform.common.storage.StorageCodecs; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceCodecs; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record GridData(boolean active, List resources) { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.BOOL, GridData::active, + ByteBufCodecs.collection(ArrayList::new, StreamCodec.composite( + ResourceCodecs.AMOUNT_STREAM_CODEC, GridResource::resourceAmount, + StorageCodecs.TRACKED_RESOURCE_OPTIONAL_STREAM_CODEC, GridResource::trackedResource, + GridResource::new + )), GridData::resources, + GridData::new + ); + + public static GridData of(final Grid grid) { + return new GridData( + grid.isGridActive(), + grid.getResources(PlayerActor.class).stream().map(GridResource::of).toList() + ); + } + + public record GridResource(ResourceAmount resourceAmount, Optional trackedResource) { + static GridResource of(final TrackedResourceAmount trackedResourceAmount) { + return new GridResource( + trackedResourceAmount.resourceAmount(), + Optional.ofNullable(trackedResourceAmount.trackedResource()) + ); + } + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/PortableGridData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/PortableGridData.java new file mode 100644 index 000000000..f4e3f8131 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/PortableGridData.java @@ -0,0 +1,20 @@ +package com.refinedmods.refinedstorage2.platform.common.grid; + +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReferenceFactory; + +import java.util.Optional; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record PortableGridData(GridData gridData, long stored, long capacity, Optional slotReference) { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + GridData.STREAM_CODEC, PortableGridData::gridData, + ByteBufCodecs.VAR_LONG, PortableGridData::stored, + ByteBufCodecs.VAR_LONG, PortableGridData::capacity, + ByteBufCodecs.optional(SlotReferenceFactory.STREAM_CODEC), PortableGridData::slotReference, + PortableGridData::new + ); +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/WirelessGridContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/WirelessGridContainerMenu.java index 9803393a5..a92fe6bc2 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/WirelessGridContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/WirelessGridContainerMenu.java @@ -1,17 +1,17 @@ package com.refinedmods.refinedstorage2.platform.common.grid; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.grid.Grid; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.common.content.Menus; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; public class WirelessGridContainerMenu extends AbstractGridContainerMenu { - public WirelessGridContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { - super(Menus.INSTANCE.getWirelessGrid(), syncId, playerInventory, buf); - this.disabledSlot = PlatformApi.INSTANCE.getSlotReference(buf).orElse(null); + public WirelessGridContainerMenu(final int syncId, + final Inventory playerInventory, + final WirelessGridData wirelessGridData) { + super(Menus.INSTANCE.getWirelessGrid(), syncId, playerInventory, wirelessGridData.gridData()); + this.disabledSlot = wirelessGridData.slotReference(); onScreenReady(0); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/WirelessGridData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/WirelessGridData.java new file mode 100644 index 000000000..91b59f41b --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/WirelessGridData.java @@ -0,0 +1,15 @@ +package com.refinedmods.refinedstorage2.platform.common.grid; + +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReferenceFactory; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; + +public record WirelessGridData(GridData gridData, SlotReference slotReference) { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + GridData.STREAM_CODEC, WirelessGridData::gridData, + SlotReferenceFactory.STREAM_CODEC, WirelessGridData::slotReference, + WirelessGridData::new + ); +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/WirelessGridExtendedMenuProvider.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/WirelessGridExtendedMenuProvider.java index f8d5bd446..44e18b89a 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/WirelessGridExtendedMenuProvider.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/WirelessGridExtendedMenuProvider.java @@ -1,6 +1,5 @@ package com.refinedmods.refinedstorage2.platform.common.grid; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.grid.Grid; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; @@ -8,14 +7,14 @@ import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; -class WirelessGridExtendedMenuProvider implements ExtendedMenuProvider { +class WirelessGridExtendedMenuProvider implements ExtendedMenuProvider { private final Grid grid; private final SlotReference slotReference; @@ -25,9 +24,16 @@ class WirelessGridExtendedMenuProvider implements ExtendedMenuProvider { } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - PlatformApi.INSTANCE.writeGridScreenOpeningData(grid, buf); - PlatformApi.INSTANCE.writeSlotReference(slotReference, buf); + public WirelessGridData getMenuData() { + return new WirelessGridData( + GridData.of(grid), + slotReference + ); + } + + @Override + public StreamEncoder getMenuCodec() { + return WirelessGridData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridExtractionStrategy.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridExtractionStrategy.java index a4f8d6e6f..17fb83fb5 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridExtractionStrategy.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridExtractionStrategy.java @@ -3,14 +3,14 @@ import com.refinedmods.refinedstorage2.api.grid.operations.GridExtractMode; import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridExtractionStrategy; import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.C2SPackets; public class ClientGridExtractionStrategy implements GridExtractionStrategy { @Override public boolean onExtract(final PlatformResourceKey resource, final GridExtractMode extractMode, final boolean cursor) { - Platform.INSTANCE.getClientToServerCommunications().sendGridExtract(resource, extractMode, cursor); + C2SPackets.sendGridExtract(resource, extractMode, cursor); return true; } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridInsertionStrategy.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridInsertionStrategy.java index 8a005135c..1dfe32887 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridInsertionStrategy.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridInsertionStrategy.java @@ -2,12 +2,12 @@ import com.refinedmods.refinedstorage2.api.grid.operations.GridInsertMode; import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridInsertionStrategy; -import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.C2SPackets; public class ClientGridInsertionStrategy implements GridInsertionStrategy { @Override public boolean onInsert(final GridInsertMode insertMode, final boolean tryAlternatives) { - Platform.INSTANCE.getClientToServerCommunications().sendGridInsert(insertMode, tryAlternatives); + C2SPackets.sendGridInsert(insertMode, tryAlternatives); return true; } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridScrollingStrategy.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridScrollingStrategy.java index c3f1dbdda..ceebdbc5c 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridScrollingStrategy.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/strategy/ClientGridScrollingStrategy.java @@ -3,12 +3,12 @@ import com.refinedmods.refinedstorage2.platform.api.grid.GridScrollMode; import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridScrollingStrategy; import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.C2SPackets; public class ClientGridScrollingStrategy implements GridScrollingStrategy { @Override public boolean onScroll(final PlatformResourceKey resource, final GridScrollMode scrollMode, final int slotIndex) { - Platform.INSTANCE.getClientToServerCommunications().sendGridScroll(resource, scrollMode, slotIndex); + C2SPackets.sendGridScroll(resource, scrollMode, slotIndex); return true; } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/view/AbstractItemGridResourceFactory.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/view/AbstractItemGridResourceFactory.java index 19fb2e107..3ea3c8849 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/view/AbstractItemGridResourceFactory.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/view/AbstractItemGridResourceFactory.java @@ -42,7 +42,7 @@ public Optional apply(final ResourceAmount resourceAmount) { private String getTooltip(final ItemStack itemStack) { return itemStack - .getTooltipLines(null, TooltipFlag.ADVANCED) + .getTooltipLines(Item.TooltipContext.EMPTY, null, TooltipFlag.ADVANCED) .stream() .map(Component::getString) .collect(Collectors.joining("\n")); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/iface/InterfaceBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/iface/InterfaceBlockEntity.java index 71a15ddaa..e7923471b 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/iface/InterfaceBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/iface/InterfaceBlockEntity.java @@ -12,18 +12,20 @@ import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; import com.refinedmods.refinedstorage2.platform.common.support.BlockEntityWithDrops; import com.refinedmods.refinedstorage2.platform.common.support.FilterWithFuzzyMode; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractRedstoneModeNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import javax.annotation.Nullable; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -33,7 +35,7 @@ public class InterfaceBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity - implements NetworkNodeMenuProvider, BlockEntityWithDrops { + implements NetworkNodeExtendedMenuProvider, BlockEntityWithDrops { private static final String TAG_EXPORT_ITEMS = "ei"; private static final int EXPORT_SLOTS = 9; @@ -67,10 +69,33 @@ static ResourceContainer createFilterContainer() { ); } + static ResourceContainer createFilterContainer(final InterfaceData interfaceData) { + final ResourceContainer filterContainer = createFilterContainer(); + final ResourceContainerData resourceContainerData = interfaceData.filterContainerData(); + for (int i = 0; i < resourceContainerData.resources().size(); ++i) { + final int ii = i; + resourceContainerData.resources().get(i).ifPresent(resource -> filterContainer.set(ii, resource)); + } + return filterContainer; + } + static ExportedResourcesContainer createExportedResourcesContainer(final FilterWithFuzzyMode filter) { return new ExportedResourcesContainer(EXPORT_SLOTS, filter); } + static ResourceContainer createExportedResourcesContainer(final InterfaceData interfaceData, + final FilterWithFuzzyMode filter) { + final ExportedResourcesContainer exportedResourcesContainer = createExportedResourcesContainer(filter); + final ResourceContainerData resourceContainerData = interfaceData.exportedResourcesContainerData(); + for (int i = 0; i < resourceContainerData.resources().size(); ++i) { + final int ii = i; + resourceContainerData.resources().get(i).ifPresent( + resource -> exportedResourcesContainer.set(ii, resource) + ); + } + return exportedResourcesContainer; + } + static long getTransferQuota(final ResourceKey resource) { if (resource instanceof PlatformResourceKey platformResource) { return platformResource.getInterfaceExportLimit(); @@ -79,29 +104,29 @@ static long getTransferQuota(final ResourceKey resource) { } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - tag.put(TAG_EXPORT_ITEMS, exportedResources.toTag()); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + tag.put(TAG_EXPORT_ITEMS, exportedResources.toTag(provider)); } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); - filter.save(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); + filter.save(tag, provider); } @Override - public void load(final CompoundTag tag) { + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { if (tag.contains(TAG_EXPORT_ITEMS)) { - exportedResources.fromTag(tag.getCompound(TAG_EXPORT_ITEMS)); + exportedResources.fromTag(tag.getCompound(TAG_EXPORT_ITEMS), provider); } - super.load(tag); + super.loadAdditional(tag, provider); } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); - filter.load(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); + filter.load(tag, provider); } boolean isFuzzyMode() { @@ -134,9 +159,16 @@ public AbstractContainerMenu createMenu(final int syncId, final Inventory invent } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - filter.getFilterContainer().writeToUpdatePacket(buf); - exportedResources.writeToUpdatePacket(buf); + public InterfaceData getMenuData() { + return new InterfaceData( + ResourceContainerData.of(filter.getFilterContainer()), + ResourceContainerData.of(exportedResources) + ); + } + + @Override + public StreamEncoder getMenuCodec() { + return InterfaceData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/iface/InterfaceContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/iface/InterfaceContainerMenu.java index 0c673c693..745466840 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/iface/InterfaceContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/iface/InterfaceContainerMenu.java @@ -11,7 +11,6 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ResourceSlotType; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; @@ -45,14 +44,16 @@ public class InterfaceContainerMenu extends AbstractResourceContainerMenu { )); } - public InterfaceContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { + public InterfaceContainerMenu(final int syncId, + final Inventory playerInventory, + final InterfaceData interfaceData) { super(Menus.INSTANCE.getInterface(), syncId); - final ResourceContainer filterContainer = InterfaceBlockEntity.createFilterContainer(); + final ResourceContainer filterContainer = InterfaceBlockEntity.createFilterContainer(interfaceData); final ResourceContainer exportedResources = InterfaceBlockEntity.createExportedResourcesContainer( + interfaceData, FilterWithFuzzyMode.create(filterContainer, null) ); addSlots(playerInventory.player, filterContainer, exportedResources, exportedResources.toItemContainer()); - initializeResourceSlots(buf); registerProperty(new ClientProperty<>(PropertyTypes.FUZZY_MODE, false)); registerProperty(new ClientProperty<>(PropertyTypes.REDSTONE_MODE, RedstoneMode.IGNORE)); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/iface/InterfaceData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/iface/InterfaceData.java new file mode 100644 index 000000000..a41abb0a4 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/iface/InterfaceData.java @@ -0,0 +1,15 @@ +package com.refinedmods.refinedstorage2.platform.common.iface; + +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; + +public record InterfaceData(ResourceContainerData filterContainerData, + ResourceContainerData exportedResourcesContainerData) { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ResourceContainerData.STREAM_CODEC, InterfaceData::filterContainerData, + ResourceContainerData.STREAM_CODEC, InterfaceData::exportedResourcesContainerData, + InterfaceData::new + ); +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/importer/ImporterBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/importer/ImporterBlockEntity.java index fab93c5e5..98443f735 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/importer/ImporterBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/importer/ImporterBlockEntity.java @@ -14,8 +14,9 @@ import com.refinedmods.refinedstorage2.platform.common.support.AbstractDirectionalBlock; import com.refinedmods.refinedstorage2.platform.common.support.FilterModeSettings; import com.refinedmods.refinedstorage2.platform.common.support.FilterWithFuzzyMode; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractUpgradeableNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; @@ -26,11 +27,12 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -40,7 +42,7 @@ public class ImporterBlockEntity extends AbstractUpgradeableNetworkNodeContainerBlockEntity - implements AmountOverride, NetworkNodeMenuProvider { + implements AmountOverride, NetworkNodeExtendedMenuProvider { private static final Logger LOGGER = LoggerFactory.getLogger(ImporterBlockEntity.class); private static final String TAG_FILTER_MODE = "fim"; @@ -82,19 +84,19 @@ private List createStrategies(final ServerLevel server } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); tag.putInt(TAG_FILTER_MODE, FilterModeSettings.getFilterMode(mainNode.getFilterMode())); - filter.save(tag); + filter.save(tag, provider); } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); if (tag.contains(TAG_FILTER_MODE)) { mainNode.setFilterMode(FilterModeSettings.getFilterMode(tag.getInt(TAG_FILTER_MODE))); } - filter.load(tag); + filter.load(tag, provider); } void setFilters(final Set filters) { @@ -125,8 +127,13 @@ protected void setEnergyUsage(final long upgradeEnergyUsage) { } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - filter.getFilterContainer().writeToUpdatePacket(buf); + public ResourceContainerData getMenuData() { + return ResourceContainerData.of(filter.getFilterContainer()); + } + + @Override + public StreamEncoder getMenuCodec() { + return ResourceContainerData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/importer/ImporterContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/importer/ImporterContainerMenu.java index fefe5d2fc..dee71270f 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/importer/ImporterContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/importer/ImporterContainerMenu.java @@ -8,10 +8,10 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ClientProperty; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.PropertyTypes; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeContainer; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -21,12 +21,14 @@ public class ImporterContainerMenu extends AbstractSimpleFilterContainerMenu { private static final MutableComponent FILTER_HELP = createTranslation("gui", "importer.filter_help"); - public ImporterContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { + public ImporterContainerMenu(final int syncId, + final Inventory playerInventory, + final ResourceContainerData resourceContainerData) { super( Menus.INSTANCE.getImporter(), syncId, playerInventory.player, - buf, + resourceContainerData, UpgradeDestinations.IMPORTER, FILTER_HELP ); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/CableBlock.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/CableBlock.java index 7cad3973c..38a566421 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/CableBlock.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/CableBlock.java @@ -20,6 +20,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.context.BlockPlaceContext; @@ -41,10 +42,13 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; + public class CableBlock extends AbstractColoredBlock implements ColorableBlock, SimpleWaterloggedBlock, EntityBlock { private static final AbstractBlockEntityTicker> TICKER = new NetworkNodeBlockEntityTicker<>(BlockEntities.INSTANCE::getCable); + private static final Component HELP = createTranslation("item", "cable.help"); public CableBlock(final DyeColor color, final MutableComponent name) { super(BlockConstants.CABLE_PROPERTIES, color, name); @@ -80,11 +84,7 @@ public BlockState updateShape(final BlockState state, } @Override - @SuppressWarnings("deprecation") - public boolean isPathfindable(final BlockState state, - final BlockGetter world, - final BlockPos pos, - final PathComputationType type) { + protected boolean isPathfindable(final BlockState state, final PathComputationType type) { return false; } @@ -134,6 +134,6 @@ public BlockEntityTicker getTicker(final Level level, @Override public BaseBlockItem createBlockItem() { - return new NetworkNodeBlockItem(this); + return new NetworkNodeBlockItem(this, HELP); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkCardItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkCardItem.java index 880c9702f..4adc7cd2d 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkCardItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkCardItem.java @@ -1,20 +1,17 @@ package com.refinedmods.refinedstorage2.platform.common.networking; import com.refinedmods.refinedstorage2.platform.api.support.HelpTooltipComponent; +import com.refinedmods.refinedstorage2.platform.common.content.DataComponents; import java.util.List; import java.util.Optional; -import javax.annotation.Nullable; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.GlobalPos; -import net.minecraft.core.registries.Registries; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.InteractionResultHolder; @@ -33,13 +30,9 @@ public class NetworkCardItem extends Item { private static final MutableComponent UNBOUND_HELP = createTranslation("item", "network_card.unbound_help"); private static final MutableComponent BOUND_HELP = createTranslation("item", "network_card.bound_help"); - private static final MutableComponent UNBOUND = createTranslation("item", "network_card.unbound") .withStyle(ChatFormatting.RED); - private static final String TAG_POS = "pos"; - private static final String TAG_DIMENSION = "dim"; - public NetworkCardItem() { super(new Item.Properties().stacksTo(1)); } @@ -54,11 +47,9 @@ public InteractionResult useOn(final UseOnContext ctx) { if (!(blockState.getBlock() instanceof NetworkReceiverBlock)) { return InteractionResult.CONSUME; } - final CompoundTag tag = new CompoundTag(); - tag.putLong(TAG_POS, pos.asLong()); final ResourceKey dimension = ctx.getLevel().dimension(); - tag.putString(TAG_DIMENSION, dimension.location().toString()); - ctx.getItemInHand().setTag(tag); + final GlobalPos location = GlobalPos.of(dimension, pos); + ctx.getItemInHand().set(DataComponents.INSTANCE.getNetworkLocation(), location); ctx.getPlayer().sendSystemMessage(createTranslation( "item", "network_card.bound", @@ -83,10 +74,10 @@ public InteractionResultHolder use(final Level level, final Player pl @Override public void appendHoverText(final ItemStack stack, - @Nullable final Level level, + final TooltipContext context, final List lines, final TooltipFlag flag) { - super.appendHoverText(stack, level, lines, flag); + super.appendHoverText(stack, context, lines, flag); getLocation(stack).ifPresentOrElse(location -> lines.add(createTranslation( "item", "network_card.bound", @@ -97,26 +88,8 @@ public void appendHoverText(final ItemStack stack, ).withStyle(ChatFormatting.GRAY)), () -> lines.add(UNBOUND)); } - @Nullable - private ResourceKey getDimension(final String dimensionKey) { - final ResourceLocation name = ResourceLocation.tryParse(dimensionKey); - if (name == null) { - return null; - } - return ResourceKey.create(Registries.DIMENSION, name); - } - Optional getLocation(final ItemStack stack) { - final CompoundTag tag = stack.getTag(); - if (tag == null) { - return Optional.empty(); - } - final ResourceKey dimension = getDimension(tag.getString(TAG_DIMENSION)); - if (dimension == null) { - return Optional.empty(); - } - final BlockPos pos = BlockPos.of(tag.getLong(TAG_POS)); - return Optional.of(GlobalPos.of(dimension, pos)); + return Optional.ofNullable(stack.get(DataComponents.INSTANCE.getNetworkLocation())); } @Override @@ -125,6 +98,6 @@ public Optional getTooltipImage(final ItemStack stack) { } boolean isActive(final ItemStack stack) { - return stack.getTag() != null && stack.getTag().contains(TAG_POS) && stack.getTag().contains(TAG_DIMENSION); + return stack.has(DataComponents.INSTANCE.getNetworkLocation()); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkCardItemPropertyFunction.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkCardItemPropertyFunction.java index f807af445..54b3f4338 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkCardItemPropertyFunction.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkCardItemPropertyFunction.java @@ -8,8 +8,10 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + public class NetworkCardItemPropertyFunction implements ClampedItemPropertyFunction { - public static final ResourceLocation NAME = new ResourceLocation("active"); + public static final ResourceLocation NAME = createIdentifier("network_card_active"); @Override public float unclampedCall(final ItemStack itemStack, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkReceiverBlock.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkReceiverBlock.java index 3629e9cd1..9268ab892 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkReceiverBlock.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkReceiverBlock.java @@ -13,6 +13,7 @@ import javax.annotation.Nullable; import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.item.DyeColor; import net.minecraft.world.level.Level; @@ -25,11 +26,14 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; + public class NetworkReceiverBlock extends AbstractColoredBlock implements EntityBlock { public static final BooleanProperty ACTIVE = BooleanProperty.create("active"); private static final AbstractBlockEntityTicker TICKER = new NetworkNodeBlockEntityTicker<>(BlockEntities.INSTANCE::getNetworkReceiver, ACTIVE); + private static final Component HELP = createTranslation("item", "network_receiver.help"); public NetworkReceiverBlock(final DyeColor color, final MutableComponent name) { super(BlockConstants.PROPERTIES, color, name); @@ -67,7 +71,7 @@ public BlockEntityTicker getTicker(final Level level, @Override public BaseBlockItem createBlockItem() { - return new NetworkNodeBlockItem(this); + return new NetworkNodeBlockItem(this, HELP); } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterBlock.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterBlock.java index 7c43ccb02..98f8471b3 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterBlock.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterBlock.java @@ -11,6 +11,7 @@ import javax.annotation.Nullable; import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.item.DyeColor; import net.minecraft.world.level.Level; @@ -23,12 +24,16 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.EnumProperty; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; + public class NetworkTransmitterBlock extends AbstractColoredBlock implements EntityBlock { public static final EnumProperty STATE = EnumProperty.create( "state", NetworkTransmitterState.class ); + private static final Component HELP = createTranslation("item", "network_transmitter.help"); + private static final AbstractBlockEntityTicker TICKER = new NetworkTransmitterBlockEntityTicker(); @@ -68,7 +73,7 @@ public BlockEntityTicker getTicker(final Level level, @Override public BaseBlockItem createBlockItem() { - return new NetworkNodeBlockItem(this); + return new NetworkNodeBlockItem(this, HELP); } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterBlockEntity.java index 004f4c99d..83c66c6ea 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterBlockEntity.java @@ -8,7 +8,7 @@ import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; import com.refinedmods.refinedstorage2.platform.common.support.BlockEntityWithDrops; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractRedstoneModeNetworkNodeContainerBlockEntity; import javax.annotation.Nullable; @@ -16,13 +16,14 @@ import com.google.common.util.concurrent.RateLimiter; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -36,16 +37,16 @@ public class NetworkTransmitterBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity - implements NetworkNodeMenuProvider, BlockEntityWithDrops { + implements NetworkNodeExtendedMenuProvider, BlockEntityWithDrops { private static final Logger LOGGER = LoggerFactory.getLogger(NetworkTransmitterBlockEntity.class); - private static final NetworkTransmitterStatus INACTIVE = NetworkTransmitterStatus.message( + private static final NetworkTransmitterData INACTIVE = NetworkTransmitterData.message( createTranslation("gui", "network_transmitter.status.inactive") ); - private static final NetworkTransmitterStatus MISSING_NETWORK_CARD = NetworkTransmitterStatus.error( + private static final NetworkTransmitterData MISSING_NETWORK_CARD = NetworkTransmitterData.error( createTranslation("gui", "network_transmitter.status.missing_network_card").withStyle(ChatFormatting.DARK_RED) ); - private static final NetworkTransmitterStatus RECEIVER_UNREACHABLE = NetworkTransmitterStatus.error( + private static final NetworkTransmitterData RECEIVER_UNREACHABLE = NetworkTransmitterData.error( createTranslation("gui", "network_transmitter.status.receiver_unreachable").withStyle(ChatFormatting.DARK_RED) ); @@ -102,7 +103,7 @@ private NetworkTransmitterState calculateState() { return receiverFound ? NetworkTransmitterState.ACTIVE : NetworkTransmitterState.ERROR; } - NetworkTransmitterStatus getStatus() { + NetworkTransmitterData getStatus() { final Network network = mainNode.getNetwork(); if (!mainNode.isActive() || network == null || level == null) { return INACTIVE; @@ -119,7 +120,7 @@ NetworkTransmitterStatus getStatus() { "gui", "network_transmitter.status.transmitting", receiverKey.getDistance(worldPosition)) : receiverKey.getDimensionName(); - return NetworkTransmitterStatus.message(message); + return NetworkTransmitterData.message(message); } @Override @@ -152,16 +153,19 @@ Container getNetworkCardInventory() { } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - tag.put(TAG_NETWORK_CARD_INVENTORY, networkCardInventory.createTag()); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + tag.put(TAG_NETWORK_CARD_INVENTORY, networkCardInventory.createTag(provider)); } @Override - public void load(final CompoundTag tag) { - super.load(tag); + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.loadAdditional(tag, provider); if (tag.contains(TAG_NETWORK_CARD_INVENTORY)) { - networkCardInventory.fromTag(tag.getList(TAG_NETWORK_CARD_INVENTORY, Tag.TAG_COMPOUND)); + networkCardInventory.fromTag( + tag.getList(TAG_NETWORK_CARD_INVENTORY, Tag.TAG_COMPOUND), + provider + ); } updateReceiverLocation(); } @@ -177,10 +181,13 @@ public AbstractContainerMenu createMenu(final int syncId, final Inventory invent } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - final NetworkTransmitterStatus status = getStatus(); - buf.writeBoolean(status.error()); - buf.writeComponent(status.message()); + public NetworkTransmitterData getMenuData() { + return getStatus(); + } + + @Override + public StreamEncoder getMenuCodec() { + return NetworkTransmitterData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterContainerMenu.java index 83acf1856..b5c8d47d2 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterContainerMenu.java @@ -1,6 +1,5 @@ package com.refinedmods.refinedstorage2.platform.common.networking; -import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.content.Menus; import com.refinedmods.refinedstorage2.platform.common.support.AbstractBaseContainerMenu; import com.refinedmods.refinedstorage2.platform.common.support.RedstoneMode; @@ -8,11 +7,11 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.PropertyTypes; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ValidatedSlot; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.S2CPackets; import javax.annotation.Nullable; import com.google.common.util.concurrent.RateLimiter; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; @@ -23,7 +22,7 @@ public class NetworkTransmitterContainerMenu extends AbstractBaseContainerMenu { private final NetworkTransmitterBlockEntity blockEntity; private final Player player; private final RateLimiter statusUpdateRateLimiter = RateLimiter.create(2); - private NetworkTransmitterStatus status; + private NetworkTransmitterData status; NetworkTransmitterContainerMenu(final int syncId, final Inventory playerInventory, @@ -42,12 +41,12 @@ public class NetworkTransmitterContainerMenu extends AbstractBaseContainerMenu { public NetworkTransmitterContainerMenu(final int syncId, final Inventory playerInventory, - final FriendlyByteBuf buf) { + final NetworkTransmitterData status) { super(Menus.INSTANCE.getNetworkTransmitter(), syncId); registerProperty(new ClientProperty<>(PropertyTypes.REDSTONE_MODE, RedstoneMode.IGNORE)); this.blockEntity = null; this.player = playerInventory.player; - this.status = new NetworkTransmitterStatus(buf.readBoolean(), buf.readComponent()); + this.status = status; addSlots(playerInventory, new NetworkCardInventory()); } @@ -60,19 +59,16 @@ public void broadcastChanges() { if (!statusUpdateRateLimiter.tryAcquire()) { return; } - final NetworkTransmitterStatus newStatus = blockEntity.getStatus(); + final NetworkTransmitterData newStatus = blockEntity.getStatus(); if (newStatus.message().equals(status.message())) { return; } updateStatus(serverPlayer, newStatus); } - private void updateStatus(final ServerPlayer serverPlayer, final NetworkTransmitterStatus newStatus) { + private void updateStatus(final ServerPlayer serverPlayer, final NetworkTransmitterData newStatus) { this.status = newStatus; - Platform.INSTANCE.getServerToClientCommunications().sendNetworkTransmitterStatus( - serverPlayer, - newStatus - ); + S2CPackets.sendNetworkTransmitterStatus(serverPlayer, newStatus); } private void addSlots(final Inventory playerInventory, final Container networkCardInventory) { @@ -87,11 +83,11 @@ private void addSlots(final Inventory playerInventory, final Container networkCa transferManager.addBiTransfer(playerInventory, networkCardInventory); } - NetworkTransmitterStatus getStatus() { + NetworkTransmitterData getStatus() { return status; } - public void setStatus(final NetworkTransmitterStatus status) { + public void setStatus(final NetworkTransmitterData status) { this.status = status; } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterData.java new file mode 100644 index 000000000..a5bd82539 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterData.java @@ -0,0 +1,24 @@ +package com.refinedmods.refinedstorage2.platform.common.networking; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.ComponentSerialization; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record NetworkTransmitterData(boolean error, Component message) { + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.BOOL, NetworkTransmitterData::error, + ComponentSerialization.STREAM_CODEC, NetworkTransmitterData::message, + NetworkTransmitterData::new + ); + + static NetworkTransmitterData error(final Component message) { + return new NetworkTransmitterData(true, message); + } + + static NetworkTransmitterData message(final Component message) { + return new NetworkTransmitterData(false, message); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterScreen.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterScreen.java index 56b42cc98..b9033acce 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterScreen.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterScreen.java @@ -33,7 +33,7 @@ protected void init() { @Override protected void renderLabels(final GuiGraphics graphics, final int mouseX, final int mouseY) { super.renderLabels(graphics, mouseX, mouseY); - final NetworkTransmitterStatus status = getMenu().getStatus(); + final NetworkTransmitterData status = getMenu().getStatus(); final int displayTextX = 51; if (status.error()) { graphics.blit(TextureIds.ICONS, displayTextX, 23, 246, 148, 10, 10); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterStatus.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterStatus.java deleted file mode 100644 index 4fc4aa4ed..000000000 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/NetworkTransmitterStatus.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.networking; - -import net.minecraft.network.chat.Component; - -public record NetworkTransmitterStatus(boolean error, Component message) { - static NetworkTransmitterStatus error(final Component message) { - return new NetworkTransmitterStatus(true, message); - } - - static NetworkTransmitterStatus message(final Component message) { - return new NetworkTransmitterStatus(false, message); - } -} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/RelayBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/RelayBlockEntity.java index b2b093bf6..41c0d4397 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/RelayBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/RelayBlockEntity.java @@ -14,8 +14,9 @@ import com.refinedmods.refinedstorage2.platform.common.support.FilterModeSettings; import com.refinedmods.refinedstorage2.platform.common.support.FilterWithFuzzyMode; import com.refinedmods.refinedstorage2.platform.common.support.RedstoneMode; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractRedstoneModeNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import java.util.HashSet; @@ -24,10 +25,11 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -36,7 +38,7 @@ import static java.util.Objects.requireNonNull; public class RelayBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity - implements NetworkNodeMenuProvider { + implements NetworkNodeExtendedMenuProvider { private static final String TAG_PASS_THROUGH = "passthrough"; private static final String TAG_PASS_ENERGY = "passenergy"; private static final String TAG_PASS_SECURITY = "passsecurity"; @@ -180,8 +182,13 @@ protected InWorldNetworkNodeContainer createMainContainer(final RelayInputNetwor } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - filter.getFilterContainer().writeToUpdatePacket(buf); + public ResourceContainerData getMenuData() { + return ResourceContainerData.of(filter.getFilterContainer()); + } + + @Override + public StreamEncoder getMenuCodec() { + return ResourceContainerData.STREAM_CODEC; } @Override @@ -196,9 +203,9 @@ public AbstractContainerMenu createMenu(final int syncId, final Inventory invent } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); - filter.save(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); + filter.save(tag, provider); tag.putInt(TAG_FILTER_MODE, FilterModeSettings.getFilterMode(filterMode)); tag.putBoolean(TAG_PASS_THROUGH, passThrough); tag.putBoolean(TAG_PASS_ENERGY, mainNode.hasComponentType(RelayComponentType.ENERGY)); @@ -209,9 +216,9 @@ public void writeConfiguration(final CompoundTag tag) { } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); - filter.load(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); + filter.load(tag, provider); if (tag.contains(TAG_FILTER_MODE)) { filterMode = FilterModeSettings.getFilterMode(tag.getInt(TAG_FILTER_MODE)); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/RelayContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/RelayContainerMenu.java index 86a6494e7..bfa0d1017 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/RelayContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/networking/RelayContainerMenu.java @@ -10,10 +10,10 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ClientProperty; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.PropertyTypes; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -26,12 +26,14 @@ public class RelayContainerMenu extends AbstractSimpleFilterContainerMenu permissions = new ArrayList<>(); + private final List permissions; protected AbstractSecurityCardContainerMenu(final MenuType menuType, final int syncId, final Inventory playerInventory, - final FriendlyByteBuf buf) { + final SecurityCardData securityCardData) { super(menuType, syncId); this.playerInventory = playerInventory; - this.disabledSlot = PlatformApi.INSTANCE.getSlotReference(buf).orElse(null); - final int amountOfPermissions = buf.readInt(); - for (int i = 0; i < amountOfPermissions; ++i) { - final ResourceLocation id = buf.readResourceLocation(); - final boolean allowed = buf.readBoolean(); - final boolean dirty = buf.readBoolean(); - PlatformApi.INSTANCE.getPermissionRegistry().get(id).ifPresent(permission -> permissions.add(new Permission( - permission, - allowed, - dirty - ))); - } + this.disabledSlot = securityCardData.slotReference(); + this.permissions = securityCardData.permissions(); } protected AbstractSecurityCardContainerMenu(final MenuType menuType, @@ -48,10 +35,11 @@ protected AbstractSecurityCardContainerMenu(final MenuType menuType, super(menuType, syncId); this.playerInventory = playerInventory; this.disabledSlot = disabledSlot; + this.permissions = new ArrayList<>(); onScreenReady(0); } - List getPermissions() { + List getPermissions() { return permissions; } @@ -61,59 +49,57 @@ public void onScreenReady(final int playerInventoryY) { addPlayerInventory(playerInventory, 8, playerInventoryY); } - public void setPermission(final ResourceLocation permissionId, final boolean allowed) { + public void setPermission(final PlatformPermission permission, final boolean allowed) { if (disabledSlot == null) { return; } - disabledSlot.resolve(playerInventory.player).ifPresent(stack -> setPermission(stack, permissionId, allowed)); + disabledSlot.resolve(playerInventory.player).ifPresent(stack -> setPermission(stack, permission, allowed)); } - private void setPermission(final ItemStack stack, final ResourceLocation permissionId, final boolean allowed) { - if (stack.getItem() instanceof AbstractSecurityCardItem securityCardItem) { - securityCardItem.setPermission(stack, permissionId, allowed); + private void setPermission(final ItemStack stack, final PlatformPermission permission, final boolean allowed) { + if (stack.getItem() instanceof AbstractSecurityCardItem securityCardItem) { + securityCardItem.setPermission(stack, permission, allowed); } } - public void resetPermission(final ResourceLocation permissionId) { + public void resetPermissionServer(final PlatformPermission permission) { if (disabledSlot == null) { return; } - disabledSlot.resolve(playerInventory.player).ifPresent(stack -> resetPermission(stack, permissionId)); + disabledSlot.resolve(playerInventory.player).ifPresent(stack -> resetPermissionServer(stack, permission)); } - private void resetPermission(final ItemStack stack, final ResourceLocation permissionId) { - if (stack.getItem() instanceof AbstractSecurityCardItem securityCardItem) { - securityCardItem.resetPermission(stack, permissionId); + private void resetPermissionServer(final ItemStack stack, final PlatformPermission permission) { + if (stack.getItem() instanceof AbstractSecurityCardItem securityCardItem) { + securityCardItem.resetPermission(stack, permission); } } - Permission resetPermission(final PlatformPermission permission) { + SecurityCardData.Permission resetPermission(final PlatformPermission permission) { final boolean allowed = permission.isAllowedByDefault(); - Platform.INSTANCE.getClientToServerCommunications().sendSecurityCardResetPermission(permission); + C2SPackets.sendSecurityCardResetPermission(permission); return updatePermissionLocally(permission, allowed, false); } - Permission changePermission(final PlatformPermission permission, final boolean selected) { - Platform.INSTANCE.getClientToServerCommunications().sendSecurityCardPermission(permission, selected); + SecurityCardData.Permission changePermission(final PlatformPermission permission, final boolean selected) { + C2SPackets.sendSecurityCardPermission(permission, selected); return updatePermissionLocally(permission, selected, true); } - private Permission updatePermissionLocally(final PlatformPermission permission, - final boolean allowed, - final boolean dirty) { - final Permission localPermission = permissions.stream().filter(p -> p.platformPermission == permission) + private SecurityCardData.Permission updatePermissionLocally(final PlatformPermission permission, + final boolean allowed, + final boolean dirty) { + final SecurityCardData.Permission + localPermission = permissions.stream().filter(p -> p.permission() == permission) .findFirst() .orElseThrow(); final int index = permissions.indexOf(localPermission); - final Permission updatedLocalPermission = new Permission( - localPermission.platformPermission, + final SecurityCardData.Permission updatedLocalPermission = new SecurityCardData.Permission( + localPermission.permission(), allowed, dirty ); permissions.set(index, updatedLocalPermission); return updatedLocalPermission; } - - record Permission(PlatformPermission platformPermission, boolean allowed, boolean dirty) { - } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardExtendedMenuProvider.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardExtendedMenuProvider.java index 92247cfc1..bafbdfe33 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardExtendedMenuProvider.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardExtendedMenuProvider.java @@ -3,40 +3,30 @@ import com.refinedmods.refinedstorage2.api.network.security.SecurityPolicy; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.security.PlatformPermission; -import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ExtendedMenuProvider; import java.util.List; import java.util.Set; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerPlayer; - -abstract class AbstractSecurityCardExtendedMenuProvider implements ExtendedMenuProvider { - private final SlotReference slotReference; +abstract class AbstractSecurityCardExtendedMenuProvider implements ExtendedMenuProvider { private final SecurityPolicy securityPolicy; private final Set dirtyPermissions; - AbstractSecurityCardExtendedMenuProvider(final SlotReference slotReference, - final SecurityPolicy securityPolicy, + AbstractSecurityCardExtendedMenuProvider(final SecurityPolicy securityPolicy, final Set dirtyPermissions) { - this.slotReference = slotReference; this.securityPolicy = securityPolicy; this.dirtyPermissions = dirtyPermissions; } - @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - PlatformApi.INSTANCE.writeSlotReference(slotReference, buf); - - final List permissions = PlatformApi.INSTANCE.getPermissionRegistry().getAll(); - buf.writeInt(permissions.size()); - for (final PlatformPermission permission : permissions) { - final ResourceLocation id = PlatformApi.INSTANCE.getPermissionRegistry().getId(permission).orElseThrow(); - buf.writeResourceLocation(id); - buf.writeBoolean(securityPolicy.isAllowed(permission)); - buf.writeBoolean(dirtyPermissions.contains(permission)); - } + protected final List getDataPermissions() { + return PlatformApi.INSTANCE.getPermissionRegistry().getAll().stream().map(this::toDataPermission).toList(); + } + + private SecurityCardData.Permission toDataPermission(final PlatformPermission permission) { + return new SecurityCardData.Permission( + permission, + securityPolicy.isAllowed(permission), + dirtyPermissions.contains(permission) + ); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardItem.java index beef7bf88..201734078 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardItem.java @@ -7,20 +7,17 @@ import com.refinedmods.refinedstorage2.platform.api.security.SecurityPolicyContainerItem; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.content.DataComponents; -import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Optional; import java.util.Set; -import java.util.stream.Collectors; -import javax.annotation.Nullable; import net.minecraft.ChatFormatting; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; @@ -32,19 +29,17 @@ import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; -abstract class AbstractSecurityCardItem extends Item implements SecurityPolicyContainerItem { - private static final String TAG_PERMISSIONS = "permissions"; - +abstract class AbstractSecurityCardItem extends Item implements SecurityPolicyContainerItem { protected AbstractSecurityCardItem(final Properties properties) { super(properties); } @Override public void appendHoverText(final ItemStack stack, - @Nullable final Level level, + final TooltipContext context, final List lines, final TooltipFlag flag) { - super.appendHoverText(stack, level, lines, flag); + super.appendHoverText(stack, context, lines, flag); getPolicy(stack).ifPresent(policy -> appendHoverText(lines, policy, getDirtyPermissions(stack))); } @@ -83,6 +78,7 @@ private void doUse(final InteractionHand hand, final ServerPlayer player, final getPolicy(stack).ifPresent(policy -> { final Set dirtyPermissions = getDirtyPermissions(stack); Platform.INSTANCE.getMenuOpener().openMenu(player, createMenuProvider( + player.server, PlatformApi.INSTANCE.createInventorySlotReference(player, hand), policy, dirtyPermissions, @@ -92,35 +88,35 @@ private void doUse(final InteractionHand hand, final ServerPlayer player, final } private void clearConfiguration(final ServerPlayer player, final ItemStack stack) { - stack.setTag(null); + stack.remove(DataComponents.INSTANCE.getSecurityCardPermissions()); player.sendSystemMessage(createTranslation("item", "security_card.cleared_configuration")); } - abstract AbstractSecurityCardExtendedMenuProvider createMenuProvider(SlotReference slotReference, - SecurityPolicy policy, - Set dirtyPermissions, - ItemStack stack); + abstract AbstractSecurityCardExtendedMenuProvider createMenuProvider( + MinecraftServer server, + SlotReference slotReference, + SecurityPolicy policy, + Set dirtyPermissions, + ItemStack stack + ); @Override public Optional getPolicy(final ItemStack stack) { if (!isValid(stack)) { return Optional.empty(); } - if (stack.getTag() == null || !stack.getTag().contains(TAG_PERMISSIONS)) { + final SecurityCardPermissions permissions = stack.get(DataComponents.INSTANCE.getSecurityCardPermissions()); + if (permissions == null) { return Optional.of(PlatformApi.INSTANCE.createDefaultSecurityPolicy()); } - final CompoundTag permissionsTag = stack.getTag().getCompound(TAG_PERMISSIONS); - return Optional.of(createPolicy(permissionsTag)); + return Optional.of(createPolicy(permissions)); } - private SecurityPolicy createPolicy(final CompoundTag permissionsTag) { + private SecurityPolicy createPolicy(final SecurityCardPermissions permissions) { final Set allowedPermissions = new HashSet<>(); for (final PlatformPermission permission : PlatformApi.INSTANCE.getPermissionRegistry().getAll()) { - final ResourceLocation permissionId = PlatformApi.INSTANCE.getPermissionRegistry() - .getId(permission) - .orElseThrow(); - final boolean dirty = permissionsTag.contains(permissionId.toString()); - final boolean didExplicitlyAllow = dirty && permissionsTag.getBoolean(permissionId.toString()); + final boolean dirty = permissions.isDirty(permission); + final boolean didExplicitlyAllow = dirty && permissions.isAllowed(permission); final boolean isAllowedByDefault = !dirty && permission.isAllowedByDefault(); if (didExplicitlyAllow || isAllowedByDefault) { allowedPermissions.add(permission); @@ -135,24 +131,27 @@ public boolean isValid(final ItemStack stack) { } Set getDirtyPermissions(final ItemStack stack) { - if (stack.getTag() == null || !stack.getTag().contains(TAG_PERMISSIONS)) { - return Collections.emptySet(); - } - final CompoundTag permissionsTag = stack.getTag().getCompound(TAG_PERMISSIONS); - return permissionsTag.getAllKeys() - .stream() - .map(ResourceLocation::new) - .flatMap(id -> PlatformApi.INSTANCE.getPermissionRegistry().get(id).stream()) - .collect(Collectors.toSet()); + return stack.getOrDefault(DataComponents.INSTANCE.getSecurityCardPermissions(), SecurityCardPermissions.EMPTY) + .permissions() + .keySet(); } - void setPermission(final ItemStack stack, final ResourceLocation permissionId, final boolean allowed) { - final CompoundTag permissionsTag = stack.getOrCreateTagElement(TAG_PERMISSIONS); - permissionsTag.putBoolean(permissionId.toString(), allowed); + void setPermission(final ItemStack stack, final PlatformPermission permission, final boolean allowed) { + final SecurityCardPermissions permissions = stack.getOrDefault( + DataComponents.INSTANCE.getSecurityCardPermissions(), + SecurityCardPermissions.EMPTY + ); + stack.set( + DataComponents.INSTANCE.getSecurityCardPermissions(), + permissions.withPermission(permission, allowed) + ); } - void resetPermission(final ItemStack stack, final ResourceLocation permissionId) { - final CompoundTag permissionsTag = stack.getOrCreateTagElement(TAG_PERMISSIONS); - permissionsTag.remove(permissionId.toString()); + void resetPermission(final ItemStack stack, final PlatformPermission permission) { + final SecurityCardPermissions permissions = stack.getOrDefault( + DataComponents.INSTANCE.getSecurityCardPermissions(), + SecurityCardPermissions.EMPTY + ); + stack.set(DataComponents.INSTANCE.getSecurityCardPermissions(), permissions.forgetPermission(permission)); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardScreen.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardScreen.java index 84d8e2b78..308bb2118 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardScreen.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/AbstractSecurityCardScreen.java @@ -42,7 +42,7 @@ protected AbstractSecurityCardScreen(final T menu, final Inventory playerInvento @Override protected void init(final int rows) { permissions.clear(); - final List menuPermissions = getMenu().getPermissions(); + final List menuPermissions = getMenu().getPermissions(); for (int i = 0; i < menuPermissions.size(); ++i) { final Permission permission = createPermission(menuPermissions.get(i), i, rows); addWidget(permission.checkbox); @@ -53,7 +53,7 @@ protected void init(final int rows) { } private Permission createPermission( - final AbstractSecurityCardContainerMenu.Permission menuPermission, + final SecurityCardData.Permission menuPermission, final int index, final int rows ) { @@ -66,7 +66,7 @@ private Permission createPermission( } private CustomCheckboxWidget createPermissionCheckbox( - final AbstractSecurityCardContainerMenu.Permission menuPermission, + final SecurityCardData.Permission menuPermission, final int y, final boolean visible ) { @@ -82,18 +82,18 @@ private CustomCheckboxWidget createPermissionCheckbox( return checkbox; } - private void updatePermission(final AbstractSecurityCardContainerMenu.Permission menuPermission, + private void updatePermission(final SecurityCardData.Permission menuPermission, final Button resetButton, final CustomCheckboxWidget checkbox, final boolean allowed) { updateCheckboxAndResetButton(checkbox, resetButton, menu.changePermission( - menuPermission.platformPermission(), + menuPermission.permission(), allowed )); } - private Tooltip getPermissionTooltip(final AbstractSecurityCardContainerMenu.Permission menuPermission) { - final PlatformPermission permission = menuPermission.platformPermission(); + private Tooltip getPermissionTooltip(final SecurityCardData.Permission menuPermission) { + final PlatformPermission permission = menuPermission.permission(); final MutableComponent ownerName = permission.getOwnerName().copy().withStyle( Style.EMPTY.withItalic(true).withColor(ChatFormatting.GRAY) ); @@ -101,7 +101,7 @@ private Tooltip getPermissionTooltip(final AbstractSecurityCardContainerMenu.Per return Tooltip.create(menuPermission.dirty() ? tooltip.append("\n").append(MODIFIED_TITLE) : tooltip); } - private Button createPermissionResetButton(final AbstractSecurityCardContainerMenu.Permission menuPermission, + private Button createPermissionResetButton(final SecurityCardData.Permission menuPermission, final CustomCheckboxWidget checkbox, final int y, final boolean visible) { @@ -114,23 +114,23 @@ private Button createPermissionResetButton(final AbstractSecurityCardContainerMe return resetButton; } - private void resetPermission(final AbstractSecurityCardContainerMenu.Permission menuPermission, + private void resetPermission(final SecurityCardData.Permission menuPermission, final CustomCheckboxWidget checkbox, final Button resetButton) { - updateCheckboxAndResetButton(checkbox, resetButton, menu.resetPermission(menuPermission.platformPermission())); + updateCheckboxAndResetButton(checkbox, resetButton, menu.resetPermission(menuPermission.permission())); } private void updateCheckboxAndResetButton(final CustomCheckboxWidget checkbox, final Button resetButton, - final AbstractSecurityCardContainerMenu.Permission menuPermission) { + final SecurityCardData.Permission menuPermission) { checkbox.setMessage(getPermissionName(menuPermission)); checkbox.setTooltip(getPermissionTooltip(menuPermission)); checkbox.setSelected(menuPermission.allowed()); resetButton.active = menuPermission.dirty(); } - private Component getPermissionName(final AbstractSecurityCardContainerMenu.Permission menuPermission) { - final Component name = menuPermission.platformPermission().getName(); + private Component getPermissionName(final SecurityCardData.Permission menuPermission) { + final Component name = menuPermission.permission().getName(); if (!menuPermission.dirty()) { return name; } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardContainerMenu.java index 67eb37da1..0db10591a 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardContainerMenu.java @@ -3,14 +3,13 @@ import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.common.content.Menus; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; public class FallbackSecurityCardContainerMenu extends AbstractSecurityCardContainerMenu { public FallbackSecurityCardContainerMenu(final int syncId, final Inventory playerInventory, - final FriendlyByteBuf buf) { - super(Menus.INSTANCE.getFallbackSecurityCard(), syncId, playerInventory, buf); + final SecurityCardData securityCardData) { + super(Menus.INSTANCE.getFallbackSecurityCard(), syncId, playerInventory, securityCardData); } FallbackSecurityCardContainerMenu(final int syncId, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardExtendedMenuProvider.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardExtendedMenuProvider.java index 4d7914689..0947fc515 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardExtendedMenuProvider.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardExtendedMenuProvider.java @@ -8,20 +8,31 @@ import java.util.Set; import javax.annotation.Nullable; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; -class FallbackSecurityCardExtendedMenuProvider extends AbstractSecurityCardExtendedMenuProvider { +class FallbackSecurityCardExtendedMenuProvider extends AbstractSecurityCardExtendedMenuProvider { private final SlotReference slotReference; FallbackSecurityCardExtendedMenuProvider(final SlotReference slotReference, final SecurityPolicy securityPolicy, - final Set dirtyPermissions, - final SlotReference slotReference1) { - super(slotReference, securityPolicy, dirtyPermissions); - this.slotReference = slotReference1; + final Set dirtyPermissions) { + super(securityPolicy, dirtyPermissions); + this.slotReference = slotReference; + } + + @Override + public SecurityCardData getMenuData() { + return new SecurityCardData(slotReference, getDataPermissions()); + } + + @Override + public StreamEncoder getMenuCodec() { + return SecurityCardData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardItem.java index 85e94b6d0..2752565bf 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/FallbackSecurityCardItem.java @@ -11,13 +11,14 @@ import java.util.Set; import net.minecraft.network.chat.Component; +import net.minecraft.server.MinecraftServer; import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; -public class FallbackSecurityCardItem extends AbstractSecurityCardItem { +public class FallbackSecurityCardItem extends AbstractSecurityCardItem { private static final Component HELP = createTranslation("item", "fallback_security_card.help"); public FallbackSecurityCardItem() { @@ -25,11 +26,14 @@ public FallbackSecurityCardItem() { } @Override - AbstractSecurityCardExtendedMenuProvider createMenuProvider(final SlotReference slotReference, - final SecurityPolicy policy, - final Set dirtyPermissions, - final ItemStack stack) { - return new FallbackSecurityCardExtendedMenuProvider(slotReference, policy, dirtyPermissions, slotReference); + AbstractSecurityCardExtendedMenuProvider createMenuProvider( + final MinecraftServer server, + final SlotReference slotReference, + final SecurityPolicy policy, + final Set dirtyPermissions, + final ItemStack stack + ) { + return new FallbackSecurityCardExtendedMenuProvider(slotReference, policy, dirtyPermissions); } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/PlayerBoundSecurityCardData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/PlayerBoundSecurityCardData.java new file mode 100644 index 000000000..a18f25f47 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/PlayerBoundSecurityCardData.java @@ -0,0 +1,38 @@ +package com.refinedmods.refinedstorage2.platform.common.security; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import net.minecraft.core.UUIDUtil; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record PlayerBoundSecurityCardData(SecurityCardData securityCardData, + Player boundTo, + List players) { + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + SecurityCardData.STREAM_CODEC, PlayerBoundSecurityCardData::securityCardData, + Player.STREAM_CODEC, PlayerBoundSecurityCardData::boundTo, + ByteBufCodecs.collection(ArrayList::new, Player.STREAM_CODEC), PlayerBoundSecurityCardData::players, + PlayerBoundSecurityCardData::new + ); + + record Player(UUID id, String name) { + private static final StreamCodec STREAM_CODEC = StreamCodec.composite( + UUIDUtil.STREAM_CODEC, Player::id, + ByteBufCodecs.STRING_UTF8, Player::name, + Player::new + ); + + static Player of(final SecurityCardBoundPlayer securityCardBoundPlayer) { + return new Player(securityCardBoundPlayer.playerId(), securityCardBoundPlayer.playerName()); + } + + static Player of(final net.minecraft.world.entity.player.Player player) { + return new Player(player.getUUID(), player.getGameProfile().getName()); + } + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardBoundPlayer.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardBoundPlayer.java new file mode 100644 index 000000000..dce3c4918 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardBoundPlayer.java @@ -0,0 +1,35 @@ +package com.refinedmods.refinedstorage2.platform.common.security; + +import java.util.UUID; + +import com.mojang.authlib.GameProfile; +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.core.UUIDUtil; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.server.level.ServerPlayer; + +public record SecurityCardBoundPlayer(UUID playerId, String playerName) { + public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + UUIDUtil.CODEC.fieldOf("playerId").forGetter(SecurityCardBoundPlayer::playerId), + Codec.STRING.fieldOf("playerName").forGetter(SecurityCardBoundPlayer::playerName) + ).apply(instance, SecurityCardBoundPlayer::new)); + + public static final StreamCodec STREAM_CODEC = StreamCodec + .composite( + UUIDUtil.STREAM_CODEC, SecurityCardBoundPlayer::playerId, + ByteBufCodecs.STRING_UTF8, SecurityCardBoundPlayer::playerName, + SecurityCardBoundPlayer::new + ); + + static SecurityCardBoundPlayer of(final ServerPlayer player) { + final GameProfile profile = player.getGameProfile(); + return new SecurityCardBoundPlayer(profile.getId(), profile.getName()); + } + + PlayerSecurityActor toSecurityActor() { + return new PlayerSecurityActor(playerId); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardContainerMenu.java index 6118bc260..32d6ada0e 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardContainerMenu.java @@ -1,47 +1,47 @@ package com.refinedmods.refinedstorage2.platform.common.security; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; -import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.content.Menus; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.C2SPackets; import com.refinedmods.refinedstorage2.platform.common.support.stretching.ScreenSizeListener; import java.util.ArrayList; import java.util.List; import java.util.UUID; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.item.ItemStack; public class SecurityCardContainerMenu extends AbstractSecurityCardContainerMenu implements ScreenSizeListener { - private final List players = new ArrayList<>(); - private Player boundTo; + private final List players; + private PlayerBoundSecurityCardData.Player boundTo; public SecurityCardContainerMenu(final int syncId, final Inventory playerInventory, - final FriendlyByteBuf buf) { - super(Menus.INSTANCE.getSecurityCard(), syncId, playerInventory, buf); - this.boundTo = new Player(buf.readUUID(), buf.readUtf()); - final int amountOfPlayers = buf.readInt(); - for (int i = 0; i < amountOfPlayers; ++i) { - final UUID id = buf.readUUID(); - final String name = buf.readUtf(); - players.add(new Player(id, name)); - } + final PlayerBoundSecurityCardData playerBoundSecurityCardData) { + super( + Menus.INSTANCE.getSecurityCard(), + syncId, + playerInventory, + playerBoundSecurityCardData.securityCardData() + ); + this.boundTo = playerBoundSecurityCardData.boundTo(); + this.players = playerBoundSecurityCardData.players(); } SecurityCardContainerMenu(final int syncId, final Inventory playerInventory, final SlotReference disabledSlot) { super(Menus.INSTANCE.getSecurityCard(), syncId, playerInventory, disabledSlot); - this.boundTo = new Player(UUID.randomUUID(), ""); + this.boundTo = new PlayerBoundSecurityCardData.Player(UUID.randomUUID(), ""); + this.players = new ArrayList<>(); } - List getPlayers() { + List getPlayers() { return players; } - Player getBoundTo() { + PlayerBoundSecurityCardData.Player getBoundTo() { return boundTo; } @@ -62,11 +62,8 @@ private void setBoundPlayer(final MinecraftServer server, final UUID playerId, f } } - void changeBoundPlayer(final Player player) { - Platform.INSTANCE.getClientToServerCommunications().sendSecurityCardBoundPlayer(player.id()); + void changeBoundPlayer(final PlayerBoundSecurityCardData.Player player) { + C2SPackets.sendSecurityCardBoundPlayer(player.id()); this.boundTo = player; } - - record Player(UUID id, String name) { - } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardData.java new file mode 100644 index 000000000..bddbc98f7 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardData.java @@ -0,0 +1,32 @@ +package com.refinedmods.refinedstorage2.platform.common.security; + +import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.security.PlatformPermission; +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReferenceFactory; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record SecurityCardData(SlotReference slotReference, List permissions) { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + SlotReferenceFactory.STREAM_CODEC, SecurityCardData::slotReference, + ByteBufCodecs.collection( + ArrayList::new, + StreamCodec.composite( + PlatformApi.INSTANCE.getPermissionRegistry().streamCodec(), Permission::permission, + ByteBufCodecs.BOOL, Permission::allowed, + ByteBufCodecs.BOOL, Permission::dirty, + Permission::new + ) + ), SecurityCardData::permissions, + SecurityCardData::new + ); + + record Permission(PlatformPermission permission, boolean allowed, boolean dirty) { + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardExtendedMenuProvider.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardExtendedMenuProvider.java index 4f5cbc6c2..e0ca32bc0 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardExtendedMenuProvider.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardExtendedMenuProvider.java @@ -5,50 +5,45 @@ import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; -import java.util.Collections; -import java.util.List; import java.util.Set; -import java.util.UUID; import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.codec.StreamEncoder; +import net.minecraft.server.MinecraftServer; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; -class SecurityCardExtendedMenuProvider extends AbstractSecurityCardExtendedMenuProvider { +class SecurityCardExtendedMenuProvider extends AbstractSecurityCardExtendedMenuProvider { + private final MinecraftServer server; private final SlotReference slotReference; - private final UUID boundPlayerId; - private final String boundPlayerName; + private final SecurityCardBoundPlayer boundPlayer; - SecurityCardExtendedMenuProvider(final SlotReference slotReference, + SecurityCardExtendedMenuProvider(final MinecraftServer server, + final SlotReference slotReference, final SecurityPolicy securityPolicy, final Set dirtyPermissions, - final UUID boundPlayerId, - final String boundPlayerName) { - super(slotReference, securityPolicy, dirtyPermissions); + final SecurityCardBoundPlayer boundPlayer) { + super(securityPolicy, dirtyPermissions); + this.server = server; this.slotReference = slotReference; - this.boundPlayerId = boundPlayerId; - this.boundPlayerName = boundPlayerName; + this.boundPlayer = boundPlayer; } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - super.writeScreenOpeningData(player, buf); - - buf.writeUUID(boundPlayerId); - buf.writeUtf(boundPlayerName); + public PlayerBoundSecurityCardData getMenuData() { + return new PlayerBoundSecurityCardData( + new SecurityCardData(slotReference, getDataPermissions()), + PlayerBoundSecurityCardData.Player.of(boundPlayer), + server.getPlayerList().getPlayers().stream().map(PlayerBoundSecurityCardData.Player::of).toList() + ); + } - final List players = player.getServer() == null - ? Collections.emptyList() - : player.getServer().getPlayerList().getPlayers(); - buf.writeInt(players.size()); - for (final ServerPlayer otherPlayer : players) { - buf.writeUUID(otherPlayer.getUUID()); - buf.writeUtf(otherPlayer.getGameProfile().getName()); - } + @Override + public StreamEncoder getMenuCodec() { + return PlayerBoundSecurityCardData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardItem.java index b3040bb60..d0daa0d97 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardItem.java @@ -6,16 +6,15 @@ import com.refinedmods.refinedstorage2.platform.api.support.HelpTooltipComponent; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.content.DataComponents; import java.util.List; import java.util.Optional; import java.util.Set; -import java.util.UUID; -import javax.annotation.Nullable; import net.minecraft.ChatFormatting; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; +import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; @@ -29,10 +28,7 @@ import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; import static java.util.Objects.requireNonNull; -public class SecurityCardItem extends AbstractSecurityCardItem { - private static final String TAG_BOUND_PLAYER_ID = "bid"; - private static final String TAG_BOUND_PLAYER_NAME = "bname"; - +public class SecurityCardItem extends AbstractSecurityCardItem { private static final Component UNBOUND_HELP = createTranslation("item", "security_card.unbound.help"); private static final Component BOUND_HELP = createTranslation("item", "security_card.bound.help"); @@ -42,26 +38,27 @@ public SecurityCardItem() { @Override public void appendHoverText(final ItemStack stack, - @Nullable final Level level, + final TooltipContext context, final List lines, final TooltipFlag flag) { - final String boundPlayerName = getBoundPlayerName(stack); - if (boundPlayerName == null) { + final SecurityCardBoundPlayer boundPlayer = stack.get(DataComponents.INSTANCE.getSecurityCardBoundPlayer()); + if (boundPlayer == null) { lines.add(createTranslation("item", "security_card.unbound").withStyle(ChatFormatting.GRAY)); } else { lines.add(createTranslation( "item", "security_card.bound", - Component.literal(boundPlayerName).withStyle(ChatFormatting.YELLOW) + Component.literal(boundPlayer.playerName()).withStyle(ChatFormatting.YELLOW) ).withStyle(ChatFormatting.GRAY)); } - super.appendHoverText(stack, level, lines, flag); + super.appendHoverText(stack, context, lines, flag); } @Override public InteractionResultHolder use(final Level level, final Player player, final InteractionHand hand) { final ItemStack stack = player.getItemInHand(hand); - if (player instanceof ServerPlayer serverPlayer && !stack.hasTag()) { + if (player instanceof ServerPlayer serverPlayer + && !stack.has(DataComponents.INSTANCE.getSecurityCardBoundPlayer())) { setBoundPlayer(serverPlayer, stack); } return super.use(level, player, hand); @@ -73,33 +70,31 @@ public Optional getTooltipImage(final ItemStack stack) { } @Override - AbstractSecurityCardExtendedMenuProvider createMenuProvider(final SlotReference slotReference, - final SecurityPolicy policy, - final Set dirtyPermissions, - final ItemStack stack) { + AbstractSecurityCardExtendedMenuProvider createMenuProvider( + final MinecraftServer server, + final SlotReference slotReference, + final SecurityPolicy policy, + final Set dirtyPermissions, + final ItemStack stack + ) { return new SecurityCardExtendedMenuProvider( + server, slotReference, policy, dirtyPermissions, - requireNonNull(getBoundPlayerId(stack)), - requireNonNull(getBoundPlayerName(stack)) + requireNonNull(stack.get(DataComponents.INSTANCE.getSecurityCardBoundPlayer())) ); } @Override public boolean isValid(final ItemStack stack) { - return stack.getTag() != null - && stack.getTag().contains(TAG_BOUND_PLAYER_ID) - && stack.getTag().contains(TAG_BOUND_PLAYER_NAME); + return stack.has(DataComponents.INSTANCE.getSecurityCardBoundPlayer()); } @Override public Optional getActor(final ItemStack stack) { - final UUID playerId = getBoundPlayerId(stack); - if (playerId == null) { - return Optional.empty(); - } - return Optional.of(new PlayerSecurityActor(playerId)); + return Optional.ofNullable(stack.get(DataComponents.INSTANCE.getSecurityCardBoundPlayer())) + .map(SecurityCardBoundPlayer::toSecurityActor); } @Override @@ -107,23 +102,8 @@ public long getEnergyUsage() { return Platform.INSTANCE.getConfig().getSecurityCard().getEnergyUsage(); } - @Nullable - UUID getBoundPlayerId(final ItemStack stack) { - return (stack.getTag() == null || !stack.getTag().contains(TAG_BOUND_PLAYER_ID)) - ? null - : stack.getTag().getUUID(TAG_BOUND_PLAYER_ID); - } - - @Nullable - String getBoundPlayerName(final ItemStack stack) { - return (stack.getTag() == null || !stack.getTag().contains(TAG_BOUND_PLAYER_NAME)) - ? null - : stack.getTag().getString(TAG_BOUND_PLAYER_NAME); - } - void setBoundPlayer(final ServerPlayer player, final ItemStack stack) { - final CompoundTag tag = stack.getOrCreateTag(); - tag.putUUID(TAG_BOUND_PLAYER_ID, player.getGameProfile().getId()); - tag.putString(TAG_BOUND_PLAYER_NAME, player.getGameProfile().getName()); + final SecurityCardBoundPlayer boundPlayer = SecurityCardBoundPlayer.of(player); + stack.set(DataComponents.INSTANCE.getSecurityCardBoundPlayer(), boundPlayer); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardItemPropertyFunction.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardItemPropertyFunction.java index 1583c2f80..8b228cf6b 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardItemPropertyFunction.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardItemPropertyFunction.java @@ -8,8 +8,10 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + public class SecurityCardItemPropertyFunction implements ClampedItemPropertyFunction { - public static final ResourceLocation NAME = new ResourceLocation("active"); + public static final ResourceLocation NAME = createIdentifier("security_card_active"); @Override public float unclampedCall(final ItemStack itemStack, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardPermissions.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardPermissions.java new file mode 100644 index 000000000..5d214cc49 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardPermissions.java @@ -0,0 +1,52 @@ +package com.refinedmods.refinedstorage2.platform.common.security; + +import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.security.PlatformPermission; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import com.mojang.serialization.Codec; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record SecurityCardPermissions(Map permissions) { + public static final SecurityCardPermissions EMPTY = new SecurityCardPermissions(Collections.emptyMap()); + + public static final Codec CODEC = Codec.unboundedMap( + PlatformApi.INSTANCE.getPermissionRegistry().codec(), + Codec.BOOL + ).xmap(SecurityCardPermissions::new, SecurityCardPermissions::permissions); + + public static final StreamCodec STREAM_CODEC = StreamCodec + .composite( + ByteBufCodecs.map( + HashMap::new, + PlatformApi.INSTANCE.getPermissionRegistry().streamCodec(), + ByteBufCodecs.BOOL + ), SecurityCardPermissions::permissions, + SecurityCardPermissions::new + ); + + boolean isDirty(final PlatformPermission permission) { + return permissions.containsKey(permission); + } + + boolean isAllowed(final PlatformPermission permission) { + return permissions.getOrDefault(permission, false); + } + + SecurityCardPermissions withPermission(final PlatformPermission permission, final boolean allowed) { + final Map newPermissions = new HashMap<>(permissions); + newPermissions.put(permission, allowed); + return new SecurityCardPermissions(newPermissions); + } + + SecurityCardPermissions forgetPermission(final PlatformPermission permission) { + final Map newPermissions = new HashMap<>(permissions); + newPermissions.remove(permission); + return new SecurityCardPermissions(newPermissions); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardScreen.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardScreen.java index c44596498..42cb63e5c 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardScreen.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityCardScreen.java @@ -29,10 +29,10 @@ private void toggleBoundPlayer(final Button button) { if (menu.getPlayers().isEmpty()) { return; } - final SecurityCardContainerMenu.Player currentPlayer = menu.getBoundTo(); + final PlayerBoundSecurityCardData.Player currentPlayer = menu.getBoundTo(); final int index = menu.getPlayers().indexOf(currentPlayer); final int nextIndex = (index + 1) % menu.getPlayers().size(); - final SecurityCardContainerMenu.Player nextPlayer = menu.getPlayers().get(nextIndex); + final PlayerBoundSecurityCardData.Player nextPlayer = menu.getPlayers().get(nextIndex); menu.changeBoundPlayer(nextPlayer); button.setMessage(Component.literal(nextPlayer.name())); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityManagerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityManagerBlockEntity.java index a4c9b5a1e..f9ad7c507 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityManagerBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/security/SecurityManagerBlockEntity.java @@ -18,9 +18,9 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; @@ -96,21 +96,21 @@ private long updateDefaultPolicyAndGetEnergyUsage() { } @Override - public void load(final CompoundTag tag) { + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { if (tag.contains(TAG_SECURITY_CARDS)) { - ContainerUtil.read(tag.getCompound(TAG_SECURITY_CARDS), securityCards); + ContainerUtil.read(tag.getCompound(TAG_SECURITY_CARDS), securityCards, provider); } if (tag.contains(TAG_FALLBACK_SECURITY_CARD)) { - ContainerUtil.read(tag.getCompound(TAG_FALLBACK_SECURITY_CARD), fallbackSecurityCard); + ContainerUtil.read(tag.getCompound(TAG_FALLBACK_SECURITY_CARD), fallbackSecurityCard, provider); } - super.load(tag); + super.loadAdditional(tag, provider); } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - tag.put(TAG_SECURITY_CARDS, ContainerUtil.write(securityCards)); - tag.put(TAG_FALLBACK_SECURITY_CARD, ContainerUtil.write(fallbackSecurityCard)); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + tag.put(TAG_SECURITY_CARDS, ContainerUtil.write(securityCards, provider)); + tag.put(TAG_FALLBACK_SECURITY_CARD, ContainerUtil.write(fallbackSecurityCard, provider)); } @Override @@ -141,11 +141,6 @@ static boolean isValidFallbackSecurityCard(final ItemStack stack) { return stack.getItem() instanceof FallbackSecurityCardItem; } - @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - // no op - } - @Override public Component getDisplayName() { return ContentNames.SECURITY_MANAGER; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/AbstractDiskContainerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/AbstractDiskContainerBlockEntity.java index 5f39ab293..6aa783e6b 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/AbstractDiskContainerBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/AbstractDiskContainerBlockEntity.java @@ -7,8 +7,9 @@ import com.refinedmods.refinedstorage2.platform.common.support.BlockEntityWithDrops; import com.refinedmods.refinedstorage2.platform.common.support.FilterWithFuzzyMode; import com.refinedmods.refinedstorage2.platform.common.support.FilteredContainer; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractRedstoneModeNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import com.refinedmods.refinedstorage2.platform.common.util.ContainerUtil; @@ -17,14 +18,15 @@ import javax.annotation.Nullable; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -33,7 +35,7 @@ public abstract class AbstractDiskContainerBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity - implements BlockEntityWithDrops, NetworkNodeMenuProvider { + implements BlockEntityWithDrops, NetworkNodeExtendedMenuProvider { private static final String TAG_DISK_INVENTORY = "inv"; private static final String TAG_DISKS = "disks"; @@ -67,7 +69,7 @@ protected AbstractDiskContainerBlockEntity(final BlockEntityType type, protected abstract void setNormalizer(UnaryOperator normalizer); @Nullable - public static Item getDisk(final CompoundTag tag, final int slot) { + public static Item getDisk(final CompoundTag tag, final int slot, final HolderLookup.Provider provider) { if (!tag.contains(TAG_DISK_INVENTORY)) { return null; } @@ -75,7 +77,7 @@ public static Item getDisk(final CompoundTag tag, final int slot) { if (!ContainerUtil.hasItemInSlot(diskInventoryTag, slot)) { return null; } - final ItemStack diskStack = ContainerUtil.getItemInSlot(diskInventoryTag, slot); + final ItemStack diskStack = ContainerUtil.getItemInSlot(diskInventoryTag, slot, provider); return diskStack.isEmpty() ? null : diskStack.getItem(); } @@ -98,7 +100,7 @@ public void setLevel(final Level level) { * However, when we place a block entity with nbt, the flow is different: * #setLevel(Level) -> #load(CompoundTag) -> #setChanged(). * #setLevel(Level) is called first (before #load(CompoundTag)) and initialization will happen BEFORE - * we load the tag! + * we load the components! * That's why we need to override #setChanged() here, to ensure that the network and disks are still initialized * correctly in that case. */ @@ -122,30 +124,30 @@ public void activenessChanged(final boolean newActive) { } @Override - public void load(final CompoundTag tag) { + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { fromClientTag(tag); if (tag.contains(TAG_DISK_INVENTORY)) { - ContainerUtil.read(tag.getCompound(TAG_DISK_INVENTORY), diskInventory); + ContainerUtil.read(tag.getCompound(TAG_DISK_INVENTORY), diskInventory, provider); } - super.load(tag); + super.loadAdditional(tag, provider); } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); - filter.load(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); + filter.load(tag, provider); } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - tag.put(TAG_DISK_INVENTORY, ContainerUtil.write(diskInventory)); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + tag.put(TAG_DISK_INVENTORY, ContainerUtil.write(diskInventory, provider)); } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); - filter.save(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); + filter.save(tag, provider); } public FilteredContainer getDiskInventory() { @@ -183,7 +185,7 @@ public Packet getUpdatePacket() { } @Override - public CompoundTag getUpdateTag() { + public CompoundTag getUpdateTag(final HolderLookup.Provider provider) { final CompoundTag tag = new CompoundTag(); // This null check is important. #getUpdateTag() can be called before the node's network is initialized! if (mainNode.getNetwork() == null) { @@ -203,8 +205,13 @@ public NonNullList getDrops() { } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - filter.getFilterContainer().writeToUpdatePacket(buf); + public ResourceContainerData getMenuData() { + return ResourceContainerData.of(filter.getFilterContainer()); + } + + @Override + public StreamEncoder getMenuCodec() { + return ResourceContainerData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/ClientStorageRepository.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/ClientStorageRepository.java index 899217fcc..a59b104e4 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/ClientStorageRepository.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/ClientStorageRepository.java @@ -1,7 +1,7 @@ package com.refinedmods.refinedstorage2.platform.common.storage; import com.refinedmods.refinedstorage2.api.core.CoreValidations; -import com.refinedmods.refinedstorage2.api.storage.Storage; +import com.refinedmods.refinedstorage2.platform.api.storage.SerializableStorage; import com.refinedmods.refinedstorage2.platform.api.storage.StorageInfo; import com.refinedmods.refinedstorage2.platform.api.storage.StorageRepository; @@ -30,17 +30,17 @@ public ClientStorageRepository(final Consumer storageInfoRequestAcceptor) } @Override - public Optional get(final UUID id) { + public Optional get(final UUID id) { throw new UnsupportedOperationException(); } @Override - public void set(final UUID id, final Storage storage) { + public void set(final UUID id, final SerializableStorage storage) { throw new UnsupportedOperationException(); } @Override - public Optional removeIfEmpty(final UUID id) { + public Optional removeIfEmpty(final UUID id) { throw new UnsupportedOperationException(); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/FluidStorageType.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/FluidStorageType.java index ad384439b..d9aba1525 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/FluidStorageType.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/FluidStorageType.java @@ -1,115 +1,42 @@ package com.refinedmods.refinedstorage2.platform.common.storage; -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; import com.refinedmods.refinedstorage2.api.resource.ResourceKey; -import com.refinedmods.refinedstorage2.api.storage.InMemoryStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.Storage; -import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorage; -import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.tracked.InMemoryTrackedStorageRepository; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorage; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorageRepository; -import com.refinedmods.refinedstorage2.platform.api.storage.PlayerActor; +import com.refinedmods.refinedstorage2.platform.api.storage.SerializableStorage; import com.refinedmods.refinedstorage2.platform.api.storage.StorageType; import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.support.resource.FluidResource; -import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceTypes; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceCodecs; import javax.annotation.Nullable; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; -import net.minecraft.nbt.Tag; +import com.mojang.serialization.MapCodec; public class FluidStorageType implements StorageType { - private static final String TAG_CAPACITY = "cap"; - private static final String TAG_STACKS = "stacks"; - private static final String TAG_AMOUNT = "amount"; - private static final String TAG_CHANGED_BY = "cb"; - private static final String TAG_CHANGED_AT = "ca"; - FluidStorageType() { } @Override - public Storage create(@Nullable final Long capacity, final Runnable listener) { - return innerCreate(capacity, listener); - } - - @Override - public Storage fromTag(final CompoundTag tag, final Runnable listener) { - final PlatformStorage storage = innerCreate( - tag.contains(TAG_CAPACITY) ? tag.getLong(TAG_CAPACITY) : null, - listener - ); - final ListTag stacks = tag.getList(TAG_STACKS, Tag.TAG_COMPOUND); - for (final Tag stackTag : stacks) { - ResourceTypes.FLUID.fromTag((CompoundTag) stackTag).ifPresent(resource -> storage.load( - resource, - ((CompoundTag) stackTag).getLong(TAG_AMOUNT), - ((CompoundTag) stackTag).getString(TAG_CHANGED_BY), - ((CompoundTag) stackTag).getLong(TAG_CHANGED_AT) - )); - } - return storage; - } - - private PlatformStorage innerCreate(@Nullable final Long capacity, final Runnable listener) { - final TrackedStorageRepository trackingRepository = new InMemoryTrackedStorageRepository(); - if (capacity != null) { - final LimitedStorageImpl delegate = new LimitedStorageImpl( - new TrackedStorageImpl( - new InMemoryStorageImpl(), - trackingRepository, - System::currentTimeMillis - ), - capacity - ); - return new LimitedPlatformStorage( - delegate, - StorageTypes.FLUID, - trackingRepository, - listener - ); - } - return new PlatformStorage( - new TrackedStorageImpl(new InMemoryStorageImpl(), trackingRepository, System::currentTimeMillis), + public SerializableStorage create(@Nullable final Long capacity, final Runnable listener) { + return StorageTypes.createHomogeneousStorage( StorageTypes.FLUID, - trackingRepository, + StorageCodecs.StorageData.empty(capacity), listener ); } @Override - public CompoundTag toTag(final Storage storage) { - final CompoundTag tag = new CompoundTag(); - if (storage instanceof LimitedStorage limitedStorage) { - tag.putLong(TAG_CAPACITY, limitedStorage.getCapacity()); - } - final ListTag stacks = new ListTag(); - for (final ResourceAmount resourceAmount : storage.getAll()) { - stacks.add(toTag(storage, resourceAmount)); - } - tag.put(TAG_STACKS, stacks); - return tag; - } - - private CompoundTag toTag(final Storage storage, final ResourceAmount resourceAmount) { - if (!(resourceAmount.getResource() instanceof FluidResource fluidResource)) { - throw new UnsupportedOperationException(); - } - final CompoundTag tag = fluidResource.toTag(); - tag.putLong(TAG_AMOUNT, resourceAmount.getAmount()); - if (storage instanceof TrackedStorage trackedStorage) { - trackedStorage - .findTrackedResourceByActorType(resourceAmount.getResource(), PlayerActor.class) - .ifPresent(trackedResource -> { - tag.putString(TAG_CHANGED_BY, trackedResource.getSourceName()); - tag.putLong(TAG_CHANGED_AT, trackedResource.getTime()); - }); - } - return tag; + public MapCodec getMapCodec(final Runnable listener) { + return StorageCodecs.homogeneousStorageData( + ResourceCodecs.FLUID_CODEC + ).xmap(storageData -> StorageTypes.createHomogeneousStorage( + StorageTypes.FLUID, + storageData, + listener + ), storage -> StorageCodecs.StorageData.ofHomogeneousStorage( + storage, + FluidStorageType.this::isAllowed, + FluidResource.class::cast + )); } @Override @@ -142,6 +69,11 @@ public String getName() { return name; } + @Nullable + public Long getCapacityInBuckets() { + return capacityInBuckets; + } + @Nullable public Long getCapacity() { if (capacityInBuckets == null) { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/ItemStorageType.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/ItemStorageType.java index 7f8893887..9a5e8705c 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/ItemStorageType.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/ItemStorageType.java @@ -1,114 +1,41 @@ package com.refinedmods.refinedstorage2.platform.common.storage; -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; import com.refinedmods.refinedstorage2.api.resource.ResourceKey; -import com.refinedmods.refinedstorage2.api.storage.InMemoryStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.Storage; -import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorage; -import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.tracked.InMemoryTrackedStorageRepository; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorage; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorageRepository; -import com.refinedmods.refinedstorage2.platform.api.storage.PlayerActor; +import com.refinedmods.refinedstorage2.platform.api.storage.SerializableStorage; import com.refinedmods.refinedstorage2.platform.api.storage.StorageType; import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; -import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceTypes; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceCodecs; import javax.annotation.Nullable; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; -import net.minecraft.nbt.Tag; +import com.mojang.serialization.MapCodec; public class ItemStorageType implements StorageType { - private static final String TAG_CAPACITY = "cap"; - private static final String TAG_STACKS = "stacks"; - private static final String TAG_AMOUNT = "amount"; - private static final String TAG_CHANGED_BY = "cb"; - private static final String TAG_CHANGED_AT = "ca"; - ItemStorageType() { } @Override - public Storage create(@Nullable final Long capacity, final Runnable listener) { - return innerCreate(capacity, listener); - } - - @Override - public Storage fromTag(final CompoundTag tag, final Runnable listener) { - final PlatformStorage storage = innerCreate( - tag.contains(TAG_CAPACITY) ? tag.getLong(TAG_CAPACITY) : null, - listener - ); - final ListTag stacks = tag.getList(TAG_STACKS, Tag.TAG_COMPOUND); - for (final Tag stackTag : stacks) { - ResourceTypes.ITEM.fromTag((CompoundTag) stackTag).ifPresent(resource -> storage.load( - resource, - ((CompoundTag) stackTag).getLong(TAG_AMOUNT), - ((CompoundTag) stackTag).getString(TAG_CHANGED_BY), - ((CompoundTag) stackTag).getLong(TAG_CHANGED_AT) - )); - } - return storage; - } - - private PlatformStorage innerCreate(@Nullable final Long capacity, final Runnable listener) { - final TrackedStorageRepository trackingRepository = new InMemoryTrackedStorageRepository(); - if (capacity != null) { - final LimitedStorageImpl delegate = new LimitedStorageImpl( - new TrackedStorageImpl( - new InMemoryStorageImpl(), - trackingRepository, - System::currentTimeMillis - ), - capacity - ); - return new LimitedPlatformStorage( - delegate, - StorageTypes.ITEM, - trackingRepository, - listener - ); - } - return new PlatformStorage( - new TrackedStorageImpl(new InMemoryStorageImpl(), trackingRepository, System::currentTimeMillis), + public SerializableStorage create(@Nullable final Long capacity, final Runnable listener) { + return StorageTypes.createHomogeneousStorage( StorageTypes.ITEM, - trackingRepository, + StorageCodecs.StorageData.empty(capacity), listener ); } @Override - public CompoundTag toTag(final Storage storage) { - final CompoundTag tag = new CompoundTag(); - if (storage instanceof LimitedStorage limitedStorage) { - tag.putLong(TAG_CAPACITY, limitedStorage.getCapacity()); - } - final ListTag stacks = new ListTag(); - for (final ResourceAmount resourceAmount : storage.getAll()) { - stacks.add(toTag(storage, resourceAmount)); - } - tag.put(TAG_STACKS, stacks); - return tag; - } - - private CompoundTag toTag(final Storage storage, final ResourceAmount resourceAmount) { - if (!(resourceAmount.getResource() instanceof ItemResource itemResource)) { - throw new UnsupportedOperationException(); - } - final CompoundTag tag = itemResource.toTag(); - tag.putLong(TAG_AMOUNT, resourceAmount.getAmount()); - if (storage instanceof TrackedStorage trackedStorage) { - trackedStorage - .findTrackedResourceByActorType(resourceAmount.getResource(), PlayerActor.class) - .ifPresent(trackedResource -> { - tag.putString(TAG_CHANGED_BY, trackedResource.getSourceName()); - tag.putLong(TAG_CHANGED_AT, trackedResource.getTime()); - }); - } - return tag; + public MapCodec getMapCodec(final Runnable listener) { + return StorageCodecs.homogeneousStorageData( + ResourceCodecs.ITEM_CODEC + ).xmap(storageData -> StorageTypes.createHomogeneousStorage( + StorageTypes.ITEM, + storageData, + listener + ), storage -> StorageCodecs.StorageData.ofHomogeneousStorage( + storage, + ItemStorageType.this::isAllowed, + ItemResource.class::cast + )); } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/PlatformStorage.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/PlatformStorage.java index 1ac6a7184..e0496c73e 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/PlatformStorage.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/PlatformStorage.java @@ -14,7 +14,6 @@ import com.refinedmods.refinedstorage2.platform.api.storage.StorageType; import java.util.Optional; -import javax.annotation.Nullable; class PlatformStorage extends AbstractProxyStorage implements SerializableStorage, TrackedStorage { private final StorageType type; @@ -31,14 +30,15 @@ class PlatformStorage extends AbstractProxyStorage implements SerializableStorag this.listener = listener; } - void load(final ResourceKey resource, final long amount, @Nullable final String changedBy, final long changedAt) { + void load(final StorageCodecs.StorageResource storageResource) { + final ResourceKey resource = storageResource.resource(); if (!type.isAllowed(resource)) { return; } - super.insert(resource, amount, Action.EXECUTE, EmptyActor.INSTANCE); - if (changedBy != null && !changedBy.isBlank()) { - trackingRepository.update(resource, new PlayerActor(changedBy), changedAt); - } + super.insert(resource, storageResource.amount(), Action.EXECUTE, EmptyActor.INSTANCE); + storageResource.changed().ifPresent( + changed -> trackingRepository.update(resource, new PlayerActor(changed.changedBy()), changed.changedAt()) + ); } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageCodecs.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageCodecs.java new file mode 100644 index 000000000..d7151cfb9 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageCodecs.java @@ -0,0 +1,106 @@ +package com.refinedmods.refinedstorage2.platform.common.storage; + +import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; +import com.refinedmods.refinedstorage2.api.resource.ResourceKey; +import com.refinedmods.refinedstorage2.api.storage.Storage; +import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorage; +import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; +import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorage; +import com.refinedmods.refinedstorage2.platform.api.storage.PlayerActor; + +import java.util.List; +import java.util.Optional; +import java.util.function.Function; +import java.util.function.Predicate; +import javax.annotation.Nullable; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public final class StorageCodecs { + private static final StreamCodec TRACKED_RESOURCE_STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.STRING_UTF8, TrackedResource::getSourceName, + ByteBufCodecs.VAR_LONG, TrackedResource::getTime, + TrackedResource::new + ); + private static final Codec CHANGED_BY_AT_CODEC = + RecordCodecBuilder.create(instance -> instance.group( + Codec.STRING.fieldOf("changedBy").forGetter(StorageChangedByAt::changedBy), + Codec.LONG.fieldOf("changedAt").forGetter(StorageChangedByAt::changedAt) + ).apply(instance, StorageChangedByAt::new)); + + public static final StreamCodec> + TRACKED_RESOURCE_OPTIONAL_STREAM_CODEC = ByteBufCodecs.optional(TRACKED_RESOURCE_STREAM_CODEC); + + private StorageCodecs() { + } + + static MapCodec> homogeneousStorageData(final Codec resourceCodec) { + final Codec> storageResourceCodec = RecordCodecBuilder.create(instance -> instance.group( + resourceCodec.fieldOf("resource").forGetter(StorageResource::resource), + Codec.LONG.fieldOf("amount").forGetter(StorageResource::amount), + Codec.optionalField("changed", CHANGED_BY_AT_CODEC, false).forGetter(StorageResource::changed) + ).apply(instance, StorageResource::new)); + + return RecordCodecBuilder.mapCodec(instance -> instance.group( + Codec.optionalField("capacity", Codec.LONG, false).forGetter(StorageData::capacity), + Codec.list(storageResourceCodec).fieldOf("resources").forGetter(StorageData::resources) + ).apply(instance, StorageData::new)); + } + + record StorageData(Optional capacity, List> resources) { + static StorageData empty(@Nullable final Long capacity) { + return new StorageData<>(Optional.ofNullable(capacity), List.of()); + } + + static StorageData ofHomogeneousStorage( + final Storage storage, + final Predicate valid, + final Function caster + ) { + final Optional capacity = storage instanceof LimitedStorage limitedStorage + ? Optional.of(limitedStorage.getCapacity()) + : Optional.empty(); + final List> resources = storage.getAll().stream() + .filter(resourceAmount -> valid.test(resourceAmount.getResource())) + .map(resourceAmount -> getResource(storage, caster, resourceAmount)) + .toList(); + return new StorageData<>(capacity, resources); + } + + private static StorageResource getResource( + final Storage storage, + final Function caster, + final ResourceAmount resourceAmount + ) { + return new StorageResource<>( + caster.apply(resourceAmount.getResource()), + resourceAmount.getAmount(), + getChanged(storage, resourceAmount) + ); + } + + private static Optional getChanged(final Storage storage, + final ResourceAmount resourceAmount) { + if (!(storage instanceof TrackedStorage trackedStorage)) { + return Optional.empty(); + } + return trackedStorage.findTrackedResourceByActorType(resourceAmount.getResource(), PlayerActor.class) + .map(StorageChangedByAt::ofTrackedResource); + } + } + + record StorageResource(T resource, long amount, Optional changed) { + } + + record StorageChangedByAt(String changedBy, long changedAt) { + private static StorageChangedByAt ofTrackedResource(final TrackedResource trackedResource) { + return new StorageChangedByAt(trackedResource.getSourceName(), trackedResource.getTime()); + } + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageContainerItemHelperImpl.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageContainerItemHelperImpl.java index ee061f0e6..3eb060112 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageContainerItemHelperImpl.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageContainerItemHelperImpl.java @@ -1,11 +1,12 @@ package com.refinedmods.refinedstorage2.platform.common.storage; -import com.refinedmods.refinedstorage2.api.storage.Storage; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.storage.SerializableStorage; import com.refinedmods.refinedstorage2.platform.api.storage.StorageBlockEntity; import com.refinedmods.refinedstorage2.platform.api.storage.StorageContainerItemHelper; import com.refinedmods.refinedstorage2.platform.api.storage.StorageInfo; import com.refinedmods.refinedstorage2.platform.api.storage.StorageRepository; +import com.refinedmods.refinedstorage2.platform.common.content.DataComponents; import java.util.Collections; import java.util.HashMap; @@ -19,7 +20,6 @@ import javax.annotation.Nullable; import net.minecraft.ChatFormatting; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; @@ -36,23 +36,30 @@ public class StorageContainerItemHelperImpl implements StorageContainerItemHelper { private static final Logger LOGGER = LoggerFactory.getLogger(StorageContainerItemHelperImpl.class); - private static final String TAG_ID = "id"; private final Map diskModelsByItem = new HashMap<>(); private final Set diskModels = new HashSet<>(); @Override - public Optional resolve(final StorageRepository storageRepository, final ItemStack stack) { + public Optional resolveStorage(final StorageRepository storageRepository, + final ItemStack stack) { return getId(stack).flatMap(storageRepository::get); } @Override - public void set(final StorageRepository storageRepository, final ItemStack stack, final Storage storage) { + public void setStorage(final StorageRepository storageRepository, + final ItemStack stack, + final SerializableStorage storage) { final UUID id = UUID.randomUUID(); setId(stack, id); storageRepository.set(id, storage); } + @Override + public boolean hasStorage(final ItemStack stack) { + return stack.has(DataComponents.INSTANCE.getStorageReference()); + } + @Override public Optional getInfo(final StorageRepository storageRepository, final ItemStack stack) { return getId(stack).map(storageRepository::getInfo); @@ -162,15 +169,10 @@ public Map getDiskModelsByItem() { } private Optional getId(final ItemStack stack) { - if (stack.hasTag() && stack.getTag() != null && stack.getTag().hasUUID(TAG_ID)) { - return Optional.of(stack.getTag().getUUID(TAG_ID)); - } - return Optional.empty(); + return Optional.ofNullable(stack.get(DataComponents.INSTANCE.getStorageReference())); } private void setId(final ItemStack stack, final UUID id) { - final CompoundTag tag = stack.hasTag() && stack.getTag() != null ? stack.getTag() : new CompoundTag(); - tag.putUUID(TAG_ID, id); - stack.setTag(tag); + stack.set(DataComponents.INSTANCE.getStorageReference(), id); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageRepositoryImpl.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageRepositoryImpl.java index adaad7a86..510385255 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageRepositoryImpl.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageRepositoryImpl.java @@ -1,12 +1,9 @@ package com.refinedmods.refinedstorage2.platform.common.storage; import com.refinedmods.refinedstorage2.api.core.CoreValidations; -import com.refinedmods.refinedstorage2.api.storage.Storage; import com.refinedmods.refinedstorage2.platform.api.storage.SerializableStorage; import com.refinedmods.refinedstorage2.platform.api.storage.StorageInfo; import com.refinedmods.refinedstorage2.platform.api.storage.StorageRepository; -import com.refinedmods.refinedstorage2.platform.api.storage.StorageType; -import com.refinedmods.refinedstorage2.platform.api.support.registry.PlatformRegistry; import com.refinedmods.refinedstorage2.platform.common.support.AbstractSafeSavedData; import java.util.HashMap; @@ -14,55 +11,50 @@ import java.util.Optional; import java.util.UUID; +import com.mojang.serialization.Codec; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.UUIDUtil; import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; -import net.minecraft.nbt.Tag; -import net.minecraft.resources.ResourceLocation; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import net.minecraft.nbt.NbtOps; public class StorageRepositoryImpl extends AbstractSafeSavedData implements StorageRepository { public static final String NAME = "refinedstorage2_storages"; - private static final Logger LOGGER = LoggerFactory.getLogger(StorageRepositoryImpl.class); - - private static final String TAG_STORAGES = "storages"; - private static final String TAG_STORAGE_ID = "id"; - private static final String TAG_STORAGE_TYPE = "type"; - private static final String TAG_STORAGE_DATA = "data"; - - private final Map entries = new HashMap<>(); - private final PlatformRegistry storageTypeRegistry; + private final Codec> codec = Codec.unboundedMap( + UUIDUtil.STRING_CODEC, + SerializableStorage.getCodec(this::markAsChanged) + ); + private final Map entries; + + public StorageRepositoryImpl(final CompoundTag tag, final HolderLookup.Provider provider) { + this.entries = new HashMap<>(codec.decode( + provider.createSerializationContext(NbtOps.INSTANCE), + tag + ).getOrThrow().getFirst()); + } - public StorageRepositoryImpl(final PlatformRegistry storageTypeRegistry) { - this.storageTypeRegistry = storageTypeRegistry; + public StorageRepositoryImpl() { + this.entries = new HashMap<>(); } @Override - public Optional get(final UUID id) { + public Optional get(final UUID id) { return Optional.ofNullable(entries.get(id)); } @Override - public void set(final UUID id, final Storage storage) { - setSilently(id, storage); - setDirty(); - } - - private void setSilently(final UUID id, final Storage storage) { + public void set(final UUID id, final SerializableStorage storage) { CoreValidations.validateNotNull(storage, "Storage must not be null"); - if (!(storage instanceof SerializableStorage)) { - throw new IllegalArgumentException("Storage is not serializable"); - } CoreValidations.validateNotNull(id, "ID must not be null"); if (entries.containsKey(id)) { throw new IllegalArgumentException(id + " already exists"); } entries.put(id, storage); + setDirty(); } @Override - public Optional removeIfEmpty(final UUID id) { + public Optional removeIfEmpty(final UUID id) { return get(id).map(storage -> { if (storage.getStored() == 0) { entries.remove(id); @@ -83,47 +75,9 @@ public void markAsChanged() { setDirty(); } - public void read(final CompoundTag tag) { - final ListTag storages = tag.getList(TAG_STORAGES, Tag.TAG_COMPOUND); - for (final Tag storageTag : storages) { - final UUID id = ((CompoundTag) storageTag).getUUID(TAG_STORAGE_ID); - final ResourceLocation typeId = new ResourceLocation( - ((CompoundTag) storageTag).getString(TAG_STORAGE_TYPE) - ); - final CompoundTag data = ((CompoundTag) storageTag).getCompound(TAG_STORAGE_DATA); - - storageTypeRegistry.get(typeId).ifPresentOrElse( - type -> setSilently(id, type.fromTag(data, this::markAsChanged)), - () -> LOGGER.warn("Cannot find storage type {} for storage {}", typeId, id) - ); - } - } - @Override - public CompoundTag save(final CompoundTag tag) { - final ListTag storageList = new ListTag(); - for (final Map.Entry entry : entries.entrySet()) { - if (entry.getValue() instanceof SerializableStorage serializableStorage) { - storageList.add(convertStorageToTag(entry.getKey(), entry.getValue(), serializableStorage)); - } else { - LOGGER.warn("Tried to persist non-serializable storage {}", entry.getKey()); - } - } - tag.put(TAG_STORAGES, storageList); - return tag; - } - - private Tag convertStorageToTag(final UUID id, - final Storage storage, - final SerializableStorage serializableStorage) { - final ResourceLocation typeIdentifier = storageTypeRegistry - .getId(serializableStorage.getType()) - .orElseThrow(() -> new RuntimeException("Storage type is not registered")); - - final CompoundTag tag = new CompoundTag(); - tag.putUUID(TAG_STORAGE_ID, id); - tag.put(TAG_STORAGE_DATA, serializableStorage.getType().toTag(storage)); - tag.putString(TAG_STORAGE_TYPE, typeIdentifier.toString()); - return tag; + public CompoundTag save(final CompoundTag tag, final HolderLookup.Provider provider) { + return (CompoundTag) codec.encode(entries, provider.createSerializationContext(NbtOps.INSTANCE), tag) + .getOrThrow(); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageTypes.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageTypes.java index 3bbc695ff..74cf21480 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageTypes.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageTypes.java @@ -1,5 +1,11 @@ package com.refinedmods.refinedstorage2.platform.common.storage; +import com.refinedmods.refinedstorage2.api.resource.ResourceKey; +import com.refinedmods.refinedstorage2.api.storage.InMemoryStorageImpl; +import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorageImpl; +import com.refinedmods.refinedstorage2.api.storage.tracked.InMemoryTrackedStorageRepository; +import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorageImpl; +import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorageRepository; import com.refinedmods.refinedstorage2.platform.api.storage.StorageType; public final class StorageTypes { @@ -8,4 +14,21 @@ public final class StorageTypes { private StorageTypes() { } + + static PlatformStorage createHomogeneousStorage(final StorageType type, + final StorageCodecs.StorageData data, + final Runnable listener) { + final TrackedStorageRepository trackingRepository = new InMemoryTrackedStorageRepository(); + final TrackedStorageImpl tracked = new TrackedStorageImpl( + new InMemoryStorageImpl(), + trackingRepository, + System::currentTimeMillis + ); + final PlatformStorage storage = data.capacity().map(capacity -> { + final LimitedStorageImpl limited = new LimitedStorageImpl(tracked, capacity); + return (PlatformStorage) new LimitedPlatformStorage(limited, type, trackingRepository, listener); + }).orElseGet(() -> new PlatformStorage(tracked, type, trackingRepository, listener)); + data.resources().forEach(storage::load); + return storage; + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskdrive/AbstractDiskDriveBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskdrive/AbstractDiskDriveBlockEntity.java index d46b02d2d..4d11acc6b 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskdrive/AbstractDiskDriveBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskdrive/AbstractDiskDriveBlockEntity.java @@ -12,6 +12,7 @@ import java.util.function.UnaryOperator; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Inventory; @@ -50,14 +51,14 @@ protected void setNormalizer(final UnaryOperator normalizer) { } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); configContainer.load(tag); } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); configContainer.save(tag); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskdrive/DiskDriveContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskdrive/DiskDriveContainerMenu.java index de2ae7155..bb9c59a6c 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskdrive/DiskDriveContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskdrive/DiskDriveContainerMenu.java @@ -12,6 +12,7 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ResourceSlot; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ResourceSlotType; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ValidatedSlot; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import java.util.ArrayList; @@ -19,7 +20,6 @@ import java.util.Optional; import java.util.stream.Stream; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.Slot; @@ -38,20 +38,19 @@ public class DiskDriveContainerMenu extends AbstractStorageContainerMenu impleme private final List diskSlots = new ArrayList<>(); - public DiskDriveContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { + public DiskDriveContainerMenu(final int syncId, + final Inventory playerInventory, + final ResourceContainerData resourceContainerData) { super(Menus.INSTANCE.getDiskDrive(), syncId); - this.storageInfoAccessor = new StorageDiskInfoAccessorImpl(PlatformApi.INSTANCE.getStorageRepository( - playerInventory.player.level() - )); + this.storageInfoAccessor = new StorageDiskInfoAccessorImpl(PlatformApi.INSTANCE.getClientStorageRepository()); addSlots( playerInventory.player, new FilteredContainer( AbstractDiskDriveBlockEntity.AMOUNT_OF_DISKS, StorageContainerItem.stackValidator() ), - ResourceContainerImpl.createForFilter() + ResourceContainerImpl.createForFilter(resourceContainerData) ); - initializeResourceSlots(buf); } DiskDriveContainerMenu(final int syncId, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/AbstractDiskInterfaceBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/AbstractDiskInterfaceBlockEntity.java index f95788cd5..1361cb1df 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/AbstractDiskInterfaceBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/AbstractDiskInterfaceBlockEntity.java @@ -22,6 +22,7 @@ import java.util.function.UnaryOperator; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; @@ -99,24 +100,24 @@ protected void setNormalizer(final UnaryOperator normalizer) { } @Override - public void load(final CompoundTag tag) { + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { if (tag.contains(TAG_UPGRADES)) { - upgradeContainer.fromTag(tag.getList(TAG_UPGRADES, Tag.TAG_COMPOUND)); + upgradeContainer.fromTag(tag.getList(TAG_UPGRADES, Tag.TAG_COMPOUND), provider); } configureAccordingToUpgrades(); - super.load(tag); + super.loadAdditional(tag, provider); } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - tag.put(TAG_UPGRADES, upgradeContainer.createTag()); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + tag.put(TAG_UPGRADES, upgradeContainer.createTag(provider)); tag.putInt(TAG_FILTER_MODE, FilterModeSettings.getFilterMode(mainNode.getFilterMode())); } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); if (tag.contains(TAG_TRANSFER_MODE)) { mainNode.setMode(TransferModeSettings.getTransferMode(tag.getInt(TAG_TRANSFER_MODE))); } @@ -126,8 +127,8 @@ public void readConfiguration(final CompoundTag tag) { } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); tag.putInt(TAG_TRANSFER_MODE, TransferModeSettings.getTransferMode(mainNode.getMode())); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/DiskInterfaceContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/DiskInterfaceContainerMenu.java index 6ebe012eb..99237eda6 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/DiskInterfaceContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/diskinterface/DiskInterfaceContainerMenu.java @@ -16,12 +16,12 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ResourceSlotType; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ValidatedSlot; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeContainer; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeSlot; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.Slot; @@ -66,7 +66,9 @@ public class DiskInterfaceContainerMenu extends AbstractResourceContainerMenu { )); } - public DiskInterfaceContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { + public DiskInterfaceContainerMenu(final int syncId, + final Inventory playerInventory, + final ResourceContainerData resourceContainerData) { super(Menus.INSTANCE.getDiskInterface(), syncId); addSlots( playerInventory.player, @@ -74,10 +76,9 @@ public DiskInterfaceContainerMenu(final int syncId, final Inventory playerInvent AbstractDiskInterfaceBlockEntity.AMOUNT_OF_DISKS, StorageContainerItem.stackValidator() ), - ResourceContainerImpl.createForFilter(), + ResourceContainerImpl.createForFilter(resourceContainerData), new UpgradeContainer(UpgradeDestinations.DISK_INTERFACE, PlatformApi.INSTANCE.getUpgradeRegistry()) ); - initializeResourceSlots(buf); registerProperty(new ClientProperty<>(PropertyTypes.REDSTONE_MODE, RedstoneMode.IGNORE)); registerProperty(new ClientProperty<>(PropertyTypes.FUZZY_MODE, false)); registerProperty(new ClientProperty<>(PropertyTypes.FILTER_MODE, FilterMode.BLOCK)); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageBlockEntity.java index af9c4f13d..18e5864dc 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageBlockEntity.java @@ -8,20 +8,21 @@ import com.refinedmods.refinedstorage2.platform.common.storage.StorageConfigurationContainerImpl; import com.refinedmods.refinedstorage2.platform.common.support.AbstractDirectionalBlock; import com.refinedmods.refinedstorage2.platform.common.support.FilterWithFuzzyMode; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractRedstoneModeNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import javax.annotation.Nullable; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.Tag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -29,9 +30,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static java.util.Objects.requireNonNull; + public class ExternalStorageBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity - implements NetworkNodeMenuProvider { + implements NetworkNodeExtendedMenuProvider { private static final Logger LOGGER = LoggerFactory.getLogger(ExternalStorageBlockEntity.class); private static final String TAG_TRACKED_RESOURCES = "tr"; @@ -115,34 +118,41 @@ public void doWork() { } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - tag.put(TAG_TRACKED_RESOURCES, trackedStorageRepository.toTag()); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + tag.put(TAG_TRACKED_RESOURCES, trackedStorageRepository.toTag(provider)); } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); - filter.save(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); + filter.save(tag, provider); configContainer.save(tag); } @Override - public void load(final CompoundTag tag) { - super.load(tag); - trackedStorageRepository.fromTag(tag.getList(TAG_TRACKED_RESOURCES, Tag.TAG_COMPOUND)); + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.loadAdditional(tag, provider); + if (tag.contains(TAG_TRACKED_RESOURCES)) { + trackedStorageRepository.fromTag(requireNonNull(tag.get(TAG_TRACKED_RESOURCES)), provider); + } } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); - filter.load(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); + filter.load(tag, provider); configContainer.load(tag); } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - filter.getFilterContainer().writeToUpdatePacket(buf); + public ResourceContainerData getMenuData() { + return ResourceContainerData.of(filter.getFilterContainer()); + } + + @Override + public StreamEncoder getMenuCodec() { + return ResourceContainerData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageContainerMenu.java index 37aacfa0d..3caa108c0 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageContainerMenu.java @@ -6,9 +6,9 @@ import com.refinedmods.refinedstorage2.platform.common.storage.StorageConfigurationContainer; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ResourceSlot; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ResourceSlotType; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.Slot; @@ -19,10 +19,11 @@ public class ExternalStorageContainerMenu extends AbstractStorageContainerMenu { private static final int FILTER_SLOT_X = 8; private static final int FILTER_SLOT_Y = 20; - public ExternalStorageContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { + public ExternalStorageContainerMenu(final int syncId, + final Inventory playerInventory, + final ResourceContainerData resourceContainerData) { super(Menus.INSTANCE.getExternalStorage(), syncId); - addSlots(playerInventory.player, ResourceContainerImpl.createForFilter()); - initializeResourceSlots(buf); + addSlots(playerInventory.player, ResourceContainerImpl.createForFilter(resourceContainerData)); } ExternalStorageContainerMenu(final int syncId, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageTrackedStorageRepository.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageTrackedStorageRepository.java index 9661cc923..83f0dcfd6 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageTrackedStorageRepository.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/externalstorage/ExternalStorageTrackedStorageRepository.java @@ -3,23 +3,27 @@ import com.refinedmods.refinedstorage2.api.resource.ResourceKey; import com.refinedmods.refinedstorage2.api.storage.Actor; import com.refinedmods.refinedstorage2.api.storage.tracked.InMemoryTrackedStorageRepository; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.storage.PlayerActor; import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceCodecs; import java.util.Collections; -import java.util.Map; +import java.util.List; -import net.minecraft.nbt.CompoundTag; +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.ListTag; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.nbt.NbtOps; +import net.minecraft.nbt.Tag; class ExternalStorageTrackedStorageRepository extends InMemoryTrackedStorageRepository { - private static final String TAG_MODIFIED_BY = "mb"; - private static final String TAG_MODIFIED_AT = "ma"; - private static final String TAG_RESOURCE_TYPE = "rt"; + private static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + ResourceCodecs.CODEC.fieldOf("resource").forGetter(ChangedByAt::resource), + Codec.STRING.fieldOf("changedBy").forGetter(ChangedByAt::changedBy), + Codec.LONG.fieldOf("changedAt").forGetter(ChangedByAt::changedAt) + ).apply(instance, ChangedByAt::new)); + private static final Codec> LIST_CODEC = Codec.list(CODEC); private final Runnable listener; @@ -33,49 +37,38 @@ public void update(final ResourceKey resource, final Actor actor, final long tim listener.run(); } - ListTag toTag() { - final ListTag items = new ListTag(); - getPersistentTrackedResources().forEach((resource, trackedResource) -> { - if (!(resource instanceof PlatformResourceKey platformResource)) { - return; - } - final ResourceType resourceType = platformResource.getResourceType(); - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType).ifPresent(id -> { - final CompoundTag tag = platformResource.toTag(); - tag.putString(TAG_MODIFIED_BY, trackedResource.getSourceName()); - tag.putLong(TAG_MODIFIED_AT, trackedResource.getTime()); - tag.putString(TAG_RESOURCE_TYPE, id.toString()); - items.add(tag); - }); - }); - return items; + Tag toTag(final HolderLookup.Provider provider) { + return LIST_CODEC.encode( + getTrackedResources(), + provider.createSerializationContext(NbtOps.INSTANCE), + new ListTag() + ).getOrThrow(); } - void fromTag(final ListTag items) { - items.forEach(tag -> { - final ResourceLocation resourceTypeId = new ResourceLocation( - ((CompoundTag) tag).getString(TAG_RESOURCE_TYPE) - ); - fromTag((CompoundTag) tag, resourceTypeId); - }); + private List getTrackedResources() { + return trackedResourcesByActorType.getOrDefault(PlayerActor.class, Collections.emptyMap()) + .entrySet() + .stream() + .filter(entry -> entry.getKey() instanceof PlatformResourceKey) + .map(entry -> new ChangedByAt( + (PlatformResourceKey) entry.getKey(), + entry.getValue().getSourceName(), + entry.getValue().getTime() + )) + .toList(); } - private void fromTag(final CompoundTag tag, final ResourceLocation resourceTypeId) { - PlatformApi.INSTANCE.getResourceTypeRegistry() - .get(resourceTypeId) - .flatMap(resourceType -> resourceType.fromTag(tag)) - .ifPresent(resource -> { - final String modifiedBy = tag.getString(TAG_MODIFIED_BY); - final long modifiedAt = tag.getLong(TAG_MODIFIED_AT); - // Call super here to avoid marking dirty. - super.update(resource, new PlayerActor(modifiedBy), modifiedAt); - }); + void fromTag(final Tag tag, final HolderLookup.Provider provider) { + LIST_CODEC.decode(provider.createSerializationContext(NbtOps.INSTANCE), tag).ifSuccess( + result -> result.getFirst().forEach( + // call super to avoid marking dirty + changedByAt -> super.update( + changedByAt.resource(), + new PlayerActor(changedByAt.changedBy()), + changedByAt.changedAt() + ))); } - private Map getPersistentTrackedResources() { - return trackedResourcesByActorType.getOrDefault( - PlayerActor.class, - Collections.emptyMap() - ); + private record ChangedByAt(PlatformResourceKey resource, String changedBy, long changedAt) { } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/AbstractPortableGridBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/AbstractPortableGridBlockEntity.java index f69d122c3..220e5e1ed 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/AbstractPortableGridBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/AbstractPortableGridBlockEntity.java @@ -10,6 +10,8 @@ import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; import com.refinedmods.refinedstorage2.platform.common.grid.AbstractGridContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.grid.GridData; +import com.refinedmods.refinedstorage2.platform.common.grid.PortableGridData; import com.refinedmods.refinedstorage2.platform.common.storage.Disk; import com.refinedmods.refinedstorage2.platform.common.storage.DiskInventory; import com.refinedmods.refinedstorage2.platform.common.storage.DiskStateChangeListener; @@ -21,21 +23,24 @@ import com.refinedmods.refinedstorage2.platform.common.support.energy.ItemBlockEnergyStorage; import com.refinedmods.refinedstorage2.platform.common.util.ContainerUtil; +import java.util.Optional; import javax.annotation.Nullable; import com.google.common.util.concurrent.RateLimiter; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.CustomData; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; @@ -43,8 +48,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public abstract class AbstractPortableGridBlockEntity extends BlockEntity implements ExtendedMenuProvider, - ConfigurationCardTarget, TransferableBlockEntityEnergy { +public abstract class AbstractPortableGridBlockEntity extends BlockEntity + implements ExtendedMenuProvider, ConfigurationCardTarget, TransferableBlockEntityEnergy { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractPortableGridBlockEntity.class); private static final String TAG_DISK_INVENTORY = "inv"; @@ -69,21 +74,26 @@ protected AbstractPortableGridBlockEntity(final PortableGridType type, final Blo this.grid = new InWorldPortableGrid(energyStorage, diskInventory, diskStateListener, this); } - static void readDiskInventory(final CompoundTag tag, final DiskInventory diskInventory) { + static void readDiskInventory(final CompoundTag tag, + final DiskInventory diskInventory, + final HolderLookup.Provider provider) { if (tag.contains(TAG_DISK_INVENTORY)) { - ContainerUtil.read(tag.getCompound(TAG_DISK_INVENTORY), diskInventory); + ContainerUtil.read(tag.getCompound(TAG_DISK_INVENTORY), diskInventory, provider); } } - static void writeDiskInventory(final CompoundTag tag, final DiskInventory diskInventory) { - tag.put(TAG_DISK_INVENTORY, ContainerUtil.write(diskInventory)); + static void writeDiskInventory(final CompoundTag tag, + final DiskInventory diskInventory, + final HolderLookup.Provider provider) { + tag.put(TAG_DISK_INVENTORY, ContainerUtil.write(diskInventory, provider)); } - static ItemStack getDisk(final CompoundTag tag) { + static ItemStack getDisk(final CustomData customData, final HolderLookup.Provider provider) { + final CompoundTag tag = customData.copyTag(); if (!tag.contains(TAG_DISK_INVENTORY)) { return ItemStack.EMPTY; } - return ContainerUtil.getItemInSlot(tag.getCompound(TAG_DISK_INVENTORY), 0); + return ContainerUtil.getItemInSlot(tag.getCompound(TAG_DISK_INVENTORY), 0, provider); } private static EnergyStorage createEnergyStorage(final PortableGridType type, final BlockEntity blockEntity) { @@ -146,16 +156,16 @@ private void initialize(final Level level) { } @Override - public void load(final CompoundTag tag) { + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { fromClientTag(tag); - readDiskInventory(tag, diskInventory); + readDiskInventory(tag, diskInventory, provider); ItemBlockEnergyStorage.readFromTag(energyStorage, tag); - readConfiguration(tag); - super.load(tag); + readConfiguration(tag, provider); + super.loadAdditional(tag, provider); } @Override - public void readConfiguration(final CompoundTag tag) { + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { if (tag.contains(TAG_REDSTONE_MODE)) { redstoneMode = RedstoneModeSettings.getRedstoneMode(tag.getInt(TAG_REDSTONE_MODE)); } @@ -174,15 +184,15 @@ protected void onClientDriveStateUpdated() { } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - writeDiskInventory(tag, diskInventory); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + writeDiskInventory(tag, diskInventory, provider); ItemBlockEnergyStorage.writeToTag(tag, energyStorage.getStored()); - writeConfiguration(tag); + writeConfiguration(tag, provider); } @Override - public void writeConfiguration(final CompoundTag tag) { + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { tag.putInt(TAG_REDSTONE_MODE, RedstoneModeSettings.getRedstoneMode(redstoneMode)); } @@ -192,7 +202,7 @@ public Packet getUpdatePacket() { } @Override - public CompoundTag getUpdateTag() { + public CompoundTag getUpdateTag(final HolderLookup.Provider provider) { final CompoundTag tag = new CompoundTag(); tag.put(TAG_DISKS, diskInventory.toSyncTag(idx -> grid.getStorageState())); return tag; @@ -219,10 +229,18 @@ public AbstractGridContainerMenu createMenu(final int syncId, final Inventory in } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - PlatformApi.INSTANCE.writeGridScreenOpeningData(grid, buf); - buf.writeLong(energyStorage.getStored()); - buf.writeLong(energyStorage.getCapacity()); + public PortableGridData getMenuData() { + return new PortableGridData( + GridData.of(grid), + energyStorage.getStored(), + energyStorage.getCapacity(), + Optional.empty() + ); + } + + @Override + public StreamEncoder getMenuCodec() { + return PortableGridData.STREAM_CODEC; } DiskInventory getDiskInventory() { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/AbstractPortableGridContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/AbstractPortableGridContainerMenu.java index 9229f1a42..0674b691a 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/AbstractPortableGridContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/AbstractPortableGridContainerMenu.java @@ -4,6 +4,7 @@ import com.refinedmods.refinedstorage2.platform.api.grid.Grid; import com.refinedmods.refinedstorage2.platform.api.storage.StorageContainerItem; import com.refinedmods.refinedstorage2.platform.common.grid.AbstractGridContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.grid.PortableGridData; import com.refinedmods.refinedstorage2.platform.common.storage.DiskInventory; import com.refinedmods.refinedstorage2.platform.common.support.FilteredContainer; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ValidatedSlot; @@ -12,7 +13,6 @@ import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.inventory.Slot; @@ -29,11 +29,15 @@ public abstract class AbstractPortableGridContainerMenu extends AbstractGridCont final MenuType menuType, final int syncId, final Inventory playerInventory, - final FriendlyByteBuf buf + final PortableGridData portableGridData ) { - super(menuType, syncId, playerInventory, buf); + super(menuType, syncId, playerInventory, portableGridData.gridData()); this.diskInventory = new FilteredContainer(1, StorageContainerItem.stackValidator()); - this.energyInfo = EnergyInfo.forClient(playerInventory.player, buf.readLong(), buf.readLong()); + this.energyInfo = EnergyInfo.forClient( + playerInventory.player, + portableGridData.stored(), + portableGridData.capacity() + ); } AbstractPortableGridContainerMenu( diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridBlockContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridBlockContainerMenu.java index 047058204..a8ded69f4 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridBlockContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridBlockContainerMenu.java @@ -1,19 +1,19 @@ package com.refinedmods.refinedstorage2.platform.common.storage.portablegrid; import com.refinedmods.refinedstorage2.platform.common.content.Menus; +import com.refinedmods.refinedstorage2.platform.common.grid.PortableGridData; import com.refinedmods.refinedstorage2.platform.common.support.RedstoneMode; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ClientProperty; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.PropertyTypes; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; public class PortableGridBlockContainerMenu extends AbstractPortableGridContainerMenu { public PortableGridBlockContainerMenu(final int syncId, final Inventory playerInventory, - final FriendlyByteBuf buf) { - super(Menus.INSTANCE.getPortableGridBlock(), syncId, playerInventory, buf); + final PortableGridData portableGridData) { + super(Menus.INSTANCE.getPortableGridBlock(), syncId, playerInventory, portableGridData); registerProperty(new ClientProperty<>(PropertyTypes.REDSTONE_MODE, RedstoneMode.IGNORE)); this.onScreenReady(0); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridBlockItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridBlockItem.java index 8090bf465..0a9bb2ba4 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridBlockItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridBlockItem.java @@ -9,6 +9,7 @@ import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.storage.StorageContainerItem; import com.refinedmods.refinedstorage2.platform.api.storage.StorageRepository; +import com.refinedmods.refinedstorage2.platform.api.support.HelpTooltipComponent; import com.refinedmods.refinedstorage2.platform.api.support.energy.AbstractEnergyBlockItem; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.common.Platform; @@ -17,19 +18,29 @@ import com.refinedmods.refinedstorage2.platform.common.storage.DiskInventory; import com.refinedmods.refinedstorage2.platform.common.support.energy.CreativeEnergyStorage; +import java.util.Optional; import javax.annotation.Nullable; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.component.DataComponents; import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.CustomData; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; + public class PortableGridBlockItem extends AbstractEnergyBlockItem { + private static final Component HELP = createTranslation("item", "portable_grid.help"); + private final PortableGridType type; public PortableGridBlockItem(final Block block, final PortableGridType type) { @@ -37,15 +48,14 @@ public PortableGridBlockItem(final Block block, final PortableGridType type) { this.type = type; } - public static PortableGridBlockItemRenderInfo getRenderInfo(final ItemStack stack, - @Nullable final Level level) { + public static PortableGridBlockItemRenderInfo getRenderInfo(final ItemStack stack, final Level level) { final boolean creative = isCreative(stack); final boolean hasEnergy = creative || createEnergyStorage(stack).getStored() > 0; - final ItemStack diskStack = getDisk(stack); + final ItemStack diskStack = getDisk(stack, level.registryAccess()); final boolean active = hasEnergy && !diskStack.isEmpty(); final Disk disk = new Disk( diskStack.isEmpty() ? null : diskStack.getItem(), - getState(diskStack, active, level) + getState(diskStack, active) ); return new PortableGridBlockItemRenderInfo(active, disk); } @@ -55,32 +65,32 @@ private static boolean isCreative(final ItemStack stack) { && portableGridBlockItem.type == PortableGridType.CREATIVE; } - private static StorageState getState(final ItemStack diskStack, - final boolean active, - @Nullable final Level level) { + private static StorageState getState(final ItemStack diskStack, final boolean active) { if (diskStack.isEmpty() || !(diskStack.getItem() instanceof StorageContainerItem storageContainerItem)) { return StorageState.NONE; } - if (!active || level == null) { + if (!active) { return StorageState.INACTIVE; } - final StorageRepository storageRepository = PlatformApi.INSTANCE.getStorageRepository(level); + final StorageRepository storageRepository = PlatformApi.INSTANCE.getClientStorageRepository(); return storageContainerItem.getInfo(storageRepository, diskStack) .map(storageInfo -> StateTrackedStorage.computeState(storageInfo.capacity(), storageInfo.stored())) .orElse(StorageState.INACTIVE); } - private static ItemStack getDisk(final ItemStack stack) { - final CompoundTag tag = getBlockEntityData(stack); - if (tag == null) { + private static ItemStack getDisk(final ItemStack stack, final HolderLookup.Provider provider) { + final CustomData blockEntityData = stack.get(DataComponents.BLOCK_ENTITY_DATA); + if (blockEntityData == null) { return ItemStack.EMPTY; } - return AbstractPortableGridBlockEntity.getDisk(tag); + return AbstractPortableGridBlockEntity.getDisk(blockEntityData, provider); } - static void setDiskInventory(final ItemStack stack, final DiskInventory diskInventory) { + static void setDiskInventory(final ItemStack stack, + final DiskInventory diskInventory, + final HolderLookup.Provider provider) { final CompoundTag tag = new CompoundTag(); - AbstractPortableGridBlockEntity.writeDiskInventory(tag, diskInventory); + AbstractPortableGridBlockEntity.writeDiskInventory(tag, diskInventory, provider); setBlockEntityData( stack, isCreative(stack) @@ -107,8 +117,8 @@ public InteractionResultHolder use(final Level level, final Player pl if (player instanceof ServerPlayer serverPlayer && level.getServer() != null) { final SlotReference slotReference = PlatformApi.INSTANCE.createInventorySlotReference(player, hand); final PortableGridEnergyStorage energyStorage = createEnergyStorageInternal(stack); - final DiskInventoryListenerImpl listener = new DiskInventoryListenerImpl(stack); - final DiskInventory diskInventory = createDiskInventory(stack, listener); + final DiskInventoryListenerImpl listener = new DiskInventoryListenerImpl(stack, level.registryAccess()); + final DiskInventory diskInventory = createDiskInventory(stack, listener, level.registryAccess()); diskInventory.setStorageRepository(PlatformApi.INSTANCE.getStorageRepository(level)); final PortableGrid portableGrid = new PortableGrid( energyStorage, @@ -136,22 +146,31 @@ private PortableGridEnergyStorage createEnergyStorageInternal(final ItemStack st return new PortableGridEnergyStorage(createEnergyStorage(stack)); } - private DiskInventory createDiskInventory(final ItemStack stack, final DiskInventoryListenerImpl listener) { + private DiskInventory createDiskInventory(final ItemStack stack, + final DiskInventoryListenerImpl listener, + final HolderLookup.Provider provider) { final DiskInventory diskInventory = new DiskInventory(listener, 1); - final CompoundTag tag = getBlockEntityData(stack); - if (tag != null) { - AbstractPortableGridBlockEntity.readDiskInventory(tag, diskInventory); + final CustomData customData = stack.get(DataComponents.BLOCK_ENTITY_DATA); + if (customData != null) { + AbstractPortableGridBlockEntity.readDiskInventory(customData.copyTag(), diskInventory, provider); } return diskInventory; } + @Override + public Optional getTooltipImage(final ItemStack stack) { + return Optional.of(new HelpTooltipComponent(HELP)); + } + private static class DiskInventoryListenerImpl implements DiskInventory.DiskListener { private final ItemStack portableGridStack; + private final HolderLookup.Provider provider; @Nullable private PortableGrid portableGrid; - private DiskInventoryListenerImpl(final ItemStack portableGridStack) { + private DiskInventoryListenerImpl(final ItemStack portableGridStack, final HolderLookup.Provider provider) { this.portableGridStack = portableGridStack; + this.provider = provider; } @Override @@ -160,7 +179,7 @@ public void onDiskChanged(final DiskInventory inventory, final int slot) { if (stillLoading) { return; } - setDiskInventory(portableGridStack, inventory); + setDiskInventory(portableGridStack, inventory, provider); final boolean wasActive = portableGrid.isGridActive(); portableGrid.updateStorage(); final boolean isActive = portableGrid.isGridActive(); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridItemContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridItemContainerMenu.java index 32388cb79..254bfd8e7 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridItemContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridItemContainerMenu.java @@ -1,21 +1,20 @@ package com.refinedmods.refinedstorage2.platform.common.storage.portablegrid; import com.refinedmods.refinedstorage2.api.network.energy.EnergyStorage; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.grid.Grid; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.common.content.Menus; +import com.refinedmods.refinedstorage2.platform.common.grid.PortableGridData; import com.refinedmods.refinedstorage2.platform.common.storage.DiskInventory; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; public class PortableGridItemContainerMenu extends AbstractPortableGridContainerMenu { public PortableGridItemContainerMenu(final int syncId, final Inventory playerInventory, - final FriendlyByteBuf buf) { - super(Menus.INSTANCE.getPortableGridItem(), syncId, playerInventory, buf); - this.disabledSlot = PlatformApi.INSTANCE.getSlotReference(buf).orElse(null); + final PortableGridData portableGridData) { + super(Menus.INSTANCE.getPortableGridItem(), syncId, playerInventory, portableGridData); + this.disabledSlot = portableGridData.slotReference().orElse(null); this.onScreenReady(0); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridItemExtendedMenuProvider.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridItemExtendedMenuProvider.java index 2f3f300b3..d7f034ce4 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridItemExtendedMenuProvider.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridItemExtendedMenuProvider.java @@ -1,23 +1,25 @@ package com.refinedmods.refinedstorage2.platform.common.storage.portablegrid; import com.refinedmods.refinedstorage2.api.network.energy.EnergyStorage; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.grid.Grid; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; +import com.refinedmods.refinedstorage2.platform.common.grid.GridData; +import com.refinedmods.refinedstorage2.platform.common.grid.PortableGridData; import com.refinedmods.refinedstorage2.platform.common.storage.DiskInventory; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ExtendedMenuProvider; +import java.util.Optional; import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; -class PortableGridItemExtendedMenuProvider implements ExtendedMenuProvider { +class PortableGridItemExtendedMenuProvider implements ExtendedMenuProvider { private final Grid grid; private final EnergyStorage energyStorage; private final DiskInventory diskInventory; @@ -34,11 +36,18 @@ class PortableGridItemExtendedMenuProvider implements ExtendedMenuProvider { } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - PlatformApi.INSTANCE.writeGridScreenOpeningData(grid, buf); - buf.writeLong(energyStorage.getStored()); - buf.writeLong(energyStorage.getCapacity()); - PlatformApi.INSTANCE.writeSlotReference(slotReference, buf); + public PortableGridData getMenuData() { + return new PortableGridData( + GridData.of(grid), + energyStorage.getStored(), + energyStorage.getCapacity(), + Optional.of(slotReference) + ); + } + + @Override + public StreamEncoder getMenuCodec() { + return PortableGridData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridLootItemFunction.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridLootItemFunction.java index 941eef37d..809654db5 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridLootItemFunction.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/portablegrid/PortableGridLootItemFunction.java @@ -11,7 +11,7 @@ public class PortableGridLootItemFunction extends EnergyLootItemFunction { @Override - public LootItemFunctionType getType() { + public LootItemFunctionType getType() { return LootFunctions.INSTANCE.getPortableGrid(); } @@ -19,7 +19,11 @@ public LootItemFunctionType getType() { public ItemStack apply(final ItemStack itemStack, final LootContext lootContext) { final BlockEntity blockEntity = lootContext.getParam(LootContextParams.BLOCK_ENTITY); if (blockEntity instanceof AbstractPortableGridBlockEntity portableGrid) { - PortableGridBlockItem.setDiskInventory(itemStack, portableGrid.getDiskInventory()); + PortableGridBlockItem.setDiskInventory( + itemStack, + portableGrid.getDiskInventory(), + lootContext.getLevel().registryAccess() + ); } return super.apply(itemStack, lootContext); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/AbstractStorageBlockBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/AbstractStorageBlockBlockEntity.java index 3570421c0..85ee8c8ef 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/AbstractStorageBlockBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/AbstractStorageBlockBlockEntity.java @@ -4,14 +4,16 @@ import com.refinedmods.refinedstorage2.api.network.impl.node.storage.StorageNetworkNode; import com.refinedmods.refinedstorage2.api.storage.Storage; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.storage.SerializableStorage; import com.refinedmods.refinedstorage2.platform.api.storage.StorageBlockEntity; import com.refinedmods.refinedstorage2.platform.api.storage.StorageRepository; import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceContainer; import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceFactory; import com.refinedmods.refinedstorage2.platform.common.storage.StorageConfigurationContainerImpl; import com.refinedmods.refinedstorage2.platform.common.support.FilterWithFuzzyMode; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractRedstoneModeNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import java.util.Optional; @@ -19,9 +21,10 @@ import javax.annotation.Nullable; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; @@ -30,7 +33,8 @@ abstract class AbstractStorageBlockBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity - implements NetworkNodeMenuProvider, StorageBlockEntity, AbstractStorageContainerNetworkNode.Provider { + implements NetworkNodeExtendedMenuProvider, StorageBlockEntity, + AbstractStorageContainerNetworkNode.Provider { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractStorageBlockBlockEntity.class); private static final String TAG_STORAGE_ID = "sid"; @@ -62,7 +66,7 @@ protected AbstractStorageBlockBlockEntity(final BlockEntityType type, mainNode.getStorageConfiguration().setNormalizer(filter.createNormalizer()); } - protected abstract Storage createStorage(Runnable listener); + protected abstract SerializableStorage createStorage(Runnable listener); @Override public void setLevel(final Level level) { @@ -79,40 +83,40 @@ public void setLevel(final Level level) { // In both cases listed above we need to clean up the storage we create here. storageId = UUID.randomUUID(); final StorageRepository storageRepository = PlatformApi.INSTANCE.getStorageRepository(level); - final Storage storage = createStorage(storageRepository::markAsChanged); + final SerializableStorage storage = createStorage(storageRepository::markAsChanged); storageRepository.set(storageId, storage); } mainNode.setProvider(this); } @Override - public void load(final CompoundTag tag) { + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { if (tag.contains(TAG_STORAGE_ID)) { setStorageId(tag.getUUID(TAG_STORAGE_ID)); } - super.load(tag); + super.loadAdditional(tag, provider); } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); configContainer.load(tag); - filter.load(tag); + filter.load(tag, provider); } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); if (storageId != null) { tag.putUUID(TAG_STORAGE_ID, storageId); } } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); configContainer.save(tag); - filter.save(tag); + filter.save(tag, provider); } @Override @@ -148,10 +152,17 @@ protected final ResourceContainer getFilterContainer() { } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - buf.writeLong(mainNode.getStored()); - buf.writeLong(mainNode.getCapacity()); - filter.getFilterContainer().writeToUpdatePacket(buf); + public StorageBlockData getMenuData() { + return new StorageBlockData( + mainNode.getStored(), + mainNode.getCapacity(), + ResourceContainerData.of(filter.getFilterContainer()) + ); + } + + @Override + public StreamEncoder getMenuCodec() { + return StorageBlockData.STREAM_CODEC; } @Override @@ -160,6 +171,6 @@ public Optional resolve(final int index) { return Optional.empty(); } final StorageRepository storageRepository = PlatformApi.INSTANCE.getStorageRepository(level); - return storageRepository.get(storageId); + return storageRepository.get(storageId).map(Storage.class::cast); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/AbstractStorageBlockContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/AbstractStorageBlockContainerMenu.java index 0b541f166..b09397b91 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/AbstractStorageBlockContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/AbstractStorageBlockContainerMenu.java @@ -9,7 +9,6 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ResourceSlotType; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.inventory.Slot; @@ -27,13 +26,15 @@ public abstract class AbstractStorageBlockContainerMenu extends AbstractStorageC protected AbstractStorageBlockContainerMenu(final MenuType type, final int syncId, final Player player, - final FriendlyByteBuf buf, + final StorageBlockData storageBlockData, final ResourceFactory resourceFactory) { super(type, syncId); - this.stored = buf.readLong(); - this.capacity = buf.readLong(); - addSlots(player, ResourceContainerImpl.createForFilter(resourceFactory)); - initializeResourceSlots(buf); + this.stored = storageBlockData.stored(); + this.capacity = storageBlockData.capacity(); + addSlots( + player, + ResourceContainerImpl.createForFilter(resourceFactory, storageBlockData.resourceContainerData()) + ); } protected AbstractStorageBlockContainerMenu(final MenuType type, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockBlockEntity.java index 6b34e6fa1..ac00f09c3 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockBlockEntity.java @@ -1,8 +1,8 @@ package com.refinedmods.refinedstorage2.platform.common.storage.storageblock; import com.refinedmods.refinedstorage2.api.network.impl.node.storage.StorageNetworkNode; -import com.refinedmods.refinedstorage2.api.storage.Storage; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.storage.SerializableStorage; import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; import com.refinedmods.refinedstorage2.platform.common.storage.FluidStorageType; @@ -50,7 +50,7 @@ private static long getEnergyUsage(final FluidStorageType.Variant variant) { } @Override - protected Storage createStorage(final Runnable listener) { + protected SerializableStorage createStorage(final Runnable listener) { return StorageTypes.FLUID.create(variant.getCapacity(), listener); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockBlockItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockBlockItem.java index d43dc07d5..eb6055a3e 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockBlockItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockBlockItem.java @@ -2,22 +2,32 @@ import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.storage.AbstractStorageContainerBlockItem; +import com.refinedmods.refinedstorage2.platform.api.support.AmountFormatting; +import com.refinedmods.refinedstorage2.platform.api.support.HelpTooltipComponent; import com.refinedmods.refinedstorage2.platform.common.content.Blocks; import com.refinedmods.refinedstorage2.platform.common.content.Items; import com.refinedmods.refinedstorage2.platform.common.storage.FluidStorageType; import com.refinedmods.refinedstorage2.platform.common.support.resource.FluidResourceRendering; +import java.util.Optional; import javax.annotation.Nullable; +import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; + public class FluidStorageBlockBlockItem extends AbstractStorageContainerBlockItem { + private static final Component CREATIVE_HELP = createTranslation("item", "creative_fluid_storage_block.help"); + private final FluidStorageType.Variant variant; + private final Component helpText; public FluidStorageBlockBlockItem(final Block block, final FluidStorageType.Variant variant) { super( @@ -26,6 +36,18 @@ public FluidStorageBlockBlockItem(final Block block, final FluidStorageType.Vari PlatformApi.INSTANCE.getStorageContainerItemHelper() ); this.variant = variant; + this.helpText = getHelpText(variant); + } + + private static Component getHelpText(final FluidStorageType.Variant variant) { + if (variant.getCapacityInBuckets() == null) { + return CREATIVE_HELP; + } + return createTranslation( + "item", + "fluid_storage_block.help", + AmountFormatting.format(variant.getCapacityInBuckets()) + ); } @Override @@ -60,4 +82,9 @@ protected boolean placeBlock(final BlockPlaceContext ctx, final BlockState state } return super.placeBlock(ctx, state); } + + @Override + public Optional getTooltipImage(final ItemStack stack) { + return Optional.of(new HelpTooltipComponent(helpText)); + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockContainerMenu.java index 038e67fe0..3eb701054 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/FluidStorageBlockContainerMenu.java @@ -5,19 +5,18 @@ import com.refinedmods.refinedstorage2.platform.common.content.Menus; import com.refinedmods.refinedstorage2.platform.common.storage.StorageConfigurationContainer; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; public class FluidStorageBlockContainerMenu extends AbstractStorageBlockContainerMenu { public FluidStorageBlockContainerMenu(final int syncId, final Inventory playerInventory, - final FriendlyByteBuf buf) { + final StorageBlockData storageBlockData) { super( Menus.INSTANCE.getFluidStorage(), syncId, playerInventory.player, - buf, + storageBlockData, PlatformApi.INSTANCE.getFluidResourceFactory() ); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockBlockEntity.java index 0efc11d89..2561211da 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockBlockEntity.java @@ -1,8 +1,8 @@ package com.refinedmods.refinedstorage2.platform.common.storage.storageblock; import com.refinedmods.refinedstorage2.api.network.impl.node.storage.StorageNetworkNode; -import com.refinedmods.refinedstorage2.api.storage.Storage; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.storage.SerializableStorage; import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; import com.refinedmods.refinedstorage2.platform.common.storage.ItemStorageType; @@ -46,7 +46,7 @@ private static long getEnergyUsage(final ItemStorageType.Variant variant) { } @Override - protected Storage createStorage(final Runnable listener) { + protected SerializableStorage createStorage(final Runnable listener) { return StorageTypes.ITEM.create(variant.getCapacity(), listener); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockBlockItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockBlockItem.java index 3e6bb5634..f77bb8a28 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockBlockItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockBlockItem.java @@ -3,21 +3,30 @@ import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.storage.AbstractStorageContainerBlockItem; import com.refinedmods.refinedstorage2.platform.api.support.AmountFormatting; +import com.refinedmods.refinedstorage2.platform.api.support.HelpTooltipComponent; import com.refinedmods.refinedstorage2.platform.common.content.Blocks; import com.refinedmods.refinedstorage2.platform.common.content.Items; import com.refinedmods.refinedstorage2.platform.common.storage.ItemStorageType; +import java.util.Optional; import javax.annotation.Nullable; +import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; + public class ItemStorageBlockBlockItem extends AbstractStorageContainerBlockItem { + private static final Component CREATIVE_HELP = createTranslation("item", "creative_storage_block.help"); + private final ItemStorageType.Variant variant; + private final Component helpText; public ItemStorageBlockBlockItem(final Block block, final ItemStorageType.Variant variant) { super( @@ -26,6 +35,9 @@ public ItemStorageBlockBlockItem(final Block block, final ItemStorageType.Varian PlatformApi.INSTANCE.getStorageContainerItemHelper() ); this.variant = variant; + this.helpText = variant.getCapacity() == null + ? CREATIVE_HELP + : createTranslation("item", "storage_block.help", AmountFormatting.format(variant.getCapacity())); } @Override @@ -60,4 +72,9 @@ protected boolean placeBlock(final BlockPlaceContext ctx, final BlockState state } return super.placeBlock(ctx, state); } + + @Override + public Optional getTooltipImage(final ItemStack stack) { + return Optional.of(new HelpTooltipComponent(helpText)); + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockContainerMenu.java index 47f29c553..33993082e 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/ItemStorageBlockContainerMenu.java @@ -5,17 +5,18 @@ import com.refinedmods.refinedstorage2.platform.common.content.Menus; import com.refinedmods.refinedstorage2.platform.common.storage.StorageConfigurationContainer; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; public class ItemStorageBlockContainerMenu extends AbstractStorageBlockContainerMenu { - public ItemStorageBlockContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { + public ItemStorageBlockContainerMenu(final int syncId, + final Inventory playerInventory, + final StorageBlockData storageBlockData) { super( Menus.INSTANCE.getItemStorage(), syncId, playerInventory.player, - buf, + storageBlockData, PlatformApi.INSTANCE.getItemResourceFactory() ); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/StorageBlockData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/StorageBlockData.java new file mode 100644 index 000000000..a8ae6950a --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/StorageBlockData.java @@ -0,0 +1,16 @@ +package com.refinedmods.refinedstorage2.platform.common.storage.storageblock; + +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record StorageBlockData(long stored, long capacity, ResourceContainerData resourceContainerData) { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.VAR_LONG, StorageBlockData::stored, + ByteBufCodecs.VAR_LONG, StorageBlockData::capacity, + ResourceContainerData.STREAM_CODEC, StorageBlockData::resourceContainerData, + StorageBlockData::new + ); +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/StorageBlockLootItemFunction.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/StorageBlockLootItemFunction.java index 6f064375d..c4c23903a 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/StorageBlockLootItemFunction.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storageblock/StorageBlockLootItemFunction.java @@ -13,7 +13,7 @@ public class StorageBlockLootItemFunction implements LootItemFunction { @Override - public LootItemFunctionType getType() { + public LootItemFunctionType getType() { return LootFunctions.INSTANCE.getStorageBlock(); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storagedisk/FluidStorageDiskItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storagedisk/FluidStorageDiskItem.java index ebc6260a9..2663d7ee0 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storagedisk/FluidStorageDiskItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storagedisk/FluidStorageDiskItem.java @@ -1,21 +1,31 @@ package com.refinedmods.refinedstorage2.platform.common.storage.storagedisk; -import com.refinedmods.refinedstorage2.api.storage.Storage; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.storage.AbstractStorageContainerItem; +import com.refinedmods.refinedstorage2.platform.api.storage.SerializableStorage; import com.refinedmods.refinedstorage2.platform.api.storage.StorageRepository; +import com.refinedmods.refinedstorage2.platform.api.support.AmountFormatting; +import com.refinedmods.refinedstorage2.platform.api.support.HelpTooltipComponent; import com.refinedmods.refinedstorage2.platform.common.content.Items; import com.refinedmods.refinedstorage2.platform.common.storage.FluidStorageType; import com.refinedmods.refinedstorage2.platform.common.storage.StorageTypes; import com.refinedmods.refinedstorage2.platform.common.support.resource.FluidResourceRendering; +import java.util.Optional; import javax.annotation.Nullable; +import net.minecraft.network.chat.Component; +import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; + public class FluidStorageDiskItem extends AbstractStorageContainerItem { + private static final Component CREATIVE_HELP = createTranslation("item", "creative_fluid_storage_disk.help"); + private final FluidStorageType.Variant variant; + private final Component helpText; public FluidStorageDiskItem(final FluidStorageType.Variant variant) { super( @@ -23,6 +33,18 @@ public FluidStorageDiskItem(final FluidStorageType.Variant variant) { PlatformApi.INSTANCE.getStorageContainerItemHelper() ); this.variant = variant; + this.helpText = getHelpText(variant); + } + + private static Component getHelpText(final FluidStorageType.Variant variant) { + if (variant.getCapacityInBuckets() == null) { + return CREATIVE_HELP; + } + return createTranslation( + "item", + "fluid_storage_disk.help", + AmountFormatting.format(variant.getCapacityInBuckets()) + ); } @Override @@ -36,7 +58,7 @@ protected String formatAmount(final long amount) { } @Override - protected Storage createStorage(final StorageRepository storageRepository) { + protected SerializableStorage createStorage(final StorageRepository storageRepository) { return StorageTypes.FLUID.create(variant.getCapacity(), storageRepository::markAsChanged); } @@ -53,4 +75,9 @@ protected ItemStack createSecondaryDisassemblyByproduct(final int count) { } return new ItemStack(Items.INSTANCE.getFluidStoragePart(variant), count); } + + @Override + public Optional getTooltipImage(final ItemStack stack) { + return Optional.of(new HelpTooltipComponent(helpText)); + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storagedisk/ItemStorageDiskItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storagedisk/ItemStorageDiskItem.java index d2aec853b..2b6fde9e7 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storagedisk/ItemStorageDiskItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storage/storagedisk/ItemStorageDiskItem.java @@ -1,21 +1,30 @@ package com.refinedmods.refinedstorage2.platform.common.storage.storagedisk; -import com.refinedmods.refinedstorage2.api.storage.Storage; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.storage.AbstractStorageContainerItem; +import com.refinedmods.refinedstorage2.platform.api.storage.SerializableStorage; import com.refinedmods.refinedstorage2.platform.api.storage.StorageRepository; import com.refinedmods.refinedstorage2.platform.api.support.AmountFormatting; +import com.refinedmods.refinedstorage2.platform.api.support.HelpTooltipComponent; import com.refinedmods.refinedstorage2.platform.common.content.Items; import com.refinedmods.refinedstorage2.platform.common.storage.ItemStorageType; import com.refinedmods.refinedstorage2.platform.common.storage.StorageTypes; +import java.util.Optional; import javax.annotation.Nullable; +import net.minecraft.network.chat.Component; +import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; + public class ItemStorageDiskItem extends AbstractStorageContainerItem { + private static final Component CREATIVE_HELP = createTranslation("item", "creative_storage_disk.help"); + private final ItemStorageType.Variant variant; + private final Component helpText; public ItemStorageDiskItem(final ItemStorageType.Variant variant) { super( @@ -23,6 +32,9 @@ public ItemStorageDiskItem(final ItemStorageType.Variant variant) { PlatformApi.INSTANCE.getStorageContainerItemHelper() ); this.variant = variant; + this.helpText = variant.getCapacity() == null + ? CREATIVE_HELP + : createTranslation("item", "storage_disk.help", AmountFormatting.format(variant.getCapacity())); } @Override @@ -36,7 +48,7 @@ protected String formatAmount(final long amount) { } @Override - protected Storage createStorage(final StorageRepository storageRepository) { + protected SerializableStorage createStorage(final StorageRepository storageRepository) { return StorageTypes.ITEM.create(variant.getCapacity(), storageRepository::markAsChanged); } @@ -53,4 +65,9 @@ protected ItemStack createSecondaryDisassemblyByproduct(final int count) { } return new ItemStack(Items.INSTANCE.getItemStoragePart(variant), count); } + + @Override + public Optional getTooltipImage(final ItemStack stack) { + return Optional.of(new HelpTooltipComponent(helpText)); + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/ItemStorageMonitorExtractionStrategy.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/ItemStorageMonitorExtractionStrategy.java index 5a91d2740..6bca4e51f 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/ItemStorageMonitorExtractionStrategy.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/ItemStorageMonitorExtractionStrategy.java @@ -24,7 +24,7 @@ public boolean extract(final ResourceKey resource, } final long extracted = network.getComponent(StorageNetworkComponent.class).extract( itemResource, - fullStack ? itemResource.item().getMaxStackSize() : 1, + fullStack ? itemResource.item().getDefaultMaxStackSize() : 1, Action.EXECUTE, actor ); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorBlock.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorBlock.java index 0dbe62d15..90e48831a 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorBlock.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorBlock.java @@ -4,6 +4,7 @@ import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; import com.refinedmods.refinedstorage2.platform.common.support.AbstractBlockEntityTicker; import com.refinedmods.refinedstorage2.platform.common.support.AbstractDirectionalBlock; +import com.refinedmods.refinedstorage2.platform.common.support.NetworkNodeBlockItem; import com.refinedmods.refinedstorage2.platform.common.support.direction.BiDirection; import com.refinedmods.refinedstorage2.platform.common.support.direction.BiDirectionType; import com.refinedmods.refinedstorage2.platform.common.support.direction.DirectionType; @@ -13,9 +14,12 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.ClipContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.EntityBlock; @@ -26,7 +30,10 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; + public class StorageMonitorBlock extends AbstractDirectionalBlock implements EntityBlock { + private static final Component HELP = createTranslation("item", "storage_monitor.help"); private static final AbstractBlockEntityTicker TICKER = new NetworkNodeBlockEntityTicker<>(BlockEntities.INSTANCE::getStorageMonitor); @@ -53,19 +60,15 @@ public BlockEntityTicker getTicker(final Level level, } @Override - @SuppressWarnings("deprecation") - public InteractionResult use(final BlockState state, - final Level level, - final BlockPos pos, - final Player player, - final InteractionHand hand, - final BlockHitResult hit) { + protected ItemInteractionResult useItemOn(final ItemStack stack, + final BlockState state, + final Level level, + final BlockPos pos, + final Player player, + final InteractionHand hand, + final BlockHitResult hitResult) { if (player.isCrouching()) { - return super.use(state, level, pos, player, hand, hit); - } - final BiDirection direction = getDirection(state); - if (direction == null || hit.getDirection() != direction.asDirection()) { - return InteractionResult.FAIL; + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; } if (!level.isClientSide()) { final BlockEntity blockEntity = level.getBlockEntity(pos); @@ -73,7 +76,7 @@ public InteractionResult use(final BlockState state, storageMonitor.insert(player, hand); } } - return InteractionResult.SUCCESS; + return ItemInteractionResult.SUCCESS; } @Override @@ -109,4 +112,8 @@ private Direction getHitDirection(final Level level, final Player player) { player )).getDirection(); } + + public BlockItem createBlockItem() { + return new NetworkNodeBlockItem(this, HELP); + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorBlockEntity.java index 1043d23cb..6b752af4c 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorBlockEntity.java @@ -15,20 +15,22 @@ import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; import com.refinedmods.refinedstorage2.platform.common.support.AbstractDirectionalBlock; import com.refinedmods.refinedstorage2.platform.common.support.FilterWithFuzzyMode; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractRedstoneModeNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import javax.annotation.Nullable; import com.google.common.util.concurrent.RateLimiter; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; @@ -43,7 +45,7 @@ import org.slf4j.LoggerFactory; public class StorageMonitorBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity - implements NetworkNodeMenuProvider { + implements NetworkNodeExtendedMenuProvider { private static final Logger LOGGER = LoggerFactory.getLogger(StorageMonitorBlockEntity.class); private static final String TAG_CLIENT_FILTER = "cf"; @@ -258,30 +260,35 @@ public boolean isCurrentlyActive() { } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); - filter.save(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); + filter.save(tag, provider); } @Override - public void load(final CompoundTag tag) { + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { if (tag.contains(TAG_CLIENT_FILTER) && tag.contains(TAG_CLIENT_AMOUNT) && tag.contains(TAG_CLIENT_ACTIVE)) { - filter.getFilterContainer().fromTag(tag.getCompound(TAG_CLIENT_FILTER)); + filter.getFilterContainer().fromTag(tag.getCompound(TAG_CLIENT_FILTER), provider); currentAmount = tag.getLong(TAG_CLIENT_AMOUNT); currentlyActive = tag.getBoolean(TAG_CLIENT_ACTIVE); } - super.load(tag); + super.loadAdditional(tag, provider); } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); - filter.load(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); + filter.load(tag, provider); } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - filter.getFilterContainer().writeToUpdatePacket(buf); + public ResourceContainerData getMenuData() { + return ResourceContainerData.of(filter.getFilterContainer()); + } + + @Override + public StreamEncoder getMenuCodec() { + return ResourceContainerData.STREAM_CODEC; } @Override @@ -301,9 +308,9 @@ public ClientboundBlockEntityDataPacket getUpdatePacket() { } @Override - public CompoundTag getUpdateTag() { + public CompoundTag getUpdateTag(final HolderLookup.Provider provider) { final CompoundTag tag = new CompoundTag(); - tag.put(TAG_CLIENT_FILTER, filter.getFilterContainer().toTag()); + tag.put(TAG_CLIENT_FILTER, filter.getFilterContainer().toTag(provider)); tag.putLong(TAG_CLIENT_AMOUNT, currentAmount); tag.putBoolean(TAG_CLIENT_ACTIVE, currentlyActive); return tag; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorContainerMenu.java index 6d52fd1aa..58f1defc2 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/storagemonitor/StorageMonitorContainerMenu.java @@ -9,9 +9,9 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ResourceSlot; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ResourceSlotType; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -21,12 +21,13 @@ public class StorageMonitorContainerMenu extends AbstractResourceContainerMenu { private static final Component FILTER_HELP = createTranslation("gui", "storage_monitor.filter_help"); - public StorageMonitorContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { + public StorageMonitorContainerMenu(final int syncId, + final Inventory playerInventory, + final ResourceContainerData resourceContainerData) { super(Menus.INSTANCE.getStorageMonitor(), syncId); registerProperty(new ClientProperty<>(PropertyTypes.FUZZY_MODE, false)); registerProperty(new ClientProperty<>(PropertyTypes.REDSTONE_MODE, RedstoneMode.IGNORE)); - addSlots(playerInventory, ResourceContainerImpl.createForFilter(1)); - initializeResourceSlots(buf); + addSlots(playerInventory, ResourceContainerImpl.createForFilter(resourceContainerData)); } StorageMonitorContainerMenu(final int syncId, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractBaseBlock.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractBaseBlock.java index 220180bcf..fc99345dc 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractBaseBlock.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractBaseBlock.java @@ -11,8 +11,11 @@ import javax.annotation.Nullable; import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundSource; +import net.minecraft.tags.TagKey; import net.minecraft.world.Containers; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -20,6 +23,7 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; @@ -35,6 +39,11 @@ import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; public abstract class AbstractBaseBlock extends Block { + private static final TagKey WRENCH_TAG = TagKey.create( + Registries.ITEM, + ResourceLocation.fromNamespaceAndPath("c", "tools/wrench") + ); + protected AbstractBaseBlock(final Properties properties) { super(properties); registerDefaultState(getDefaultState()); @@ -45,15 +54,13 @@ protected BlockState getDefaultState() { } @Override - @SuppressWarnings("deprecation") - public InteractionResult use(final BlockState state, - final Level level, - final BlockPos pos, - final Player player, - final InteractionHand hand, - final BlockHitResult hit) { - return tryOpenScreen(state, level, pos, player, hit.getLocation()) - .orElseGet(() -> super.use(state, level, pos, player, hand, hit)); + public InteractionResult useWithoutItem(final BlockState state, + final Level level, + final BlockPos pos, + final Player player, + final BlockHitResult hitResult) { + return tryOpenScreen(state, level, pos, player, hitResult.getLocation()) + .orElseGet(() -> super.useWithoutItem(state, level, pos, player, hitResult)); } @Nullable @@ -100,7 +107,7 @@ private void tryOpenScreen(final ServerPlayer player, final MenuProvider menuPro @SuppressWarnings("deprecation") public MenuProvider getMenuProvider(final BlockState state, final Level level, final BlockPos pos) { final BlockEntity blockEntity = level.getBlockEntity(pos); - return blockEntity instanceof MenuProvider factory ? factory : null; + return blockEntity instanceof MenuProvider provider ? provider : null; } @Override @@ -202,7 +209,7 @@ protected BlockState getRotatedBlockState(final BlockState state, final Level le } private boolean isWrench(final ItemStack item) { - return item.is(Platform.INSTANCE.getWrenchTag()); + return item.is(WRENCH_TAG); } private boolean dismantle(final BlockState state, @@ -220,7 +227,7 @@ private boolean dismantle(final BlockState state, } final ItemStack stack = Platform.INSTANCE.getCloneItemStack(state, level, hitResult, player); if (blockEntity != null) { - blockEntity.saveToItem(stack); + blockEntity.saveToItem(stack, level.registryAccess()); // Ensure that we don't drop items level.removeBlockEntity(hitResult.getBlockPos()); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractDirectionalCableBlock.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractDirectionalCableBlock.java index f7651d654..4df5bd2bc 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractDirectionalCableBlock.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractDirectionalCableBlock.java @@ -77,11 +77,7 @@ protected BlockState getRotatedBlockState(final BlockState state, final Level le } @Override - @SuppressWarnings("deprecation") - public boolean isPathfindable(final BlockState state, - final BlockGetter world, - final BlockPos pos, - final PathComputationType type) { + protected boolean isPathfindable(final BlockState state, final PathComputationType type) { return false; } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractSafeSavedData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractSafeSavedData.java index 82308ca32..0e3a6b211 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractSafeSavedData.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/AbstractSafeSavedData.java @@ -8,6 +8,7 @@ import java.nio.file.StandardCopyOption; import com.mojang.logging.LogUtils; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtIo; import net.minecraft.nbt.NbtUtils; @@ -18,14 +19,14 @@ public abstract class AbstractSafeSavedData extends SavedData { private static final Logger LOGGER = LogUtils.getLogger(); @Override - public void save(final File file) { + public void save(final File file, final HolderLookup.Provider provider) { if (!isDirty()) { return; } final var targetPath = file.toPath().toAbsolutePath(); final var tempFile = targetPath.getParent().resolve(file.getName() + ".temp"); final CompoundTag compoundTag = new CompoundTag(); - compoundTag.put("data", this.save(new CompoundTag())); + compoundTag.put("data", this.save(new CompoundTag(), provider)); NbtUtils.addCurrentDataVersion(compoundTag); try { doSave(compoundTag, tempFile, targetPath); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/BlockEntityWithDrops.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/BlockEntityWithDrops.java index e8a676aad..21367032b 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/BlockEntityWithDrops.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/BlockEntityWithDrops.java @@ -3,6 +3,7 @@ import net.minecraft.core.NonNullList; import net.minecraft.world.item.ItemStack; +@FunctionalInterface public interface BlockEntityWithDrops { NonNullList getDrops(); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/FilterWithFuzzyMode.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/FilterWithFuzzyMode.java index 8008773f9..88453f9bc 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/FilterWithFuzzyMode.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/FilterWithFuzzyMode.java @@ -10,6 +10,7 @@ import java.util.function.UnaryOperator; import javax.annotation.Nullable; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; public final class FilterWithFuzzyMode { @@ -61,9 +62,9 @@ public void setFuzzyMode(final boolean fuzzyMode) { } } - public void load(final CompoundTag tag) { + public void load(final CompoundTag tag, final HolderLookup.Provider provider) { if (tag.contains(TAG_RESOURCE_FILTER)) { - filterContainer.fromTag(tag.getCompound(TAG_RESOURCE_FILTER)); + filterContainer.fromTag(tag.getCompound(TAG_RESOURCE_FILTER), provider); } if (tag.contains(TAG_FUZZY_MODE)) { fuzzyMode = tag.getBoolean(TAG_FUZZY_MODE); @@ -80,9 +81,9 @@ private void notifyListeners() { } } - public void save(final CompoundTag tag) { + public void save(final CompoundTag tag, final HolderLookup.Provider provider) { tag.putBoolean(TAG_FUZZY_MODE, fuzzyMode); - tag.put(TAG_RESOURCE_FILTER, filterContainer.toTag()); + tag.put(TAG_RESOURCE_FILTER, filterContainer.toTag(provider)); } public UnaryOperator createNormalizer() { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/NetworkNodeBlockItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/NetworkNodeBlockItem.java index ef29acba8..82e9d94de 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/NetworkNodeBlockItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/NetworkNodeBlockItem.java @@ -11,10 +11,6 @@ import net.minecraft.world.level.block.state.BlockState; public class NetworkNodeBlockItem extends BaseBlockItem { - public NetworkNodeBlockItem(final Block block) { - super(block); - } - public NetworkNodeBlockItem(final Block block, final Component helpText) { super(block, helpText); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/ServerToClientCommunications.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/ServerToClientCommunications.java deleted file mode 100644 index 6ed54994f..000000000 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/ServerToClientCommunications.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.support; - -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; -import com.refinedmods.refinedstorage2.platform.api.storage.StorageInfo; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterStatus; - -import java.util.UUID; -import javax.annotation.Nullable; - -import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; - -public interface ServerToClientCommunications { - void sendEnergyInfo(ServerPlayer player, long stored, long capacity); - - void sendWirelessTransmitterRange(ServerPlayer player, int range); - - void sendGridActiveness(ServerPlayer player, boolean active); - - void sendGridUpdate(ServerPlayer player, - PlatformResourceKey resource, - long change, - @Nullable TrackedResource trackedResource); - - void sendGridClear(ServerPlayer player); - - void sendResourceSlotUpdate(ServerPlayer player, - @Nullable ResourceAmount resourceAmount, - int slotIndex); - - void sendStorageInfoResponse(ServerPlayer player, UUID id, StorageInfo storageInfo); - - void sendNetworkTransmitterStatus(ServerPlayer player, NetworkTransmitterStatus status); - - void sendNoPermission(ServerPlayer player, Component message); -} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/amount/AbstractAmountScreen.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/amount/AbstractAmountScreen.java index 6656ef050..51dcf7d9c 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/amount/AbstractAmountScreen.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/amount/AbstractAmountScreen.java @@ -166,7 +166,9 @@ private void changeAmount(final int delta) { } private int correctDelta(final N oldAmount, final int delta) { - if (oldAmount.intValue() == 1 && delta > 0) { + // if we do +10, and the current value is 1, we want to end up with 10, not 11 + // if we do +1, and the current value is 1, we want to end up with 2 + if (oldAmount.intValue() == 1 && delta > 1) { return delta - 1; } return delta; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractResourceContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractResourceContainerMenu.java index d5ce5eef0..4c1030f16 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractResourceContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractResourceContainerMenu.java @@ -2,15 +2,14 @@ import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.support.AbstractBaseContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.C2SPackets; import java.util.ArrayList; import java.util.List; import java.util.Optional; import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.inventory.Slot; @@ -31,12 +30,6 @@ protected AbstractResourceContainerMenu(@Nullable final MenuType type, final this.player = null; } - protected void initializeResourceSlots(final FriendlyByteBuf buf) { - for (final ResourceSlot resourceSlot : resourceSlots) { - resourceSlot.readFromUpdatePacket(buf); - } - } - private Optional getResourceSlot(final int slotIndex) { if (slotIndex < 0 || slotIndex >= slots.size()) { return Optional.empty(); @@ -60,7 +53,7 @@ public void handleResourceSlotChange(final int slotIndex, final boolean tryAlter } public void sendResourceSlotChange(final int slotIndex, final boolean tryAlternatives) { - Platform.INSTANCE.getClientToServerCommunications().sendResourceSlotChange(slotIndex, tryAlternatives); + C2SPackets.sendResourceSlotChange(slotIndex, tryAlternatives); } public void handleResourceSlotAmountChange(final int slotIndex, final long amount) { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSchedulingContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSchedulingContainerMenu.java index fc8b301a9..5ccbd32ae 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSchedulingContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSchedulingContainerMenu.java @@ -4,10 +4,10 @@ import com.refinedmods.refinedstorage2.platform.common.support.RedstoneMode; import com.refinedmods.refinedstorage2.platform.common.support.SchedulingModeType; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractSchedulingNetworkNodeContainerBlockEntity; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeContainer; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.MenuType; @@ -27,10 +27,10 @@ protected AbstractSchedulingContainerMenu(final MenuType type, protected AbstractSchedulingContainerMenu(final MenuType type, final int syncId, final Player player, - final FriendlyByteBuf buf, + final ResourceContainerData resourceContainerData, final UpgradeDestinations upgradeDestination, final Component filterHelp) { - super(type, syncId, player, buf, upgradeDestination, filterHelp); + super(type, syncId, player, resourceContainerData, upgradeDestination, filterHelp); } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSimpleFilterContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSimpleFilterContainerMenu.java index 385536763..bfef87943 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSimpleFilterContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSimpleFilterContainerMenu.java @@ -2,6 +2,7 @@ import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceContainer; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeContainer; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; @@ -9,7 +10,6 @@ import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.MenuType; @@ -39,7 +39,7 @@ protected AbstractSimpleFilterContainerMenu(final MenuType type, protected AbstractSimpleFilterContainerMenu(final MenuType type, final int syncId, final Player player, - final FriendlyByteBuf buf, + final ResourceContainerData resourceContainerData, @Nullable final UpgradeDestinations upgradeDestination, final Component filterHelp) { super(type, syncId); @@ -47,12 +47,11 @@ protected AbstractSimpleFilterContainerMenu(final MenuType type, registerClientProperties(); addSlots( player, - ResourceContainerImpl.createForFilter(), + ResourceContainerImpl.createForFilter(resourceContainerData), upgradeDestination == null ? null : new UpgradeContainer(upgradeDestination, PlatformApi.INSTANCE.getUpgradeRegistry()) ); - initializeResourceSlots(buf); } protected abstract void registerClientProperties(); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSingleAmountContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSingleAmountContainerMenu.java index 43ebc8c3f..36be68320 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSingleAmountContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/AbstractSingleAmountContainerMenu.java @@ -1,14 +1,12 @@ package com.refinedmods.refinedstorage2.platform.common.support.containermenu; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceContainer; -import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.C2SPackets; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -22,16 +20,16 @@ public abstract class AbstractSingleAmountContainerMenu extends AbstractResource protected AbstractSingleAmountContainerMenu(final MenuType type, final int syncId, final Inventory playerInventory, - final FriendlyByteBuf buf, + final SingleAmountData singleAmountData, final Component filterHelpText) { super(type, syncId); - if (buf.readBoolean()) { - disabledSlot = PlatformApi.INSTANCE.getSlotReference(buf).orElse(null); - } - this.clientAmount = buf.readDouble(); + this.disabledSlot = singleAmountData.slotReference().orElse(null); + this.clientAmount = singleAmountData.amount(); this.filterHelpText = filterHelpText; - addSlots(playerInventory.player, ResourceContainerImpl.createForFilter(1)); - initializeResourceSlots(buf); + addSlots( + playerInventory.player, + ResourceContainerImpl.createForFilter(singleAmountData.resourceContainerData()) + ); } protected AbstractSingleAmountContainerMenu(final MenuType type, @@ -46,7 +44,8 @@ protected AbstractSingleAmountContainerMenu(final MenuType type, addSlots(player, resourceContainer); } - private void addSlots(final Player player, final ResourceContainer resourceContainer) { + private void addSlots(final Player player, + final ResourceContainer resourceContainer) { addSlot(new ResourceSlot(resourceContainer, 0, filterHelpText, 116, 47, ResourceSlotType.FILTER)); addPlayerInventory(player.getInventory(), 8, 106); transferManager.addFilterTransfer(player.getInventory()); @@ -57,23 +56,9 @@ public double getAmount() { } public void changeAmountOnClient(final double newAmount) { - Platform.INSTANCE.getClientToServerCommunications().sendSingleAmountChange(newAmount); + C2SPackets.sendSingleAmountChange(newAmount); this.clientAmount = newAmount; } public abstract void changeAmountOnServer(double newAmount); - - public static void writeToBuf(final FriendlyByteBuf buf, - final double amount, - final ResourceContainer container, - @Nullable final SlotReference disabledSlotReference) { - if (disabledSlotReference != null) { - buf.writeBoolean(true); - PlatformApi.INSTANCE.writeSlotReference(disabledSlotReference, buf); - } else { - buf.writeBoolean(false); - } - buf.writeDouble(amount); - container.writeToUpdatePacket(buf); - } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ClientProperty.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ClientProperty.java index d78d56b35..9fd18d0e9 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ClientProperty.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ClientProperty.java @@ -1,6 +1,6 @@ package com.refinedmods.refinedstorage2.platform.common.support.containermenu; -import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.C2SPackets; import net.minecraft.world.inventory.DataSlot; @@ -26,7 +26,7 @@ public T getValue() { } public void setValue(final T newValue) { - Platform.INSTANCE.getClientToServerCommunications().sendPropertyChange(type, newValue); + C2SPackets.sendPropertyChange(type, newValue); } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ExtendedMenuProvider.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ExtendedMenuProvider.java index 95e91f4aa..e95dcba18 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ExtendedMenuProvider.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ExtendedMenuProvider.java @@ -1,9 +1,11 @@ package com.refinedmods.refinedstorage2.platform.common.support.containermenu; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.world.MenuProvider; -public interface ExtendedMenuProvider extends MenuProvider { - void writeScreenOpeningData(ServerPlayer player, FriendlyByteBuf buf); +public interface ExtendedMenuProvider extends MenuProvider { + T getMenuData(); + + StreamEncoder getMenuCodec(); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/NetworkNodeExtendedMenuProvider.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/NetworkNodeExtendedMenuProvider.java new file mode 100644 index 000000000..38d6bf9f8 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/NetworkNodeExtendedMenuProvider.java @@ -0,0 +1,4 @@ +package com.refinedmods.refinedstorage2.platform.common.support.containermenu; + +public interface NetworkNodeExtendedMenuProvider extends ExtendedMenuProvider, NetworkNodeMenuProvider { +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/NetworkNodeMenuProvider.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/NetworkNodeMenuProvider.java index f8b3338d3..e0f1fa2b1 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/NetworkNodeMenuProvider.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/NetworkNodeMenuProvider.java @@ -7,8 +7,9 @@ import java.util.Set; import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.MenuProvider; -public interface NetworkNodeMenuProvider extends ExtendedMenuProvider { +public interface NetworkNodeMenuProvider extends MenuProvider { Set getContainers(); default boolean canOpen(final ServerPlayer player) { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ResourceSlot.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ResourceSlot.java index f46202352..7ead68ef6 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ResourceSlot.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/ResourceSlot.java @@ -5,13 +5,13 @@ import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceContainer; import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceFactory; -import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.C2SPackets; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.S2CPackets; import java.util.Objects; import java.util.Set; import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.Container; @@ -159,7 +159,7 @@ public void changeAmountOnClient(final double amount) { return; } final long normalizedAmount = resource.getResourceType().normalizeAmount(amount); - Platform.INSTANCE.getClientToServerCommunications().sendResourceSlotAmountChange(index, normalizedAmount); + C2SPackets.sendResourceSlotAmountChange(index, normalizedAmount); } public boolean contains(final ItemStack stack) { @@ -176,11 +176,7 @@ public void broadcastChanges(final Player player) { } private void broadcastChange(final ServerPlayer player, @Nullable final ResourceAmount contents) { - Platform.INSTANCE.getServerToClientCommunications().sendResourceSlotUpdate(player, contents, index); - } - - public void readFromUpdatePacket(final FriendlyByteBuf buf) { - resourceContainer.readFromUpdatePacket(getContainerSlot(), buf); + S2CPackets.sendResourceSlotUpdate(player, contents, index); } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/SingleAmountData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/SingleAmountData.java new file mode 100644 index 000000000..1d2a9389f --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/containermenu/SingleAmountData.java @@ -0,0 +1,22 @@ +package com.refinedmods.refinedstorage2.platform.common.support.containermenu; + +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReferenceFactory; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; + +import java.util.Optional; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record SingleAmountData(Optional slotReference, + double amount, + ResourceContainerData resourceContainerData) { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.optional(SlotReferenceFactory.STREAM_CODEC), SingleAmountData::slotReference, + ByteBufCodecs.DOUBLE, SingleAmountData::amount, + ResourceContainerData.STREAM_CODEC, SingleAmountData::resourceContainerData, + SingleAmountData::new + ); +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/EnergyInfo.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/EnergyInfo.java index df26a4ee0..944dcfaff 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/EnergyInfo.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/EnergyInfo.java @@ -1,6 +1,6 @@ package com.refinedmods.refinedstorage2.platform.common.support.energy; -import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.S2CPackets; import java.util.Collections; import java.util.List; @@ -46,11 +46,7 @@ public void detectChanges() { final boolean changed = stored != newStored || capacity != newCapacity; if (changed && rateLimiter.tryAcquire()) { setEnergy(newStored, newCapacity); - Platform.INSTANCE.getServerToClientCommunications().sendEnergyInfo( - (ServerPlayer) player, - newStored, - newCapacity - ); + S2CPackets.sendEnergyInfo((ServerPlayer) player, newStored, newCapacity); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/EnergyLootItemFunction.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/EnergyLootItemFunction.java index 59c6157ea..7aae06d83 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/EnergyLootItemFunction.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/EnergyLootItemFunction.java @@ -14,7 +14,7 @@ public class EnergyLootItemFunction implements LootItemFunction { @Override - public LootItemFunctionType getType() { + public LootItemFunctionType getType() { return LootFunctions.INSTANCE.getEnergy(); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/ItemBlockEnergyStorage.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/ItemBlockEnergyStorage.java index 6a516e92b..eed24b2cd 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/ItemBlockEnergyStorage.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/ItemBlockEnergyStorage.java @@ -4,9 +4,11 @@ import com.refinedmods.refinedstorage2.api.network.energy.EnergyStorage; import com.refinedmods.refinedstorage2.api.network.impl.energy.AbstractListeningEnergyStorage; +import net.minecraft.core.component.DataComponents; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.CustomData; import net.minecraft.world.level.block.entity.BlockEntityType; public class ItemBlockEnergyStorage extends AbstractListeningEnergyStorage { @@ -21,18 +23,16 @@ public ItemBlockEnergyStorage(final EnergyStorage energyStorage, super(energyStorage); this.stack = stack; this.blockEntityType = blockEntityType; - final CompoundTag tag = BlockItem.getBlockEntityData(stack); - if (tag != null) { - readFromTag(energyStorage, tag); + final CustomData customData = stack.get(DataComponents.BLOCK_ENTITY_DATA); + if (customData != null) { + readFromTag(energyStorage, customData.copyTag()); } } @Override protected void onStoredChanged(final long stored) { - CompoundTag tag = BlockItem.getBlockEntityData(stack); - if (tag == null) { - tag = new CompoundTag(); - } + final CustomData customData = stack.get(DataComponents.BLOCK_ENTITY_DATA); + final CompoundTag tag = customData == null ? new CompoundTag() : customData.copyTag(); writeToTag(tag, stored); BlockItem.setBlockEntityData(stack, blockEntityType, tag); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/ItemEnergyStorage.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/ItemEnergyStorage.java index f9b714cb0..d095707b3 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/ItemEnergyStorage.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/energy/ItemEnergyStorage.java @@ -3,25 +3,24 @@ import com.refinedmods.refinedstorage2.api.core.Action; import com.refinedmods.refinedstorage2.api.network.energy.EnergyStorage; import com.refinedmods.refinedstorage2.api.network.impl.energy.AbstractListeningEnergyStorage; +import com.refinedmods.refinedstorage2.platform.common.content.DataComponents; import net.minecraft.world.item.ItemStack; public class ItemEnergyStorage extends AbstractListeningEnergyStorage { - private static final String TAG_STORED = "stored"; - private final ItemStack stack; public ItemEnergyStorage(final ItemStack stack, final EnergyStorage delegate) { super(delegate); this.stack = stack; - final long stored = stack.getTag() != null ? stack.getTag().getLong(TAG_STORED) : 0; - if (stored > 0) { + final Long stored = stack.get(DataComponents.INSTANCE.getEnergy()); + if (stored != null && stored > 0) { delegate.receive(stored, Action.EXECUTE); } } @Override protected void onStoredChanged(final long stored) { - stack.getOrCreateTag().putLong(TAG_STORED, stored); + stack.set(DataComponents.INSTANCE.getEnergy(), stored); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractRedstoneModeNetworkNodeContainerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractRedstoneModeNetworkNodeContainerBlockEntity.java index e54dbc67a..3666e983d 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractRedstoneModeNetworkNodeContainerBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractRedstoneModeNetworkNodeContainerBlockEntity.java @@ -12,6 +12,7 @@ import javax.annotation.Nullable; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.player.Player; @@ -42,30 +43,30 @@ protected boolean calculateActive() { } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - writeConfiguration(tag); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + writeConfiguration(tag, provider); if (placedByPlayerId != null) { tag.putUUID(TAG_PLACED_BY_PLAYER_ID, placedByPlayerId); } } @Override - public void writeConfiguration(final CompoundTag tag) { + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { tag.putInt(TAG_REDSTONE_MODE, RedstoneModeSettings.getRedstoneMode(getRedstoneMode())); } @Override - public void load(final CompoundTag tag) { - super.load(tag); - readConfiguration(tag); + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.loadAdditional(tag, provider); + readConfiguration(tag, provider); if (tag.hasUUID(TAG_PLACED_BY_PLAYER_ID)) { placedByPlayerId = tag.getUUID(TAG_PLACED_BY_PLAYER_ID); } } @Override - public void readConfiguration(final CompoundTag tag) { + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { if (tag.contains(TAG_REDSTONE_MODE)) { redstoneMode = RedstoneModeSettings.getRedstoneMode(tag.getInt(TAG_REDSTONE_MODE)); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractSchedulingNetworkNodeContainerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractSchedulingNetworkNodeContainerBlockEntity.java index df09b565f..de140b737 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractSchedulingNetworkNodeContainerBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractSchedulingNetworkNodeContainerBlockEntity.java @@ -6,23 +6,25 @@ import com.refinedmods.refinedstorage2.platform.common.support.FilterWithFuzzyMode; import com.refinedmods.refinedstorage2.platform.common.support.SchedulingMode; import com.refinedmods.refinedstorage2.platform.common.support.SchedulingModeType; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; import java.util.List; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; public abstract class AbstractSchedulingNetworkNodeContainerBlockEntity extends AbstractUpgradeableNetworkNodeContainerBlockEntity - implements NetworkNodeMenuProvider { + implements NetworkNodeExtendedMenuProvider { protected final FilterWithFuzzyMode filter; private final SchedulingMode schedulingMode; @@ -43,17 +45,17 @@ protected AbstractSchedulingNetworkNodeContainerBlockEntity( } @Override - public void writeConfiguration(final CompoundTag tag) { - super.writeConfiguration(tag); + public void writeConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.writeConfiguration(tag, provider); schedulingMode.writeToTag(tag); - filter.save(tag); + filter.save(tag, provider); } @Override - public void readConfiguration(final CompoundTag tag) { - super.readConfiguration(tag); + public void readConfiguration(final CompoundTag tag, final HolderLookup.Provider provider) { + super.readConfiguration(tag, provider); schedulingMode.load(tag); - filter.load(tag); + filter.load(tag, provider); } public void setSchedulingModeType(final SchedulingModeType type) { @@ -76,8 +78,13 @@ public void setFuzzyMode(final boolean fuzzyMode) { } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - filter.getFilterContainer().writeToUpdatePacket(buf); + public ResourceContainerData getMenuData() { + return ResourceContainerData.of(filter.getFilterContainer()); + } + + @Override + public StreamEncoder getMenuCodec() { + return ResourceContainerData.STREAM_CODEC; } protected abstract void setTaskExecutor(TaskExecutor taskExecutor); diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractUpgradeableNetworkNodeContainerBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractUpgradeableNetworkNodeContainerBlockEntity.java index e98174976..1b6c5ff59 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractUpgradeableNetworkNodeContainerBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/AbstractUpgradeableNetworkNodeContainerBlockEntity.java @@ -11,6 +11,7 @@ import java.util.List; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; @@ -88,18 +89,18 @@ public boolean addUpgradeItem(final Item upgradeItem) { } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - tag.put(TAG_UPGRADES, upgradeContainer.createTag()); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + tag.put(TAG_UPGRADES, upgradeContainer.createTag(provider)); } @Override - public void load(final CompoundTag tag) { + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { if (tag.contains(TAG_UPGRADES)) { - upgradeContainer.fromTag(tag.getList(TAG_UPGRADES, Tag.TAG_COMPOUND)); + upgradeContainer.fromTag(tag.getList(TAG_UPGRADES, Tag.TAG_COMPOUND), provider); } configureAccordingToUpgrades(); - super.load(tag); + super.loadAdditional(tag, provider); } private void configureAccordingToUpgrades() { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/InventorySlotReference.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/InventorySlotReference.java index dfa9b0a6e..18496014e 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/InventorySlotReference.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/InventorySlotReference.java @@ -5,14 +5,13 @@ import java.util.Optional; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; public final class InventorySlotReference implements SlotReference { - private final int slotIndex; + final int slotIndex; InventorySlotReference(final int slotIndex) { this.slotIndex = slotIndex; @@ -37,11 +36,6 @@ public boolean isDisabledSlot(final int playerSlotIndex) { return playerSlotIndex == slotIndex; } - @Override - public void writeToBuffer(final FriendlyByteBuf buf) { - buf.writeInt(slotIndex); - } - public static SlotReference of(final Player player, final InteractionHand hand) { return new InventorySlotReference(hand == InteractionHand.MAIN_HAND ? player.getInventory().selected diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/InventorySlotReferenceFactory.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/InventorySlotReferenceFactory.java index 98c1b76c8..2173165b9 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/InventorySlotReferenceFactory.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/InventorySlotReferenceFactory.java @@ -3,16 +3,25 @@ import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReferenceFactory; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; public class InventorySlotReferenceFactory implements SlotReferenceFactory { public static final SlotReferenceFactory INSTANCE = new InventorySlotReferenceFactory(); + private static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.INT, slotReference -> slotReference.slotIndex, + InventorySlotReference::new + ); + private InventorySlotReferenceFactory() { } @Override - public SlotReference create(final FriendlyByteBuf buf) { - return new InventorySlotReference(buf.readInt()); + @SuppressWarnings({"rawtypes", "unchecked"}) + public StreamCodec getStreamCodec() { + return (StreamCodec) STREAM_CODEC; } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemHelperImpl.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemHelperImpl.java index 2e67583a4..94b3d3f28 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemHelperImpl.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemHelperImpl.java @@ -5,19 +5,15 @@ import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.NetworkBoundItemSession; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.NetworkBoundItemTargetBlockEntity; import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; +import com.refinedmods.refinedstorage2.platform.common.content.DataComponents; import java.util.List; -import java.util.Objects; import java.util.Optional; import net.minecraft.ChatFormatting; -import net.minecraft.core.BlockPos; -import net.minecraft.core.registries.Registries; -import net.minecraft.nbt.CompoundTag; +import net.minecraft.core.GlobalPos; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionResult; import net.minecraft.world.inventory.tooltip.TooltipComponent; @@ -32,23 +28,14 @@ public class NetworkBoundItemHelperImpl implements NetworkBoundItemHelper { .withStyle(ChatFormatting.RED); private static final Component UNBOUND_HELP = createTranslation("item", "network_item.unbound.help"); - private static final String TAG_X = "x"; - private static final String TAG_Y = "y"; - private static final String TAG_Z = "z"; - private static final String TAG_DIMENSION = "dim"; - @Override public boolean isBound(final ItemStack stack) { - final CompoundTag tag = stack.getTag(); - if (tag == null) { - return false; - } - return tag.contains(TAG_X) && tag.contains(TAG_Y) && tag.contains(TAG_Z) && tag.contains(TAG_DIMENSION); + return stack.has(DataComponents.INSTANCE.getNetworkLocation()); } @Override public void addTooltip(final ItemStack stack, final List lines) { - getNetworkReference(stack).ifPresentOrElse( + getNetworkLocation(stack).ifPresentOrElse( network -> lines.add(createTranslation( "item", "network_item.bound_to", @@ -70,11 +57,8 @@ public InteractionResult bind(final UseOnContext ctx) { if (!(blockEntity instanceof NetworkBoundItemTargetBlockEntity)) { return InteractionResult.PASS; } - final CompoundTag tag = stack.getOrCreateTag(); - tag.putInt(TAG_X, blockEntity.getBlockPos().getX()); - tag.putInt(TAG_Y, blockEntity.getBlockPos().getY()); - tag.putInt(TAG_Z, blockEntity.getBlockPos().getZ()); - tag.putString(TAG_DIMENSION, ctx.getLevel().dimension().location().toString()); + final GlobalPos pos = GlobalPos.of(ctx.getLevel().dimension(), blockEntity.getBlockPos()); + stack.set(DataComponents.INSTANCE.getNetworkLocation(), pos); return InteractionResult.SUCCESS; } @@ -90,26 +74,15 @@ public Optional getTooltipImage(final ItemStack stack) { public NetworkBoundItemSession openSession(final ItemStack stack, final ServerPlayer player, final SlotReference slotReference) { - final Optional networkReference = getNetworkReference(stack); + final Optional location = getNetworkLocation(stack); return new NetworkBoundItemSessionImpl( player, slotReference, - networkReference.orElse(null) + location.orElse(null) ); } - private Optional getNetworkReference(final ItemStack stack) { - if (!isBound(stack)) { - return Optional.empty(); - } - final CompoundTag tag = Objects.requireNonNull(stack.getTag()); - final int x = tag.getInt(TAG_X); - final int y = tag.getInt(TAG_Y); - final int z = tag.getInt(TAG_Z); - final ResourceLocation dimension = new ResourceLocation(tag.getString(TAG_DIMENSION)); - return Optional.of(new NetworkBoundItemSessionImpl.NetworkReference( - ResourceKey.create(Registries.DIMENSION, dimension), - new BlockPos(x, y, z) - )); + private Optional getNetworkLocation(final ItemStack stack) { + return Optional.ofNullable(stack.get(DataComponents.INSTANCE.getNetworkLocation())); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemItemPropertyFunction.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemItemPropertyFunction.java index 5261c73ab..311c67550 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemItemPropertyFunction.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemItemPropertyFunction.java @@ -10,8 +10,10 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + public class NetworkBoundItemItemPropertyFunction implements ClampedItemPropertyFunction { - public static final ResourceLocation NAME = new ResourceLocation("active"); + public static final ResourceLocation NAME = createIdentifier("network_bound_active"); @Override public float unclampedCall(final ItemStack itemStack, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemSessionImpl.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemSessionImpl.java index dccc47afd..d124dbcc2 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemSessionImpl.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/network/bounditem/NetworkBoundItemSessionImpl.java @@ -12,10 +12,8 @@ import java.util.Optional; import javax.annotation.Nullable; -import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceKey; +import net.minecraft.core.GlobalPos; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; class NetworkBoundItemSessionImpl implements NetworkBoundItemSession { @@ -23,12 +21,12 @@ class NetworkBoundItemSessionImpl implements NetworkBoundItemSession { private final Vec3 playerPosition; private final SlotReference slotReference; @Nullable - private final NetworkReference networkReference; + private final GlobalPos networkLocation; NetworkBoundItemSessionImpl( final Player player, final SlotReference slotReference, - @Nullable final NetworkReference networkReference + @Nullable final GlobalPos networkLocation ) { this.player = player; // We copy the player position as it can change after opening the network bound item (opening while walking) @@ -37,18 +35,18 @@ class NetworkBoundItemSessionImpl implements NetworkBoundItemSession { // be removed after it was added). this.playerPosition = new Vec3(player.position().x, player.position().y, player.position().z); this.slotReference = slotReference; - this.networkReference = networkReference; + this.networkLocation = networkLocation; } @Override public Optional resolveNetwork() { - if (networkReference == null) { + if (networkLocation == null) { return Optional.empty(); } return Optional.ofNullable(player.getServer()) - .map(server -> server.getLevel(networkReference.dimensionKey())) - .filter(level -> level.isLoaded(networkReference.pos())) - .map(level -> level.getBlockEntity(networkReference.pos())) + .map(server -> server.getLevel(networkLocation.dimension())) + .filter(level -> level.isLoaded(networkLocation.pos())) + .map(level -> level.getBlockEntity(networkLocation.pos())) .filter(NetworkBoundItemTargetBlockEntity.class::isInstance) .map(NetworkBoundItemTargetBlockEntity.class::cast) .map(NetworkBoundItemTargetBlockEntity::getNetworkForBoundItem) @@ -79,7 +77,4 @@ public void drainEnergy(final long amount) { energyStorage -> energyStorage.extract(amount, Action.EXECUTE) ); } - - record NetworkReference(ResourceKey dimensionKey, BlockPos pos) { - } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/PacketContext.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/PacketContext.java new file mode 100644 index 000000000..0bccaf3b6 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/PacketContext.java @@ -0,0 +1,8 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet; + +import net.minecraft.world.entity.player.Player; + +@FunctionalInterface +public interface PacketContext { + Player getPlayer(); +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/PacketHandler.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/PacketHandler.java new file mode 100644 index 000000000..e0d9c7b7c --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/PacketHandler.java @@ -0,0 +1,6 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet; + +@FunctionalInterface +public interface PacketHandler { + void handle(T packet, PacketContext ctx); +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/PacketIds.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/PacketIds.java deleted file mode 100644 index c6a0ec64d..000000000 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/PacketIds.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.support.packet; - -import net.minecraft.resources.ResourceLocation; - -import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; - -public final class PacketIds { - public static final ResourceLocation STORAGE_INFO_RESPONSE = createIdentifier("storage_info_response"); - public static final ResourceLocation STORAGE_INFO_REQUEST = createIdentifier("storage_info_request"); - public static final ResourceLocation ENERGY_INFO = createIdentifier("controller_energy"); - public static final ResourceLocation WIRELESS_TRANSMITTER_RANGE = createIdentifier("wireless_transmitter_range"); - public static final ResourceLocation GRID_ACTIVE = createIdentifier("grid_active"); - public static final ResourceLocation GRID_UPDATE = createIdentifier("grid_update"); - public static final ResourceLocation GRID_CLEAR = createIdentifier("grid_clear"); - public static final ResourceLocation PROPERTY_CHANGE = createIdentifier("property_change"); - public static final ResourceLocation GRID_INSERT = createIdentifier("grid_insert"); - public static final ResourceLocation GRID_EXTRACT = createIdentifier("grid_extract"); - public static final ResourceLocation GRID_SCROLL = createIdentifier("grid_scroll"); - public static final ResourceLocation CRAFTING_GRID_CLEAR = createIdentifier("crafting_grid_clear"); - public static final ResourceLocation CRAFTING_GRID_RECIPE_TRANSFER = - createIdentifier("crafting_grid_recipe_transfer"); - public static final ResourceLocation RESOURCE_SLOT_UPDATE = createIdentifier("resource_slot_update"); - public static final ResourceLocation RESOURCE_SLOT_CHANGE = createIdentifier("resource_slot_change"); - public static final ResourceLocation RESOURCE_FILTER_SLOT_CHANGE = createIdentifier("resource_filter_slot_change"); - public static final ResourceLocation RESOURCE_SLOT_AMOUNT_CHANGE = createIdentifier("resource_slot_amount_change"); - public static final ResourceLocation SINGLE_AMOUNT_CHANGE = createIdentifier("detector_amount_change"); - public static final ResourceLocation USE_NETWORK_BOUND_ITEM = createIdentifier("use_network_bound_item"); - public static final ResourceLocation NETWORK_TRANSMITTER_STATUS = createIdentifier("network_transmitter_status"); - public static final ResourceLocation SECURITY_CARD_PERMISSION = createIdentifier("security_card_permission"); - public static final ResourceLocation SECURITY_CARD_RESET_PERMISSION = createIdentifier( - "security_card_reset_permission" - ); - public static final ResourceLocation SECURITY_CARD_BOUND_PLAYER = createIdentifier("security_card_bound_player"); - public static final ResourceLocation NO_PERMISSION = createIdentifier("no_permission"); - - private PacketIds() { - } -} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/C2SPackets.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/C2SPackets.java new file mode 100644 index 000000000..ecf525671 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/C2SPackets.java @@ -0,0 +1,83 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.api.grid.operations.GridExtractMode; +import com.refinedmods.refinedstorage2.api.grid.operations.GridInsertMode; +import com.refinedmods.refinedstorage2.platform.api.grid.GridScrollMode; +import com.refinedmods.refinedstorage2.platform.api.security.PlatformPermission; +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; +import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; +import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.PropertyType; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; + +import java.util.List; +import java.util.UUID; + +public final class C2SPackets { + private C2SPackets() { + } + + public static void sendGridExtract(final PlatformResourceKey resource, + final GridExtractMode mode, + final boolean cursor) { + Platform.INSTANCE.sendPacketToServer(new GridExtractPacket(resource, mode, cursor)); + } + + public static void sendGridScroll(final PlatformResourceKey resource, + final GridScrollMode mode, + final int slotIndex) { + Platform.INSTANCE.sendPacketToServer(new GridScrollPacket(resource, mode, slotIndex)); + } + + public static void sendGridInsert(final GridInsertMode mode, final boolean tryAlternatives) { + Platform.INSTANCE.sendPacketToServer(new GridInsertPacket(mode, tryAlternatives)); + } + + public static void sendCraftingGridClear(final boolean toPlayerInventory) { + Platform.INSTANCE.sendPacketToServer(new CraftingGridClearPacket(toPlayerInventory)); + } + + public static void sendCraftingGridRecipeTransfer(final List> recipe) { + Platform.INSTANCE.sendPacketToServer(new CraftingGridRecipeTransferPacket(recipe)); + } + + public static void sendPropertyChange(final PropertyType type, final T value) { + Platform.INSTANCE.sendPacketToServer(new PropertyChangePacket(type.id(), type.serializer().apply(value))); + } + + public static void sendStorageInfoRequest(final UUID storageId) { + Platform.INSTANCE.sendPacketToServer(new StorageInfoRequestPacket(storageId)); + } + + public static void sendResourceSlotChange(final int slotIndex, final boolean tryAlternatives) { + Platform.INSTANCE.sendPacketToServer(new ResourceSlotChangePacket(slotIndex, tryAlternatives)); + } + + public static void sendResourceFilterSlotChange(final PlatformResourceKey resource, final int slotIndex) { + Platform.INSTANCE.sendPacketToServer(new ResourceFilterSlotChangePacket(slotIndex, resource)); + } + + public static void sendResourceSlotAmountChange(final int slotIndex, final long amount) { + Platform.INSTANCE.sendPacketToServer(new ResourceSlotAmountChangePacket(slotIndex, amount)); + } + + public static void sendSingleAmountChange(final double amount) { + Platform.INSTANCE.sendPacketToServer(new SingleAmountChangePacket(amount)); + } + + public static void sendUseNetworkBoundItem(final SlotReference slotReference) { + Platform.INSTANCE.sendPacketToServer(new UseNetworkBoundItemPacket(slotReference)); + } + + public static void sendSecurityCardPermission(final PlatformPermission permission, final boolean allowed) { + Platform.INSTANCE.sendPacketToServer(new SecurityCardPermissionPacket(permission, allowed)); + } + + public static void sendSecurityCardResetPermission(final PlatformPermission permission) { + Platform.INSTANCE.sendPacketToServer(new SecurityCardResetPermissionPacket(permission)); + } + + public static void sendSecurityCardBoundPlayer(final UUID playerId) { + Platform.INSTANCE.sendPacketToServer(new SecurityCardBoundPlayerPacket(playerId)); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/CraftingGridClearPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/CraftingGridClearPacket.java new file mode 100644 index 000000000..8fe45f79d --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/CraftingGridClearPacket.java @@ -0,0 +1,31 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.common.grid.CraftingGridContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record CraftingGridClearPacket(boolean toPlayerInventory) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>(createIdentifier("crafting_grid_clear")); + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.BOOL, CraftingGridClearPacket::toPlayerInventory, + CraftingGridClearPacket::new + ); + + public static void handle(final CraftingGridClearPacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof CraftingGridContainerMenu craftingGridContainerMenu) { + craftingGridContainerMenu.clear(packet.toPlayerInventory()); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/CraftingGridRecipeTransferPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/CraftingGridRecipeTransferPacket.java new file mode 100644 index 000000000..18263739d --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/CraftingGridRecipeTransferPacket.java @@ -0,0 +1,40 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.common.grid.CraftingGridContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceCodecs; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record CraftingGridRecipeTransferPacket(List> recipe) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("crafting_grid_recipe_transfer") + ); + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.collection(ArrayList::new, + ByteBufCodecs.collection(ArrayList::new, ResourceCodecs.ITEM_STREAM_CODEC)), + CraftingGridRecipeTransferPacket::recipe, + CraftingGridRecipeTransferPacket::new + ); + + public static void handle(final CraftingGridRecipeTransferPacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof CraftingGridContainerMenu craftingGridContainerMenu) { + craftingGridContainerMenu.transferRecipe(packet.recipe()); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/GridExtractPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/GridExtractPacket.java new file mode 100644 index 000000000..120dcc4d2 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/GridExtractPacket.java @@ -0,0 +1,40 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.api.grid.operations.GridExtractMode; +import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridExtractionStrategy; +import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceCodecs; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; +import static com.refinedmods.refinedstorage2.platform.common.util.PacketUtil.enumStreamCodec; + +public record GridExtractPacket( + PlatformResourceKey resource, + GridExtractMode mode, + boolean cursor +) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>(createIdentifier("grid_extract")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ResourceCodecs.STREAM_CODEC, GridExtractPacket::resource, + enumStreamCodec(GridExtractMode.values()), GridExtractPacket::mode, + ByteBufCodecs.BOOL, GridExtractPacket::cursor, + GridExtractPacket::new + ); + + public static void handle(final GridExtractPacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof GridExtractionStrategy strategy) { + strategy.onExtract(packet.resource, packet.mode, packet.cursor); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/GridInsertPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/GridInsertPacket.java new file mode 100644 index 000000000..2516e63fe --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/GridInsertPacket.java @@ -0,0 +1,33 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.api.grid.operations.GridInsertMode; +import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridInsertionStrategy; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; +import static com.refinedmods.refinedstorage2.platform.common.util.PacketUtil.enumStreamCodec; + +public record GridInsertPacket(GridInsertMode mode, boolean tryAlternatives) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>(createIdentifier("grid_insert")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + enumStreamCodec(GridInsertMode.values()), GridInsertPacket::mode, + ByteBufCodecs.BOOL, GridInsertPacket::tryAlternatives, + GridInsertPacket::new + ); + + public static void handle(final GridInsertPacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof GridInsertionStrategy strategy) { + strategy.onInsert(packet.mode, packet.tryAlternatives); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/GridScrollPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/GridScrollPacket.java new file mode 100644 index 000000000..818b72d4a --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/GridScrollPacket.java @@ -0,0 +1,40 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.api.grid.GridScrollMode; +import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridScrollingStrategy; +import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceCodecs; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; +import static com.refinedmods.refinedstorage2.platform.common.util.PacketUtil.enumStreamCodec; + +public record GridScrollPacket( + PlatformResourceKey resource, + GridScrollMode mode, + int slotIndex +) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>(createIdentifier("grid_scroll")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ResourceCodecs.STREAM_CODEC, GridScrollPacket::resource, + enumStreamCodec(GridScrollMode.values()), GridScrollPacket::mode, + ByteBufCodecs.INT, GridScrollPacket::slotIndex, + GridScrollPacket::new + ); + + public static void handle(final GridScrollPacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof GridScrollingStrategy strategy) { + strategy.onScroll(packet.resource, packet.mode, packet.slotIndex); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/PropertyChangePacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/PropertyChangePacket.java new file mode 100644 index 000000000..9f4e91d33 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/PropertyChangePacket.java @@ -0,0 +1,32 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.common.support.AbstractBaseContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record PropertyChangePacket(ResourceLocation propertyId, int value) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>(createIdentifier("property_change")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ResourceLocation.STREAM_CODEC, PropertyChangePacket::propertyId, + ByteBufCodecs.INT, PropertyChangePacket::value, + PropertyChangePacket::new + ); + + public static void handle(final PropertyChangePacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof AbstractBaseContainerMenu menu) { + menu.receivePropertyChangeFromClient(packet.propertyId, packet.value); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/ResourceFilterSlotChangePacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/ResourceFilterSlotChangePacket.java new file mode 100644 index 000000000..284dc05c1 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/ResourceFilterSlotChangePacket.java @@ -0,0 +1,38 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceCodecs; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; +import static java.util.Objects.requireNonNull; + +public record ResourceFilterSlotChangePacket(int slotIndex, PlatformResourceKey resource) + implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("resource_filter_slot_change") + ); + public static final StreamCodec STREAM_CODEC = StreamCodec + .composite( + ByteBufCodecs.INT, ResourceFilterSlotChangePacket::slotIndex, + ResourceCodecs.STREAM_CODEC, ResourceFilterSlotChangePacket::resource, + ResourceFilterSlotChangePacket::new + ); + + public static void handle(final ResourceFilterSlotChangePacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof AbstractResourceContainerMenu containerMenu) { + containerMenu.handleResourceFilterSlotUpdate(packet.slotIndex, requireNonNull(packet.resource)); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/ResourceSlotAmountChangePacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/ResourceSlotAmountChangePacket.java new file mode 100644 index 000000000..0b585daeb --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/ResourceSlotAmountChangePacket.java @@ -0,0 +1,34 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record ResourceSlotAmountChangePacket(int slotIndex, long amount) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("resource_slot_amount_change") + ); + public static final StreamCodec STREAM_CODEC = StreamCodec + .composite( + ByteBufCodecs.INT, ResourceSlotAmountChangePacket::slotIndex, + ByteBufCodecs.VAR_LONG, ResourceSlotAmountChangePacket::amount, + ResourceSlotAmountChangePacket::new + ); + + public static void handle(final ResourceSlotAmountChangePacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof AbstractResourceContainerMenu containerMenu) { + containerMenu.handleResourceSlotAmountChange(packet.slotIndex, packet.amount); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/ResourceSlotChangePacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/ResourceSlotChangePacket.java new file mode 100644 index 000000000..f7e40d487 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/ResourceSlotChangePacket.java @@ -0,0 +1,34 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record ResourceSlotChangePacket(int slotIndex, boolean tryAlternatives) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("resource_slot_change") + ); + public static final StreamCodec STREAM_CODEC = StreamCodec + .composite( + ByteBufCodecs.INT, ResourceSlotChangePacket::slotIndex, + ByteBufCodecs.BOOL, ResourceSlotChangePacket::tryAlternatives, + ResourceSlotChangePacket::new + ); + + public static void handle(final ResourceSlotChangePacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof AbstractResourceContainerMenu containerMenu) { + containerMenu.handleResourceSlotChange(packet.slotIndex, packet.tryAlternatives); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SecurityCardBoundPlayerPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SecurityCardBoundPlayerPacket.java new file mode 100644 index 000000000..ada869f1f --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SecurityCardBoundPlayerPacket.java @@ -0,0 +1,42 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.common.security.SecurityCardContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import java.util.UUID; + +import net.minecraft.core.UUIDUtil; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.entity.player.Player; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record SecurityCardBoundPlayerPacket(UUID playerId) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("security_card_bound_player") + ); + public static final StreamCodec STREAM_CODEC = StreamCodec + .composite( + UUIDUtil.STREAM_CODEC, SecurityCardBoundPlayerPacket::playerId, + SecurityCardBoundPlayerPacket::new + ); + + public static void handle(final SecurityCardBoundPlayerPacket packet, final PacketContext ctx) { + final Player player = ctx.getPlayer(); + final MinecraftServer server = player.getServer(); + if (server == null) { + return; + } + if (player.containerMenu instanceof SecurityCardContainerMenu securityCardContainerMenu) { + securityCardContainerMenu.setBoundPlayer(server, packet.playerId); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SecurityCardPermissionPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SecurityCardPermissionPacket.java new file mode 100644 index 000000000..62933cb23 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SecurityCardPermissionPacket.java @@ -0,0 +1,37 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.security.PlatformPermission; +import com.refinedmods.refinedstorage2.platform.common.security.AbstractSecurityCardContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record SecurityCardPermissionPacket(PlatformPermission permission, boolean allowed) + implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("security_card_permission") + ); + public static final StreamCodec STREAM_CODEC = StreamCodec + .composite( + PlatformApi.INSTANCE.getPermissionRegistry().streamCodec(), SecurityCardPermissionPacket::permission, + ByteBufCodecs.BOOL, SecurityCardPermissionPacket::allowed, + SecurityCardPermissionPacket::new + ); + + public static void handle(final SecurityCardPermissionPacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof AbstractSecurityCardContainerMenu securityCardContainerMenu) { + securityCardContainerMenu.setPermission(packet.permission, packet.allowed); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SecurityCardResetPermissionPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SecurityCardResetPermissionPacket.java new file mode 100644 index 000000000..d903e0a4f --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SecurityCardResetPermissionPacket.java @@ -0,0 +1,34 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.security.PlatformPermission; +import com.refinedmods.refinedstorage2.platform.common.security.AbstractSecurityCardContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record SecurityCardResetPermissionPacket(PlatformPermission permission) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("security_card_reset_permission") + ); + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + PlatformApi.INSTANCE.getPermissionRegistry().streamCodec(), SecurityCardResetPermissionPacket::permission, + SecurityCardResetPermissionPacket::new + ); + + public static void handle(final SecurityCardResetPermissionPacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof AbstractSecurityCardContainerMenu securityCardContainerMenu) { + securityCardContainerMenu.resetPermissionServer(packet.permission); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SingleAmountChangePacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SingleAmountChangePacket.java new file mode 100644 index 000000000..5f4646a55 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/SingleAmountChangePacket.java @@ -0,0 +1,33 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractSingleAmountContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record SingleAmountChangePacket(double amount) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("single_amount_change") + ); + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.DOUBLE, SingleAmountChangePacket::amount, + SingleAmountChangePacket::new + ); + + public static void handle(final SingleAmountChangePacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof AbstractSingleAmountContainerMenu singleAmountContainerMenu) { + singleAmountContainerMenu.changeAmountOnServer(packet.amount()); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/StorageInfoRequestPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/StorageInfoRequestPacket.java new file mode 100644 index 000000000..932d4c185 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/StorageInfoRequestPacket.java @@ -0,0 +1,41 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.storage.StorageInfo; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.S2CPackets; + +import java.util.UUID; + +import net.minecraft.core.UUIDUtil; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.entity.player.Player; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record StorageInfoRequestPacket(UUID storageId) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("storage_info_request") + ); + public static final StreamCodec STREAM_CODEC = StreamCodec + .composite( + UUIDUtil.STREAM_CODEC, StorageInfoRequestPacket::storageId, + StorageInfoRequestPacket::new + ); + + public static void handle(final StorageInfoRequestPacket packet, final PacketContext ctx) { + final Player player = ctx.getPlayer(); + final StorageInfo info = PlatformApi.INSTANCE + .getStorageRepository(player.getCommandSenderWorld()) + .getInfo(packet.storageId()); + S2CPackets.sendStorageInfoResponse((ServerPlayer) player, packet.storageId, info); + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/UseNetworkBoundItemPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/UseNetworkBoundItemPacket.java new file mode 100644 index 000000000..09fffeb06 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/UseNetworkBoundItemPacket.java @@ -0,0 +1,47 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.support.energy.AbstractNetworkBoundEnergyItem; +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.NetworkBoundItemSession; +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; +import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReferenceFactory; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.entity.player.Player; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record UseNetworkBoundItemPacket(SlotReference slotReference) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("use_network_bound_item") + ); + public static final StreamCodec STREAM_CODEC = StreamCodec + .composite( + SlotReferenceFactory.STREAM_CODEC, UseNetworkBoundItemPacket::slotReference, + UseNetworkBoundItemPacket::new + ); + + public static void handle(final UseNetworkBoundItemPacket packet, final PacketContext ctx) { + final Player player = ctx.getPlayer(); + packet.slotReference.resolve(player).ifPresent(stack -> { + if (!(stack.getItem() instanceof AbstractNetworkBoundEnergyItem networkBoundItem)) { + return; + } + final NetworkBoundItemSession sess = PlatformApi.INSTANCE.getNetworkBoundItemHelper().openSession( + stack, + (ServerPlayer) player, + packet.slotReference + ); + networkBoundItem.use((ServerPlayer) player, packet.slotReference, sess); + }); + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/package-info.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/package-info.java new file mode 100644 index 000000000..569d41490 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/c2s/package-info.java @@ -0,0 +1,7 @@ +@ParametersAreNonnullByDefault +@FieldsAndMethodsAreNonnullByDefault +package com.refinedmods.refinedstorage2.platform.common.support.packet.c2s; + +import com.refinedmods.refinedstorage2.api.core.FieldsAndMethodsAreNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/EnergyInfoPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/EnergyInfoPacket.java new file mode 100644 index 000000000..9239bb930 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/EnergyInfoPacket.java @@ -0,0 +1,33 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.s2c; + +import com.refinedmods.refinedstorage2.platform.common.support.energy.EnergyContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.world.inventory.AbstractContainerMenu; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record EnergyInfoPacket(long stored, long capacity) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>(createIdentifier("energy_info")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.VAR_LONG, EnergyInfoPacket::stored, + ByteBufCodecs.VAR_LONG, EnergyInfoPacket::capacity, + EnergyInfoPacket::new + ); + + public static void handle(final EnergyInfoPacket packet, final PacketContext ctx) { + final AbstractContainerMenu menu = ctx.getPlayer().containerMenu; + if (menu instanceof EnergyContainerMenu energy) { + energy.getEnergyInfo().setEnergy(packet.stored, packet.capacity); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/GridActivePacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/GridActivePacket.java new file mode 100644 index 000000000..7322730ae --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/GridActivePacket.java @@ -0,0 +1,32 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.s2c; + +import com.refinedmods.refinedstorage2.api.grid.watcher.GridWatcher; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.world.inventory.AbstractContainerMenu; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record GridActivePacket(boolean active) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>(createIdentifier("grid_active")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.BOOL, GridActivePacket::active, + GridActivePacket::new + ); + + public static void handle(final GridActivePacket packet, final PacketContext ctx) { + final AbstractContainerMenu menu = ctx.getPlayer().containerMenu; + if (menu instanceof GridWatcher gridWatcher) { + gridWatcher.onActiveChanged(packet.active); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/GridClearPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/GridClearPacket.java new file mode 100644 index 000000000..eb4c3c2fb --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/GridClearPacket.java @@ -0,0 +1,32 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.s2c; + +import com.refinedmods.refinedstorage2.platform.common.grid.AbstractGridContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.world.inventory.AbstractContainerMenu; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public class GridClearPacket implements CustomPacketPayload { + public static final GridClearPacket INSTANCE = new GridClearPacket(); + public static final Type PACKET_TYPE = new Type<>(createIdentifier("grid_clear")); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); + + private GridClearPacket() { + } + + public static void handle(final PacketContext ctx) { + final AbstractContainerMenu menu = ctx.getPlayer().containerMenu; + if (menu instanceof AbstractGridContainerMenu grid) { + grid.onClear(); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/GridUpdatePacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/GridUpdatePacket.java new file mode 100644 index 000000000..13cf3c546 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/GridUpdatePacket.java @@ -0,0 +1,42 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.s2c; + +import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; +import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; +import com.refinedmods.refinedstorage2.platform.common.grid.AbstractGridContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.storage.StorageCodecs; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceCodecs; + +import java.util.Optional; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record GridUpdatePacket( + PlatformResourceKey resource, + long amount, + Optional trackedResource +) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>(createIdentifier("grid_update")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ResourceCodecs.STREAM_CODEC, GridUpdatePacket::resource, + ByteBufCodecs.VAR_LONG, GridUpdatePacket::amount, + StorageCodecs.TRACKED_RESOURCE_OPTIONAL_STREAM_CODEC, GridUpdatePacket::trackedResource, + GridUpdatePacket::new + ); + + public static void handle(final GridUpdatePacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof AbstractGridContainerMenu containerMenu) { + containerMenu.onResourceUpdate(packet.resource, packet.amount, packet.trackedResource.orElse(null)); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/NetworkTransmitterStatusPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/NetworkTransmitterStatusPacket.java new file mode 100644 index 000000000..3d88c4181 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/NetworkTransmitterStatusPacket.java @@ -0,0 +1,39 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.s2c; + +import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterData; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.ComponentSerialization; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.world.inventory.AbstractContainerMenu; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record NetworkTransmitterStatusPacket(boolean error, Component message) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("network_transmitter_status") + ); + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.BOOL, NetworkTransmitterStatusPacket::error, + ComponentSerialization.STREAM_CODEC, NetworkTransmitterStatusPacket::message, + NetworkTransmitterStatusPacket::new + ); + + public static void handle(final NetworkTransmitterStatusPacket packet, final PacketContext ctx) { + final AbstractContainerMenu menu = ctx.getPlayer().containerMenu; + if (menu instanceof NetworkTransmitterContainerMenu containerMenu) { + containerMenu.setStatus(new NetworkTransmitterData(packet.error, packet.message)); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/NoPermissionPacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/NoPermissionPacket.java new file mode 100644 index 000000000..54b57af11 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/NoPermissionPacket.java @@ -0,0 +1,28 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.s2c; + +import com.refinedmods.refinedstorage2.platform.common.util.SecurityToastUtil; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.ComponentSerialization; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record NoPermissionPacket(Component component) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>(createIdentifier("no_permission")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ComponentSerialization.STREAM_CODEC, NoPermissionPacket::component, + NoPermissionPacket::new + ); + + public static void handle(final NoPermissionPacket packet) { + SecurityToastUtil.addNoPermissionToast(packet.component); + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/ResourceSlotUpdatePacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/ResourceSlotUpdatePacket.java new file mode 100644 index 000000000..c18c6c66b --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/ResourceSlotUpdatePacket.java @@ -0,0 +1,41 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.s2c; + +import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceCodecs; + +import java.util.Optional; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record ResourceSlotUpdatePacket( + int slotIndex, + Optional resourceAmount +) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("resource_slot_update") + ); + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.INT, ResourceSlotUpdatePacket::slotIndex, + ByteBufCodecs.optional(ResourceCodecs.AMOUNT_STREAM_CODEC), ResourceSlotUpdatePacket::resourceAmount, + ResourceSlotUpdatePacket::new + ); + + public static void handle(final ResourceSlotUpdatePacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof AbstractResourceContainerMenu containerMenu) { + containerMenu.handleResourceSlotUpdate(packet.slotIndex, packet.resourceAmount.orElse(null)); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/S2CPackets.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/S2CPackets.java new file mode 100644 index 000000000..1edd95a2e --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/S2CPackets.java @@ -0,0 +1,76 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.s2c; + +import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; +import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; +import com.refinedmods.refinedstorage2.platform.api.storage.StorageInfo; +import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; +import com.refinedmods.refinedstorage2.platform.common.Platform; +import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterData; + +import java.util.Optional; +import java.util.UUID; +import javax.annotation.Nullable; + +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerPlayer; + +public final class S2CPackets { + private S2CPackets() { + } + + public static void sendEnergyInfo(final ServerPlayer player, final long stored, final long capacity) { + Platform.INSTANCE.sendPacketToClient(player, new EnergyInfoPacket(stored, capacity)); + } + + public static void sendWirelessTransmitterRange(final ServerPlayer player, final int range) { + Platform.INSTANCE.sendPacketToClient(player, new WirelessTransmitterRangePacket(range)); + } + + public static void sendGridActiveness(final ServerPlayer player, final boolean active) { + Platform.INSTANCE.sendPacketToClient(player, new GridActivePacket(active)); + } + + public static void sendGridUpdate(final ServerPlayer player, + final PlatformResourceKey resource, + final long change, + @Nullable final TrackedResource trackedResource) { + Platform.INSTANCE.sendPacketToClient(player, new GridUpdatePacket( + resource, + change, + Optional.ofNullable(trackedResource) + )); + } + + public static void sendGridClear(final ServerPlayer player) { + Platform.INSTANCE.sendPacketToClient(player, GridClearPacket.INSTANCE); + } + + public static void sendResourceSlotUpdate(final ServerPlayer player, + @Nullable final ResourceAmount resourceAmount, + final int slotIndex) { + Platform.INSTANCE.sendPacketToClient(player, new ResourceSlotUpdatePacket( + slotIndex, + Optional.ofNullable(resourceAmount) + )); + } + + public static void sendStorageInfoResponse(final ServerPlayer player, + final UUID id, + final StorageInfo storageInfo) { + Platform.INSTANCE.sendPacketToClient( + player, + new StorageInfoResponsePacket(id, storageInfo.stored(), storageInfo.capacity()) + ); + } + + public static void sendNetworkTransmitterStatus(final ServerPlayer player, final NetworkTransmitterData status) { + Platform.INSTANCE.sendPacketToClient( + player, + new NetworkTransmitterStatusPacket(status.error(), status.message()) + ); + } + + public static void sendNoPermission(final ServerPlayer player, final Component message) { + Platform.INSTANCE.sendPacketToClient(player, new NoPermissionPacket(message)); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/StorageInfoResponsePacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/StorageInfoResponsePacket.java new file mode 100644 index 000000000..a5d543e77 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/StorageInfoResponsePacket.java @@ -0,0 +1,38 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.s2c; + +import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.common.storage.ClientStorageRepository; + +import java.util.UUID; + +import net.minecraft.core.UUIDUtil; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record StorageInfoResponsePacket(UUID storageId, long stored, long capacity) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("storage_info_response") + ); + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + UUIDUtil.STREAM_CODEC, StorageInfoResponsePacket::storageId, + ByteBufCodecs.VAR_LONG, StorageInfoResponsePacket::stored, + ByteBufCodecs.VAR_LONG, StorageInfoResponsePacket::capacity, + StorageInfoResponsePacket::new + ); + + public static void handle(final StorageInfoResponsePacket packet) { + final ClientStorageRepository storageRepository = + (ClientStorageRepository) PlatformApi.INSTANCE.getClientStorageRepository(); + storageRepository.setInfo(packet.storageId, packet.stored, packet.capacity); + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/WirelessTransmitterRangePacket.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/WirelessTransmitterRangePacket.java new file mode 100644 index 000000000..25cb9803f --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/WirelessTransmitterRangePacket.java @@ -0,0 +1,34 @@ +package com.refinedmods.refinedstorage2.platform.common.support.packet.s2c; + +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketContext; +import com.refinedmods.refinedstorage2.platform.common.wirelesstransmitter.WirelessTransmitterContainerMenu; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; + +public record WirelessTransmitterRangePacket(int range) implements CustomPacketPayload { + public static final Type PACKET_TYPE = new Type<>( + createIdentifier("wireless_transmitter_range") + ); + + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.INT, WirelessTransmitterRangePacket::range, + WirelessTransmitterRangePacket::new + ); + + public static void handle(final WirelessTransmitterRangePacket packet, final PacketContext ctx) { + if (ctx.getPlayer().containerMenu instanceof WirelessTransmitterContainerMenu containerMenu) { + containerMenu.setRange(packet.range); + } + } + + @Override + public Type type() { + return PACKET_TYPE; + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/package-info.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/package-info.java new file mode 100644 index 000000000..e6b686a98 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/packet/s2c/package-info.java @@ -0,0 +1,7 @@ +@ParametersAreNonnullByDefault +@FieldsAndMethodsAreNonnullByDefault +package com.refinedmods.refinedstorage2.platform.common.support.packet.s2c; + +import com.refinedmods.refinedstorage2.api.core.FieldsAndMethodsAreNonnullByDefault; + +import javax.annotation.ParametersAreNonnullByDefault; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/registry/PlatformRegistryImpl.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/registry/PlatformRegistryImpl.java index 99e83daef..d804acfb7 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/registry/PlatformRegistryImpl.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/registry/PlatformRegistryImpl.java @@ -11,6 +11,10 @@ import java.util.Optional; import javax.annotation.Nullable; +import com.mojang.serialization.Codec; +import com.mojang.serialization.DataResult; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.ResourceLocation; public class PlatformRegistryImpl implements PlatformRegistry { @@ -21,6 +25,21 @@ public class PlatformRegistryImpl implements PlatformRegistry { private final Map valueToIdMap = new HashMap<>(); private final List order = new ArrayList<>(); private final List viewList = Collections.unmodifiableList(order); + private final Codec codec = ResourceLocation.CODEC.comapFlatMap( + id -> get(id).map(DataResult::success).orElseGet(() -> DataResult.error(() -> "Unknown ID: " + id)), + value -> getId(value).orElseThrow() + ); + private final StreamCodec streamCodec = new StreamCodec<>() { + @Override + public T decode(final RegistryFriendlyByteBuf buf) { + return get(buf.readResourceLocation()).orElseThrow(); + } + + @Override + public void encode(final RegistryFriendlyByteBuf buf, final T value) { + buf.writeResourceLocation(getId(value).orElseThrow()); + } + }; @Override public void register(final ResourceLocation id, final T value) { @@ -65,4 +84,14 @@ public T nextOrNullIfLast(final T value) { } return order.get(nextIndex); } + + @Override + public Codec codec() { + return codec; + } + + @Override + public StreamCodec streamCodec() { + return streamCodec; + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/render/AbstractFluidRenderer.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/render/AbstractFluidRenderer.java index 1e17d2483..0fda4fcf3 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/render/AbstractFluidRenderer.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/render/AbstractFluidRenderer.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.BufferBuilder; +import com.mojang.blaze3d.vertex.BufferUploader; import com.mojang.blaze3d.vertex.DefaultVertexFormat; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.Tesselator; @@ -30,21 +31,23 @@ protected void render(final PoseStack poseStack, RenderSystem.setShader(GameRenderer::getPositionTexColorShader); final Tesselator tesselator = Tesselator.getInstance(); - final BufferBuilder bufferBuilder = tesselator.getBuilder(); - bufferBuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); - bufferBuilder.vertex(poseStack.last().pose(), x, slotYEnd, 0) - .uv(sprite.getU0(), sprite.getV1()) - .color(r, g, b, 255).endVertex(); - bufferBuilder.vertex(poseStack.last().pose(), slotXEnd, slotYEnd, 0) - .uv(sprite.getU1(), sprite.getV1()) - .color(r, g, b, 255).endVertex(); - bufferBuilder.vertex(poseStack.last().pose(), slotXEnd, y, 0) - .uv(sprite.getU1(), sprite.getV0()) - .color(r, g, b, 255).endVertex(); - bufferBuilder.vertex(poseStack.last().pose(), x, y, 0) - .uv(sprite.getU0(), sprite.getV0()) - .color(r, g, b, 255).endVertex(); - tesselator.end(); + final BufferBuilder bufferBuilder = tesselator.begin( + VertexFormat.Mode.QUADS, + DefaultVertexFormat.POSITION_TEX_COLOR + ); + bufferBuilder.addVertex(poseStack.last().pose(), x, slotYEnd, 0) + .setUv(sprite.getU0(), sprite.getV1()) + .setColor(r, g, b, 255); + bufferBuilder.addVertex(poseStack.last().pose(), slotXEnd, slotYEnd, 0) + .setUv(sprite.getU1(), sprite.getV1()) + .setColor(r, g, b, 255); + bufferBuilder.addVertex(poseStack.last().pose(), slotXEnd, y, 0) + .setUv(sprite.getU1(), sprite.getV0()) + .setColor(r, g, b, 255); + bufferBuilder.addVertex(poseStack.last().pose(), x, y, 0) + .setUv(sprite.getU0(), sprite.getV0()) + .setColor(r, g, b, 255); + BufferUploader.drawWithShader(bufferBuilder.buildOrThrow()); } protected void render(final PoseStack poseStack, @@ -60,33 +63,29 @@ protected void render(final PoseStack poseStack, final var x1 = scale / 2; final var y1 = -scale / 2; final var transform = poseStack.last().pose(); - buffer.vertex(transform, x0, y1, 0) - .color(packedRgb) - .uv(sprite.getU0(), sprite.getV1()) - .overlayCoords(OverlayTexture.NO_OVERLAY) - .uv2(light) - .normal(0, 0, 1) - .endVertex(); - buffer.vertex(transform, x1, y1, 0) - .color(packedRgb) - .uv(sprite.getU1(), sprite.getV1()) - .overlayCoords(OverlayTexture.NO_OVERLAY) - .uv2(light) - .normal(0, 0, 1) - .endVertex(); - buffer.vertex(transform, x1, y0, 0) - .color(packedRgb) - .uv(sprite.getU1(), sprite.getV0()) - .overlayCoords(OverlayTexture.NO_OVERLAY) - .uv2(light) - .normal(0, 0, 1) - .endVertex(); - buffer.vertex(transform, x0, y0, 0) - .color(packedRgb) - .uv(sprite.getU0(), sprite.getV0()) - .overlayCoords(OverlayTexture.NO_OVERLAY) - .uv2(light) - .normal(0, 0, 1) - .endVertex(); + buffer.addVertex(transform, x0, y1, 0) + .setColor(packedRgb) + .setUv(sprite.getU0(), sprite.getV1()) + .setOverlay(OverlayTexture.NO_OVERLAY) + .setLight(light) + .setNormal(0, 0, 1); + buffer.addVertex(transform, x1, y1, 0) + .setColor(packedRgb) + .setUv(sprite.getU1(), sprite.getV1()) + .setOverlay(OverlayTexture.NO_OVERLAY) + .setLight(light) + .setNormal(0, 0, 1); + buffer.addVertex(transform, x1, y0, 0) + .setColor(packedRgb) + .setUv(sprite.getU1(), sprite.getV0()) + .setOverlay(OverlayTexture.NO_OVERLAY) + .setLight(light) + .setNormal(0, 0, 1); + buffer.addVertex(transform, x0, y0, 0) + .setColor(packedRgb) + .setUv(sprite.getU0(), sprite.getV0()) + .setOverlay(OverlayTexture.NO_OVERLAY) + .setLight(light) + .setNormal(0, 0, 1); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/render/CubeBuilder.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/render/CubeBuilder.java index 89a113e16..2de51dbdb 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/render/CubeBuilder.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/render/CubeBuilder.java @@ -93,6 +93,6 @@ private static void putVertex(final VertexConsumer builder, final float x, final float y, final float z) { - builder.vertex(poseStack.last().pose(), x, y, z).color(r, g, b, a).endVertex(); + builder.addVertex(poseStack.last().pose(), x, y, z).setColor(r, g, b, a); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/FluidResource.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/FluidResource.java index 7d1095013..0cfa90343 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/FluidResource.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/FluidResource.java @@ -6,57 +6,25 @@ import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import java.util.Optional; -import javax.annotation.Nullable; - -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.core.component.DataComponentPatch; import net.minecraft.world.level.material.Fluid; -import net.minecraft.world.level.material.Fluids; import org.apiguardian.api.API; @API(status = API.Status.STABLE, since = "2.0.0-milestone.1.0") -public record FluidResource(Fluid fluid, @Nullable CompoundTag tag) +public record FluidResource(Fluid fluid, DataComponentPatch components) implements PlatformResourceKey, FuzzyModeNormalizer { - private static final String TAG_TAG = "tag"; - private static final String TAG_ID = "id"; + public FluidResource(final Fluid fluid) { + this(fluid, DataComponentPatch.EMPTY); + } - public FluidResource(final Fluid fluid, @Nullable final CompoundTag tag) { + public FluidResource(final Fluid fluid, final DataComponentPatch components) { this.fluid = CoreValidations.validateNotNull(fluid, "Fluid must not be null"); - this.tag = tag; + this.components = CoreValidations.validateNotNull(components, "Components must not be null"); } @Override public ResourceKey normalize() { - return new FluidResource(fluid, null); - } - - static Optional fromTag(final CompoundTag tag) { - final ResourceLocation id = new ResourceLocation(tag.getString(TAG_ID)); - final Fluid fluid = BuiltInRegistries.FLUID.get(id); - if (fluid == Fluids.EMPTY) { - return Optional.empty(); - } - final CompoundTag itemTag = tag.contains(TAG_TAG) ? tag.getCompound(TAG_TAG) : null; - return Optional.of(new FluidResource(fluid, itemTag)); - } - - @Override - public CompoundTag toTag() { - final CompoundTag nbt = new CompoundTag(); - if (tag != null) { - nbt.put(TAG_TAG, tag); - } - nbt.putString(TAG_ID, BuiltInRegistries.FLUID.getKey(fluid).toString()); - return nbt; - } - - @Override - public void toBuffer(final FriendlyByteBuf buf) { - buf.writeVarInt(BuiltInRegistries.FLUID.getId(fluid)); - buf.writeNbt(tag); + return new FluidResource(fluid); } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/FluidResourceType.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/FluidResourceType.java index 7f5b06582..ddd195912 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/FluidResourceType.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/FluidResourceType.java @@ -11,12 +11,13 @@ import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.grid.view.FluidGridResource; import com.refinedmods.refinedstorage2.platform.common.support.TextureIds; -import com.refinedmods.refinedstorage2.platform.common.util.PacketUtil; import java.util.Optional; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; @@ -31,11 +32,6 @@ class FluidResourceType extends AbstractResourceType { ); } - @Override - public PlatformResourceKey fromBuffer(final FriendlyByteBuf buf) { - return PacketUtil.readFluidResource(buf); - } - @Override public Optional toGridResource(final ResourceAmount resourceAmount) { return Platform.INSTANCE.getFluidGridResourceFactory().apply(resourceAmount); @@ -72,7 +68,20 @@ public GridOperations createGridOperations(final StorageChannel storageChannel, } @Override - public Optional fromTag(final CompoundTag tag) { - return FluidResource.fromTag(tag); + @SuppressWarnings({"unchecked", "rawtypes"}) + public MapCodec getMapCodec() { + return (MapCodec) ResourceCodecs.FLUID_MAP_CODEC; + } + + @Override + @SuppressWarnings({"unchecked", "rawtypes"}) + public Codec getCodec() { + return (Codec) ResourceCodecs.FLUID_CODEC; + } + + @Override + @SuppressWarnings({"unchecked", "rawtypes"}) + public StreamCodec getStreamCodec() { + return (StreamCodec) ResourceCodecs.FLUID_STREAM_CODEC; } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResource.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResource.java index 122254f2f..2f3024014 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResource.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResource.java @@ -6,72 +6,47 @@ import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import java.util.Optional; -import javax.annotation.Nullable; - -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.core.component.DataComponentPatch; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; import org.apiguardian.api.API; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @API(status = API.Status.STABLE, since = "2.0.0-milestone.1.0") -public record ItemResource(Item item, @Nullable CompoundTag tag) implements PlatformResourceKey, FuzzyModeNormalizer { +public record ItemResource(Item item, DataComponentPatch components) + implements PlatformResourceKey, FuzzyModeNormalizer { private static final Logger LOGGER = LoggerFactory.getLogger(ItemResource.class); - private static final String TAG_TAG = "tag"; - private static final String TAG_ID = "id"; + public ItemResource(final Item item) { + this(item, DataComponentPatch.EMPTY); + } - public ItemResource(final Item item, @Nullable final CompoundTag tag) { + public ItemResource(final Item item, final DataComponentPatch components) { this.item = CoreValidations.validateNotNull(item, "Item must not be null"); - this.tag = tag; + this.components = CoreValidations.validateNotNull(components, "Components must not be null"); } public ItemStack toItemStack() { - final ItemStack itemStack = new ItemStack(item); - itemStack.setTag(tag); - return itemStack; + return toItemStack(1); } + @SuppressWarnings("deprecation") public ItemStack toItemStack(final long amount) { if (amount > Integer.MAX_VALUE) { LOGGER.warn("Truncating too large amount for {} to fit into ItemStack {}", this, amount); } - final ItemStack stack = toItemStack(); - stack.setCount((int) amount); - return stack; + return new ItemStack(item.builtInRegistryHolder(), (int) amount, components); } @Override public ResourceKey normalize() { - return new ItemResource(item, null); - } - - @Override - public CompoundTag toTag() { - final CompoundTag nbt = new CompoundTag(); - if (this.tag != null) { - nbt.put(TAG_TAG, this.tag); - } - nbt.putString(TAG_ID, BuiltInRegistries.ITEM.getKey(item).toString()); - return nbt; + return new ItemResource(item); } @Override - public void toBuffer(final FriendlyByteBuf buf) { - buf.writeVarInt(Item.getId(item)); - buf.writeNbt(tag); - } - - @Override - @SuppressWarnings("deprecation") public long getInterfaceExportLimit() { - return item.getMaxStackSize(); + return item.getDefaultMaxStackSize(); } @Override @@ -80,16 +55,6 @@ public ResourceType getResourceType() { } public static ItemResource ofItemStack(final ItemStack itemStack) { - return new ItemResource(itemStack.getItem(), itemStack.getTag()); - } - - static Optional fromTag(final CompoundTag tag) { - final ResourceLocation id = new ResourceLocation(tag.getString(TAG_ID)); - final Item item = BuiltInRegistries.ITEM.get(id); - if (item == Items.AIR) { - return Optional.empty(); - } - final CompoundTag itemTag = tag.contains(TAG_TAG) ? tag.getCompound(TAG_TAG) : null; - return Optional.of(new ItemResource(item, itemTag)); + return new ItemResource(itemStack.getItem(), itemStack.getComponentsPatch()); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResourceRendering.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResourceRendering.java index 86c143b66..efd8b748e 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResourceRendering.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResourceRendering.java @@ -16,6 +16,7 @@ import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.network.chat.Component; import net.minecraft.util.Mth; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; @@ -56,6 +57,7 @@ public List getTooltip(final ResourceKey resource) { } final Minecraft minecraft = Minecraft.getInstance(); return getStack(itemResource).getTooltipLines( + Item.TooltipContext.EMPTY, minecraft.player, minecraft.options.advancedItemTooltips ? TooltipFlag.ADVANCED : TooltipFlag.NORMAL ); @@ -81,7 +83,7 @@ public void render(final ResourceKey resource, return; } final ItemStack itemStack = getStack(itemResource); - poseStack.mulPoseMatrix(IN_WORLD_SCALE); + poseStack.mulPose(IN_WORLD_SCALE); poseStack.last().normal().rotateX(Mth.DEG_TO_RAD * -45f); Minecraft.getInstance().getItemRenderer().renderStatic( itemStack, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResourceType.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResourceType.java index 468f64636..8a7cc2c2a 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResourceType.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResourceType.java @@ -11,12 +11,13 @@ import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.grid.view.ItemGridResource; import com.refinedmods.refinedstorage2.platform.common.support.TextureIds; -import com.refinedmods.refinedstorage2.platform.common.util.PacketUtil; import java.util.Optional; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; @@ -31,11 +32,6 @@ class ItemResourceType extends AbstractResourceType { ); } - @Override - public ItemResource fromBuffer(final FriendlyByteBuf buf) { - return PacketUtil.readItemResource(buf); - } - @Override public Optional toGridResource(final ResourceAmount resourceAmount) { return Platform.INSTANCE.getItemGridResourceFactory().apply(resourceAmount); @@ -62,18 +58,32 @@ public long getInterfaceExportLimit() { } @Override - @SuppressWarnings("deprecation") public GridOperations createGridOperations(final StorageChannel storageChannel, final Actor actor) { return new GridOperationsImpl( storageChannel, actor, - resource -> resource instanceof ItemResource itemResource ? itemResource.item().getMaxStackSize() : 0, + resource -> resource instanceof ItemResource itemResource + ? itemResource.item().getDefaultMaxStackSize() + : 0, 1 ); } @Override - public Optional fromTag(final CompoundTag tag) { - return ItemResource.fromTag(tag); + @SuppressWarnings({"unchecked", "rawtypes"}) + public MapCodec getMapCodec() { + return (MapCodec) ResourceCodecs.ITEM_MAP_CODEC; + } + + @Override + @SuppressWarnings({"unchecked", "rawtypes"}) + public Codec getCodec() { + return (Codec) ResourceCodecs.ITEM_CODEC; + } + + @Override + @SuppressWarnings({"unchecked", "rawtypes"}) + public StreamCodec getStreamCodec() { + return (StreamCodec) ResourceCodecs.ITEM_STREAM_CODEC; } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ResourceCodecs.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ResourceCodecs.java new file mode 100644 index 000000000..27c325e8a --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ResourceCodecs.java @@ -0,0 +1,92 @@ +package com.refinedmods.refinedstorage2.platform.common.support.resource; + +import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; +import com.refinedmods.refinedstorage2.api.resource.ResourceKey; +import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; +import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; + +import java.util.Optional; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import io.netty.handler.codec.DecoderException; +import net.minecraft.core.component.DataComponentPatch; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.resources.ResourceLocation; + +public final class ResourceCodecs { + public static final MapCodec ITEM_MAP_CODEC = RecordCodecBuilder.mapCodec(ins -> ins.group( + BuiltInRegistries.ITEM.byNameCodec().fieldOf("item").forGetter(ItemResource::item), + DataComponentPatch.CODEC.fieldOf("components").forGetter(ItemResource::components) + ).apply(ins, ItemResource::new)); + public static final Codec ITEM_CODEC = ITEM_MAP_CODEC.codec(); + + public static final MapCodec FLUID_MAP_CODEC = RecordCodecBuilder.mapCodec(ins -> ins.group( + BuiltInRegistries.FLUID.byNameCodec().fieldOf("fluid").forGetter(FluidResource::fluid), + DataComponentPatch.CODEC.fieldOf("components").forGetter(FluidResource::components) + ).apply(ins, FluidResource::new)); + public static final Codec FLUID_CODEC = FLUID_MAP_CODEC.codec(); + + public static final Codec CODEC = PlatformApi.INSTANCE.getResourceTypeRegistry() + .codec() + .dispatch(PlatformResourceKey::getResourceType, ResourceType::getMapCodec); + public static final Codec AMOUNT_CODEC = RecordCodecBuilder.create(instance -> instance.group( + CODEC.fieldOf("resource").forGetter(resourceAmount -> (PlatformResourceKey) resourceAmount.getResource()), + Codec.LONG.fieldOf("amount").forGetter(ResourceAmount::getAmount) + ).apply(instance, ResourceAmount::new)); + + public static final StreamCodec STREAM_CODEC = new StreamCodec<>() { + @Override + public PlatformResourceKey decode(final RegistryFriendlyByteBuf buf) { + final ResourceLocation id = buf.readResourceLocation(); + final ResourceType resourceType = PlatformApi.INSTANCE.getResourceTypeRegistry().get(id).orElseThrow(); + return resourceType.getStreamCodec().decode(buf); + } + + @Override + public void encode(final RegistryFriendlyByteBuf buf, final PlatformResourceKey resourceKey) { + final ResourceType resourceType = resourceKey.getResourceType(); + final ResourceLocation id = PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType) + .orElseThrow(); + buf.writeResourceLocation(id); + resourceType.getStreamCodec().encode(buf, resourceKey); + } + }; + public static final StreamCodec AMOUNT_STREAM_CODEC = StreamCodec.of( + (buf, resourceAmount) -> { + final ResourceKey resourceKey = resourceAmount.getResource(); + if (!(resourceKey instanceof PlatformResourceKey platformResourceKey)) { + throw new DecoderException("Cannot encode non-platform resource key"); + } + STREAM_CODEC.encode(buf, platformResourceKey); + buf.writeLong(resourceAmount.getAmount()); + }, + buf -> { + final PlatformResourceKey resourceKey = STREAM_CODEC.decode(buf); + final long amount = buf.readLong(); + return new ResourceAmount(resourceKey, amount); + } + ); + public static final StreamCodec> AMOUNT_STREAM_OPTIONAL_CODEC = + ByteBufCodecs.optional(AMOUNT_STREAM_CODEC); + + public static final StreamCodec ITEM_STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.registry(Registries.ITEM), ItemResource::item, + DataComponentPatch.STREAM_CODEC, ItemResource::components, + ItemResource::new + ); + public static final StreamCodec FLUID_STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.registry(Registries.FLUID), FluidResource::fluid, + DataComponentPatch.STREAM_CODEC, FluidResource::components, + FluidResource::new + ); + + private ResourceCodecs() { + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ResourceContainerData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ResourceContainerData.java new file mode 100644 index 000000000..700324781 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ResourceContainerData.java @@ -0,0 +1,29 @@ +package com.refinedmods.refinedstorage2.platform.common.support.resource; + +import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; +import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceContainer; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record ResourceContainerData(List> resources) { + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.collection(ArrayList::new, ResourceCodecs.AMOUNT_STREAM_OPTIONAL_CODEC), + ResourceContainerData::resources, + ResourceContainerData::new + ); + + public static ResourceContainerData of(final ResourceContainer resourceContainer) { + final List> resources = new ArrayList<>(); + for (int i = 0; i < resourceContainer.size(); ++i) { + resources.add(Optional.ofNullable(resourceContainer.get(i))); + } + return new ResourceContainerData(resources); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ResourceContainerImpl.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ResourceContainerImpl.java index 1db47747c..686802eab 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ResourceContainerImpl.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ResourceContainerImpl.java @@ -8,7 +8,6 @@ import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceContainer; import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceFactory; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; import com.refinedmods.refinedstorage2.platform.common.util.MathUtil; import java.util.ArrayList; @@ -19,9 +18,10 @@ import java.util.function.ToLongFunction; import javax.annotation.Nullable; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.nbt.NbtOps; +import net.minecraft.nbt.Tag; import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; @@ -201,82 +201,32 @@ public List getResources() { } @Override - public void writeToUpdatePacket(final FriendlyByteBuf buf) { - for (final ResourceContainerSlot slot : slots) { - if (slot == null) { - buf.writeBoolean(false); - continue; - } - writeToUpdatePacket(buf, slot); - } - } - - private void writeToUpdatePacket(final FriendlyByteBuf buf, final ResourceContainerSlot slot) { - final ResourceType resourceType = slot.getResourceType(); - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType).ifPresentOrElse(id -> { - buf.writeBoolean(true); - buf.writeResourceLocation(id); - slot.getPlatformResource().toBuffer(buf); - buf.writeLong(slot.getAmount()); - }, () -> buf.writeBoolean(false)); - } - - @Override - public void readFromUpdatePacket(final int index, final FriendlyByteBuf buf) { - final boolean present = buf.readBoolean(); - if (!present) { - removeSilently(index); - return; - } - final ResourceLocation id = buf.readResourceLocation(); - PlatformApi.INSTANCE.getResourceTypeRegistry().get(id).ifPresent( - resourceType -> readFromUpdatePacket(index, buf, resourceType) - ); - } - - private void readFromUpdatePacket(final int index, - final FriendlyByteBuf buf, - final ResourceType resourceType) { - final ResourceKey resource = resourceType.fromBuffer(buf); - final long amount = buf.readLong(); - setSilently(index, new ResourceAmount(resource, amount)); - } - - @Override - public CompoundTag toTag() { + public CompoundTag toTag(final HolderLookup.Provider provider) { final CompoundTag tag = new CompoundTag(); for (int i = 0; i < size(); ++i) { final ResourceContainerSlot slot = slots[i]; if (slot == null) { continue; } - addToTag(tag, i, slot); + addToTag(tag, i, slot, provider); } return tag; } - private void addToTag(final CompoundTag tag, - final int index, - final ResourceContainerSlot slot) { - final ResourceType resourceType = slot.getResourceType(); - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType).ifPresent( - resourceTypeId -> addToTag(tag, index, slot, resourceTypeId) - ); - } - private void addToTag(final CompoundTag tag, final int index, final ResourceContainerSlot slot, - final ResourceLocation resourceTypeId) { - final CompoundTag serialized = new CompoundTag(); - serialized.putString("t", resourceTypeId.toString()); - serialized.put("v", slot.getPlatformResource().toTag()); - serialized.putLong("a", slot.getAmount()); + final HolderLookup.Provider provider) { + final Tag serialized = ResourceCodecs.AMOUNT_CODEC.encode( + slot.getResourceAmount(), + provider.createSerializationContext(NbtOps.INSTANCE), + new CompoundTag() + ).getOrThrow(); tag.put("s" + index, serialized); } @Override - public void fromTag(final CompoundTag tag) { + public void fromTag(final CompoundTag tag, final HolderLookup.Provider provider) { for (int i = 0; i < size(); ++i) { final String key = "s" + i; if (!tag.contains(key)) { @@ -284,23 +234,16 @@ public void fromTag(final CompoundTag tag) { continue; } final CompoundTag item = tag.getCompound(key); - fromTag(i, item); + fromTag(i, item, provider); } } - private void fromTag(final int index, final CompoundTag tag) { - final ResourceLocation resourceTypeId = new ResourceLocation(tag.getString("t")); - PlatformApi.INSTANCE.getResourceTypeRegistry().get(resourceTypeId).ifPresent( - resourceType -> fromTag(index, tag, resourceType) - ); - } - - private void fromTag(final int index, final CompoundTag tag, final ResourceType resourceType) { - final long amount = tag.getLong("a"); - resourceType.fromTag(tag.getCompound("v")).ifPresent(resource -> setSilently( - index, - new ResourceAmount(resource, amount) - )); + private void fromTag(final int index, final CompoundTag tag, final HolderLookup.Provider provider) { + final ResourceAmount resourceAmount = ResourceCodecs.AMOUNT_CODEC.decode( + provider.createSerializationContext(NbtOps.INSTANCE), + tag + ).getOrThrow().getFirst(); + setSilently(index, resourceAmount); } @Override @@ -418,6 +361,15 @@ public static ResourceContainer createForFilter() { return createForFilter(9); } + public static ResourceContainer createForFilter(final ResourceContainerData data) { + final ResourceContainer resourceContainer = createForFilter(data.resources().size()); + for (int i = 0; i < data.resources().size(); ++i) { + final int ii = i; + data.resources().get(i).ifPresent(resource -> resourceContainer.set(ii, resource)); + } + return resourceContainer; + } + public static ResourceContainer createForFilter(final int size) { return new ResourceContainerImpl( size, @@ -428,11 +380,25 @@ public static ResourceContainer createForFilter(final int size) { } public static ResourceContainer createForFilter(final ResourceFactory resourceFactory) { + return createForFilter(resourceFactory, 9); + } + + public static ResourceContainer createForFilter(final ResourceFactory resourceFactory, final int size) { return new ResourceContainerImpl( - 9, + size, resource -> Long.MAX_VALUE, resourceFactory, Collections.emptySet() ); } + + public static ResourceContainer createForFilter(final ResourceFactory resourceFactory, + final ResourceContainerData data) { + final ResourceContainer resourceContainer = createForFilter(resourceFactory, data.resources().size()); + for (int i = 0; i < data.resources().size(); ++i) { + final int ii = i; + data.resources().get(i).ifPresent(resource -> resourceContainer.set(ii, resource)); + } + return resourceContainer; + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/widget/CustomCheckboxWidget.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/widget/CustomCheckboxWidget.java index 66d8b8fa5..d06ae0fa9 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/widget/CustomCheckboxWidget.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/support/widget/CustomCheckboxWidget.java @@ -14,16 +14,16 @@ // A custom checkbox so that we can change the font color. public class CustomCheckboxWidget extends AbstractButton { - private static final ResourceLocation CHECKBOX_SELECTED_HIGHLIGHTED_SPRITE = new ResourceLocation( + private static final ResourceLocation CHECKBOX_SELECTED_HIGHLIGHTED_SPRITE = ResourceLocation.withDefaultNamespace( "widget/checkbox_selected_highlighted" ); - private static final ResourceLocation CHECKBOX_SELECTED_SPRITE = new ResourceLocation( + private static final ResourceLocation CHECKBOX_SELECTED_SPRITE = ResourceLocation.withDefaultNamespace( "widget/checkbox_selected" ); - private static final ResourceLocation CHECKBOX_HIGHLIGHTED_SPRITE = new ResourceLocation( + private static final ResourceLocation CHECKBOX_HIGHLIGHTED_SPRITE = ResourceLocation.withDefaultNamespace( "widget/checkbox_highlighted" ); - private static final ResourceLocation CHECKBOX_SPRITE = new ResourceLocation("widget/checkbox"); + private static final ResourceLocation CHECKBOX_SPRITE = ResourceLocation.withDefaultNamespace("widget/checkbox"); private static final int BOX_SIZE = 9 + 8; diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/FortuneUpgradeItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/FortuneUpgradeItem.java index a46ff32e3..e204a4645 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/FortuneUpgradeItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/FortuneUpgradeItem.java @@ -1,16 +1,22 @@ package com.refinedmods.refinedstorage2.platform.common.upgrade; +import com.refinedmods.refinedstorage2.platform.api.support.HelpTooltipComponent; import com.refinedmods.refinedstorage2.platform.api.upgrade.AbstractUpgradeItem; import com.refinedmods.refinedstorage2.platform.api.upgrade.UpgradeRegistry; import com.refinedmods.refinedstorage2.platform.common.Platform; +import java.util.Optional; + import net.minecraft.network.chat.Component; +import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; public class FortuneUpgradeItem extends AbstractUpgradeItem { + private static final Component HELP = createTranslation("item", "fortune_upgrade.help"); + private final int fortuneLevel; private final Component name; @@ -39,4 +45,9 @@ public boolean isFoil(final ItemStack stack) { public Component getName(final ItemStack stack) { return name; } + + @Override + public Optional getTooltipImage(final ItemStack stack) { + return Optional.of(new HelpTooltipComponent(HELP)); + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RangeUpgradeItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RangeUpgradeItem.java index 387fcf51a..0ca852b3c 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RangeUpgradeItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RangeUpgradeItem.java @@ -1,12 +1,23 @@ package com.refinedmods.refinedstorage2.platform.common.upgrade; +import com.refinedmods.refinedstorage2.platform.api.support.HelpTooltipComponent; import com.refinedmods.refinedstorage2.platform.api.upgrade.AbstractUpgradeItem; import com.refinedmods.refinedstorage2.platform.api.upgrade.UpgradeRegistry; import com.refinedmods.refinedstorage2.platform.common.Platform; +import java.util.Optional; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; public class RangeUpgradeItem extends AbstractUpgradeItem { + private static final Component HELP = createTranslation("item", "range_upgrade.help"); + private static final Component CREATIVE_HELP = createTranslation("item", "creative_range_upgrade.help"); + private final boolean creative; public RangeUpgradeItem(final UpgradeRegistry registry, final boolean creative) { @@ -21,4 +32,9 @@ public long getEnergyUsage() { } return Platform.INSTANCE.getConfig().getUpgrade().getRangeUpgradeEnergyUsage(); } + + @Override + public Optional getTooltipImage(final ItemStack stack) { + return Optional.of(new HelpTooltipComponent(creative ? CREATIVE_HELP : HELP)); + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RegulatorUpgradeContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RegulatorUpgradeContainerMenu.java index 076b4f039..0f689fd83 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RegulatorUpgradeContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RegulatorUpgradeContainerMenu.java @@ -4,11 +4,11 @@ import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceContainer; import com.refinedmods.refinedstorage2.platform.common.content.Menus; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractSingleAmountContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.SingleAmountData; import java.util.function.Consumer; import javax.annotation.Nullable; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -21,8 +21,10 @@ public class RegulatorUpgradeContainerMenu extends AbstractSingleAmountContainer @Nullable private Consumer amountAcceptor; - public RegulatorUpgradeContainerMenu(final int syncId, final Inventory playerInventory, final FriendlyByteBuf buf) { - super(Menus.INSTANCE.getRegulatorUpgrade(), syncId, playerInventory, buf, FILTER_HELP); + public RegulatorUpgradeContainerMenu(final int syncId, + final Inventory playerInventory, + final SingleAmountData singleAmountData) { + super(Menus.INSTANCE.getRegulatorUpgrade(), syncId, playerInventory, singleAmountData, FILTER_HELP); } RegulatorUpgradeContainerMenu(final int syncId, diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RegulatorUpgradeItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RegulatorUpgradeItem.java index dfa3e843d..54ae00ca1 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RegulatorUpgradeItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RegulatorUpgradeItem.java @@ -10,8 +10,10 @@ import com.refinedmods.refinedstorage2.platform.api.upgrade.UpgradeRegistry; import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractSingleAmountContainerMenu; +import com.refinedmods.refinedstorage2.platform.common.content.DataComponents; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ExtendedMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.SingleAmountData; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerData; import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceContainerImpl; import java.util.Optional; @@ -19,9 +21,9 @@ import java.util.function.Consumer; import javax.annotation.Nullable; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; @@ -37,8 +39,6 @@ public class RegulatorUpgradeItem extends AbstractUpgradeItem { private static final Component HELP = createTranslation("item", "regulator_upgrade.help"); - private static final String TAG_AMOUNT = "a"; - private static final String TAG_RESOURCE_FILTER_CONTAINER = "rf"; public RegulatorUpgradeItem(final UpgradeRegistry registry) { super(new Item.Properties(), registry); @@ -48,9 +48,13 @@ public RegulatorUpgradeItem(final UpgradeRegistry registry) { public InteractionResultHolder use(final Level level, final Player player, final InteractionHand hand) { final ItemStack stack = player.getItemInHand(hand); if (player instanceof ServerPlayer serverPlayer) { + final RegulatorUpgradeState initialState = stack.getOrDefault( + DataComponents.INSTANCE.getRegulatorUpgradeState(), + RegulatorUpgradeState.EMPTY + ); Platform.INSTANCE.getMenuOpener().openMenu(serverPlayer, new ExtendedMenuProviderImpl( - getResourceFilterContainer(stack), - getAmount(stack), + createResourceFilterContainer(stack, initialState), + initialState.amount(), newAmount -> setAmount(stack, newAmount), PlatformApi.INSTANCE.createInventorySlotReference(player, hand) )); @@ -58,39 +62,32 @@ public InteractionResultHolder use(final Level level, final Player pl return InteractionResultHolder.success(stack); } + private ResourceContainer createResourceFilterContainer(final ItemStack stack, + final RegulatorUpgradeState initialState) { + final ResourceContainer container = ResourceContainerImpl.createForFilter(1); + container.setListener(() -> { + final RegulatorUpgradeState state = stack.getOrDefault( + DataComponents.INSTANCE.getRegulatorUpgradeState(), + RegulatorUpgradeState.EMPTY + ); + final PlatformResourceKey resource = container.getResource(0); + stack.set(DataComponents.INSTANCE.getRegulatorUpgradeState(), state.withResource(resource)); + }); + initialState.resource().ifPresent(initialResource -> container.set(0, new ResourceAmount(initialResource, 1))); + return container; + } + @Override public Optional getTooltipImage(final ItemStack stack) { return Optional.of(new RegulatorTooltipComponent(HELP, getConfiguredResource(stack))); } - @Nullable - private ResourceAmount getConfiguredResource(final ItemStack stack) { - final ResourceContainer container = getResourceFilterContainer(stack); - final PlatformResourceKey resource = container.getResource(0); - if (resource == null) { - return null; - } - final double amount = getAmount(stack); - final long normalizedAmount = resource.getResourceType().normalizeAmount(amount); - return new ResourceAmount(resource, normalizedAmount); - } - - public double getAmount(final ItemStack stack) { - return stack.getTag() == null ? 1 : stack.getTag().getDouble(TAG_AMOUNT); - } - private void setAmount(final ItemStack stack, final double amount) { - stack.getOrCreateTag().putDouble(TAG_AMOUNT, amount); - } - - private ResourceContainer getResourceFilterContainer(final ItemStack stack) { - final ResourceContainer container = ResourceContainerImpl.createForFilter(1); - container.setListener(() -> stack.getOrCreateTag().put(TAG_RESOURCE_FILTER_CONTAINER, container.toTag())); - final CompoundTag tag = stack.getTagElement(TAG_RESOURCE_FILTER_CONTAINER); - if (tag != null) { - container.fromTag(tag); - } - return container; + final RegulatorUpgradeState state = stack.getOrDefault( + DataComponents.INSTANCE.getRegulatorUpgradeState(), + RegulatorUpgradeState.EMPTY + ); + stack.set(DataComponents.INSTANCE.getRegulatorUpgradeState(), state.withAmount(amount)); } @Override @@ -98,27 +95,42 @@ public long getEnergyUsage() { return Platform.INSTANCE.getConfig().getUpgrade().getRegulatorUpgradeEnergyUsage(); } - public OptionalLong getDesiredAmount(final ItemStack stack, final ResourceKey resource) { - final ResourceContainer container = getResourceFilterContainer(stack); - final PlatformResourceKey configuredResource = container.getResource(0); - if (configuredResource == null) { - return OptionalLong.empty(); - } - final boolean same = configuredResource.equals(resource); - if (!same) { - return OptionalLong.empty(); + @Nullable + private ResourceAmount getConfiguredResource(final ItemStack stack) { + final RegulatorUpgradeState state = stack.get(DataComponents.INSTANCE.getRegulatorUpgradeState()); + if (state == null) { + return null; } - final double amount = getAmount(stack); - final long normalizedAmount = configuredResource.getResourceType().normalizeAmount(amount); - return OptionalLong.of(normalizedAmount); + return state.resource().map(resource -> { + final double amount = state.amount(); + final long normalizedAmount = resource.getResourceType().normalizeAmount(amount); + return new ResourceAmount(resource, normalizedAmount); + }).orElse(null); } - public record RegulatorTooltipComponent(Component helpText, - @Nullable ResourceAmount configuredResource) + public OptionalLong getDesiredAmount(final ItemStack stack, final ResourceKey resource) { + final RegulatorUpgradeState state = stack.getOrDefault( + DataComponents.INSTANCE.getRegulatorUpgradeState(), + RegulatorUpgradeState.EMPTY + ); + return state.resource().flatMap(configuredResource -> { + final boolean same = configuredResource.equals(resource); + if (!same) { + return Optional.empty(); + } + return Optional.of(configuredResource.getResourceType()); + }).map(type -> { + final double amount = state.amount(); + final long normalizedAmount = type.normalizeAmount(amount); + return OptionalLong.of(normalizedAmount); + }).orElse(OptionalLong.empty()); + } + + public record RegulatorTooltipComponent(Component helpText, @Nullable ResourceAmount configuredResource) implements TooltipComponent { } - private static class ExtendedMenuProviderImpl implements ExtendedMenuProvider { + private static class ExtendedMenuProviderImpl implements ExtendedMenuProvider { private final ResourceContainer resourceContainer; private final double amount; private final Consumer amountAcceptor; @@ -135,8 +147,17 @@ private ExtendedMenuProviderImpl(final ResourceContainer resourceContainer, } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - AbstractSingleAmountContainerMenu.writeToBuf(buf, amount, resourceContainer, slotReference); + public SingleAmountData getMenuData() { + return new SingleAmountData( + Optional.of(slotReference), + amount, + ResourceContainerData.of(resourceContainer) + ); + } + + @Override + public StreamEncoder getMenuCodec() { + return SingleAmountData.STREAM_CODEC; } @Override diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RegulatorUpgradeState.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RegulatorUpgradeState.java new file mode 100644 index 000000000..7898651d7 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/RegulatorUpgradeState.java @@ -0,0 +1,37 @@ +package com.refinedmods.refinedstorage2.platform.common.upgrade; + +import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; +import com.refinedmods.refinedstorage2.platform.common.support.resource.ResourceCodecs; + +import java.util.Optional; +import javax.annotation.Nullable; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record RegulatorUpgradeState(double amount, Optional resource) { + public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + Codec.DOUBLE.fieldOf("amount").forGetter(RegulatorUpgradeState::amount), + Codec.optionalField("resource", ResourceCodecs.CODEC, false).forGetter(RegulatorUpgradeState::resource) + ).apply(instance, RegulatorUpgradeState::new)); + + public static final StreamCodec STREAM_CODEC = StreamCodec + .composite( + ByteBufCodecs.DOUBLE, RegulatorUpgradeState::amount, + ByteBufCodecs.optional(ResourceCodecs.STREAM_CODEC), RegulatorUpgradeState::resource, + RegulatorUpgradeState::new + ); + + static final RegulatorUpgradeState EMPTY = new RegulatorUpgradeState(1, Optional.empty()); + + RegulatorUpgradeState withAmount(final double newAmount) { + return new RegulatorUpgradeState(newAmount, resource); + } + + RegulatorUpgradeState withResource(@Nullable final PlatformResourceKey newResource) { + return new RegulatorUpgradeState(amount, Optional.ofNullable(newResource)); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/SimpleUpgradeItem.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/SimpleUpgradeItem.java index 5f35382ef..d1a8a0b7d 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/SimpleUpgradeItem.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/SimpleUpgradeItem.java @@ -1,23 +1,34 @@ package com.refinedmods.refinedstorage2.platform.common.upgrade; +import com.refinedmods.refinedstorage2.platform.api.PlatformApi; +import com.refinedmods.refinedstorage2.platform.api.support.HelpTooltipComponent; import com.refinedmods.refinedstorage2.platform.api.upgrade.AbstractUpgradeItem; import com.refinedmods.refinedstorage2.platform.api.upgrade.UpgradeRegistry; +import com.refinedmods.refinedstorage2.platform.common.Platform; +import java.util.Optional; import java.util.function.LongSupplier; +import net.minecraft.network.chat.Component; +import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; + public final class SimpleUpgradeItem extends AbstractUpgradeItem { private final LongSupplier energyUsageResolver; private final boolean foil; + private final Component helpText; - public SimpleUpgradeItem(final UpgradeRegistry registry, - final LongSupplier energyUsageResolver, - final boolean foil) { + private SimpleUpgradeItem(final UpgradeRegistry registry, + final LongSupplier energyUsageResolver, + final boolean foil, + final Component helpText) { super(new Item.Properties(), registry); this.energyUsageResolver = energyUsageResolver; this.foil = foil; + this.helpText = helpText; } @Override @@ -29,4 +40,36 @@ public long getEnergyUsage() { public boolean isFoil(final ItemStack stack) { return foil; } + + @Override + public Optional getTooltipImage(final ItemStack stack) { + return Optional.of(new HelpTooltipComponent(helpText)); + } + + public static SimpleUpgradeItem speedUpgrade() { + return new SimpleUpgradeItem( + PlatformApi.INSTANCE.getUpgradeRegistry(), + Platform.INSTANCE.getConfig().getUpgrade()::getSpeedUpgradeEnergyUsage, + false, + createTranslation("item", "speed_upgrade.help") + ); + } + + public static SimpleUpgradeItem stackUpgrade() { + return new SimpleUpgradeItem( + PlatformApi.INSTANCE.getUpgradeRegistry(), + Platform.INSTANCE.getConfig().getUpgrade()::getStackUpgradeEnergyUsage, + false, + createTranslation("item", "stack_upgrade.help") + ); + } + + public static SimpleUpgradeItem silkTouchUpgrade() { + return new SimpleUpgradeItem( + PlatformApi.INSTANCE.getUpgradeRegistry(), + Platform.INSTANCE.getConfig().getUpgrade()::getSilkTouchUpgradeEnergyUsage, + true, + createTranslation("item", "silk_touch_upgrade.help") + ); + } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeContainer.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeContainer.java index de42370b7..aa2a8b37e 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeContainer.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeContainer.java @@ -13,6 +13,7 @@ import it.unimi.dsi.fastutil.objects.Object2IntMap; import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.ListTag; import net.minecraft.world.SimpleContainer; import net.minecraft.world.item.Item; @@ -76,8 +77,8 @@ public OptionalLong getRegulatedAmount(final ResourceKey resource) { } @Override - public void fromTag(final ListTag tag) { - super.fromTag(tag); + public void fromTag(final ListTag tag, final HolderLookup.Provider provider) { + super.fromTag(tag, provider); updateIndex(); } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeWithEnchantedBookRecipe.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeWithEnchantedBookRecipe.java index e6a5d69e1..1a79b670b 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeWithEnchantedBookRecipe.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeWithEnchantedBookRecipe.java @@ -2,59 +2,61 @@ import com.refinedmods.refinedstorage2.platform.common.content.Items; -import java.util.Objects; import java.util.Optional; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.core.Holder; import net.minecraft.core.NonNullList; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.inventory.CraftingContainer; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.EnchantedBookItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingBookCategory; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.ShapedRecipe; import net.minecraft.world.item.crafting.ShapedRecipePattern; import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.EnchantmentInstance; +import net.minecraft.world.item.enchantment.ItemEnchantments; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; -import static java.util.Objects.requireNonNull; - public class UpgradeWithEnchantedBookRecipe extends ShapedRecipe { - public static final Codec CODEC = RecordCodecBuilder.create( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec( instance -> instance.group( - Codec.STRING.fieldOf("enchantment") - .xmap(ResourceLocation::new, ResourceLocation::toString) - .forGetter(UpgradeWithEnchantedBookRecipe::getEnchantmentId), + Enchantment.CODEC.fieldOf("enchantment") + .forGetter(UpgradeWithEnchantedBookRecipe::getEnchantment), Codec.INT.fieldOf("level").orElse(1) .forGetter(UpgradeWithEnchantedBookRecipe::getEnchantmentLevel), - Codec.STRING.fieldOf("result") - .xmap(ResourceLocation::new, ResourceLocation::toString) - .forGetter(UpgradeWithEnchantedBookRecipe::getResultItemId) + ItemStack.CODEC.fieldOf("result") + .forGetter(UpgradeWithEnchantedBookRecipe::getResultItem) ).apply(instance, UpgradeWithEnchantedBookRecipe::new) ); + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.holderRegistry(Registries.ENCHANTMENT), UpgradeWithEnchantedBookRecipe::getEnchantment, + ByteBufCodecs.INT, UpgradeWithEnchantedBookRecipe::getEnchantmentLevel, + ItemStack.STREAM_CODEC, UpgradeWithEnchantedBookRecipe::getResultItem, + UpgradeWithEnchantedBookRecipe::new + ); - private final ResourceLocation enchantmentId; + private final Holder enchantment; private final int level; - private final ResourceLocation resultItemId; + private final ItemStack resultItem; - UpgradeWithEnchantedBookRecipe(final ResourceLocation enchantmentId, + UpgradeWithEnchantedBookRecipe(final Holder enchantment, final int level, - final ResourceLocation resultItemId) { + final ItemStack resultItem) { super("", CraftingBookCategory.MISC, new ShapedRecipePattern(3, 3, NonNullList.of( Ingredient.EMPTY, Ingredient.of(new ItemStack(Items.INSTANCE.getQuartzEnrichedIron())), - Ingredient.of(EnchantedBookItem.createForEnchantment(new EnchantmentInstance( - getEnchantment(enchantmentId), - level - ))), + Ingredient.of(EnchantedBookItem.createForEnchantment(new EnchantmentInstance(enchantment, level))), Ingredient.of(new ItemStack(Items.INSTANCE.getQuartzEnrichedIron())), Ingredient.of(new ItemStack(Blocks.BOOKSHELF)), Ingredient.of(new ItemStack(Items.INSTANCE.getUpgrade())), @@ -62,22 +64,18 @@ public class UpgradeWithEnchantedBookRecipe extends ShapedRecipe { Ingredient.of(new ItemStack(Items.INSTANCE.getQuartzEnrichedIron())), Ingredient.of(new ItemStack(Items.INSTANCE.getQuartzEnrichedIron())), Ingredient.of(new ItemStack(Items.INSTANCE.getQuartzEnrichedIron())) - ), Optional.empty()), new ItemStack(BuiltInRegistries.ITEM.get(resultItemId))); - this.enchantmentId = enchantmentId; + ), Optional.empty()), resultItem); + this.enchantment = enchantment; this.level = level; - this.resultItemId = resultItemId; - } - - private static Enchantment getEnchantment(final ResourceLocation enchantmentId) { - return requireNonNull(BuiltInRegistries.ENCHANTMENT.get(enchantmentId)); + this.resultItem = resultItem; } - ResourceLocation getResultItemId() { - return resultItemId; + ItemStack getResultItem() { + return resultItem; } - ResourceLocation getEnchantmentId() { - return enchantmentId; + Holder getEnchantment() { + return enchantment; } int getEnchantmentLevel() { @@ -85,19 +83,13 @@ int getEnchantmentLevel() { } @Override - public boolean matches(final CraftingContainer craftingContainer, final Level theLevel) { + public boolean matches(final CraftingInput craftingContainer, final Level theLevel) { if (!super.matches(craftingContainer, theLevel)) { return false; } - final ListTag enchantments = EnchantedBookItem.getEnchantments(craftingContainer.getItem(1)); - for (int i = 0; i < enchantments.size(); ++i) { - final CompoundTag tag = enchantments.getCompound(i); - final int containerLevel = EnchantmentHelper.getEnchantmentLevel(tag); - final ResourceLocation containerEnchantment = EnchantmentHelper.getEnchantmentId(tag); - if (Objects.equals(containerEnchantment, getEnchantmentId()) && containerLevel == level) { - return true; - } - } - return false; + final ItemEnchantments enchantments = EnchantmentHelper.getEnchantmentsForCrafting( + craftingContainer.getItem(1) + ); + return enchantments.getLevel(enchantment) == level; } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeWithEnchantedBookRecipeSerializer.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeWithEnchantedBookRecipeSerializer.java index 30cd78fbd..dffbc973b 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeWithEnchantedBookRecipeSerializer.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/upgrade/UpgradeWithEnchantedBookRecipeSerializer.java @@ -1,28 +1,18 @@ package com.refinedmods.refinedstorage2.platform.common.upgrade; -import com.mojang.serialization.Codec; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; +import com.mojang.serialization.MapCodec; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.crafting.RecipeSerializer; public class UpgradeWithEnchantedBookRecipeSerializer implements RecipeSerializer { @Override - public Codec codec() { + public MapCodec codec() { return UpgradeWithEnchantedBookRecipe.CODEC; } @Override - public UpgradeWithEnchantedBookRecipe fromNetwork(final FriendlyByteBuf buf) { - final ResourceLocation resultItemId = buf.readResourceLocation(); - final ResourceLocation enchantmentId = buf.readResourceLocation(); - final int level = buf.readInt(); - return new UpgradeWithEnchantedBookRecipe(enchantmentId, level, resultItemId); - } - - @Override - public void toNetwork(final FriendlyByteBuf buf, final UpgradeWithEnchantedBookRecipe recipe) { - buf.writeResourceLocation(recipe.getResultItemId()); - buf.writeResourceLocation(recipe.getEnchantmentId()); - buf.writeInt(recipe.getEnchantmentLevel()); + public StreamCodec streamCodec() { + return UpgradeWithEnchantedBookRecipe.STREAM_CODEC; } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/ContainerUtil.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/ContainerUtil.java index 7e24227e8..f95ef26ce 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/ContainerUtil.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/ContainerUtil.java @@ -1,5 +1,6 @@ package com.refinedmods.refinedstorage2.platform.common.util; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; @@ -8,28 +9,35 @@ public final class ContainerUtil { private ContainerUtil() { } - public static CompoundTag write(final Container container) { + public static CompoundTag write(final Container container, final HolderLookup.Provider provider) { final CompoundTag tag = new CompoundTag(); for (int i = 0; i < container.getContainerSize(); ++i) { final ItemStack stack = container.getItem(i); if (!stack.isEmpty()) { - tag.put(getSlotKey(i), stack.save(new CompoundTag())); + tag.put(getSlotKey(i), stack.save(provider)); } } return tag; } - public static void read(final CompoundTag tag, final Container container) { + public static void read(final CompoundTag tag, + final Container container, + final HolderLookup.Provider provider) { for (int i = 0; i < container.getContainerSize(); ++i) { - readSlot(tag, container, i); + readSlot(tag, container, i, provider); } } - private static void readSlot(final CompoundTag tag, final Container container, final int i) { + private static void readSlot( + final CompoundTag tag, + final Container container, + final int i, + final HolderLookup.Provider provider + ) { if (!hasItemInSlot(tag, i)) { return; } - final ItemStack stack = getItemInSlot(tag, i); + final ItemStack stack = getItemInSlot(tag, i, provider); if (stack.isEmpty()) { return; } @@ -44,7 +52,11 @@ public static boolean hasItemInSlot(final CompoundTag tag, final int slot) { return tag.contains(getSlotKey(slot)); } - public static ItemStack getItemInSlot(final CompoundTag tag, final int i) { - return ItemStack.of(tag.getCompound(getSlotKey(i))); + public static ItemStack getItemInSlot( + final CompoundTag tag, + final int i, + final HolderLookup.Provider provider + ) { + return ItemStack.parseOptional(provider, tag.getCompound(getSlotKey(i))); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/IdentifierUtil.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/IdentifierUtil.java index 8965e7670..0719a3045 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/IdentifierUtil.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/IdentifierUtil.java @@ -17,7 +17,7 @@ private IdentifierUtil() { } public static ResourceLocation createIdentifier(final String value) { - return new ResourceLocation(MOD_ID, value); + return ResourceLocation.fromNamespaceAndPath(MOD_ID, value); } public static String createTranslationKey(final String category, final String value) { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/PacketUtil.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/PacketUtil.java index bd04f3482..7bbb9ba11 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/PacketUtil.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/PacketUtil.java @@ -1,51 +1,14 @@ package com.refinedmods.refinedstorage2.platform.common.util; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.common.support.resource.FluidResource; -import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; - -import javax.annotation.Nullable; - -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.world.item.Item; +import io.netty.buffer.ByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; public final class PacketUtil { private PacketUtil() { } - public static ItemResource readItemResource(final FriendlyByteBuf buf) { - final int id = buf.readVarInt(); - final CompoundTag nbt = buf.readNbt(); - return new ItemResource(Item.byId(id), nbt); - } - - public static PlatformResourceKey readFluidResource(final FriendlyByteBuf buf) { - final int id = buf.readVarInt(); - final CompoundTag nbt = buf.readNbt(); - return new FluidResource(BuiltInRegistries.FLUID.byId(id), nbt); - } - - public static void writeTrackedResource(final FriendlyByteBuf buf, - @Nullable final TrackedResource trackedResource) { - if (trackedResource == null) { - buf.writeBoolean(false); - } else { - buf.writeBoolean(true); - buf.writeLong(trackedResource.getTime()); - buf.writeUtf(trackedResource.getSourceName()); - } - } - - @Nullable - public static TrackedResource readTrackedResource(final FriendlyByteBuf buf) { - if (!buf.readBoolean()) { - return null; - } - final long time = buf.readLong(); - final String sourceName = buf.readUtf(); - return new TrackedResource(sourceName, time); + public static > StreamCodec enumStreamCodec(final T[] values) { + return ByteBufCodecs.idMapper(id -> id < 0 || id >= values.length ? values[0] : values[id], Enum::ordinal); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/SecurityToastHelper.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/SecurityToastHelper.java deleted file mode 100644 index 14ac988a7..000000000 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/SecurityToastHelper.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.util; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.components.toasts.SystemToast; -import net.minecraft.network.chat.Component; - -import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; - -public final class SecurityToastHelper { - private static final SystemToast.SystemToastId NO_PERMISSION_TOAST_ID = new SystemToast.SystemToastId(); - - private SecurityToastHelper() { - } - - public static void addNoPermissionToast(final Component message) { - SystemToast.add( - Minecraft.getInstance().getToasts(), - NO_PERMISSION_TOAST_ID, - createTranslation("misc", "no_permission"), - message - ); - } -} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/SecurityToastUtil.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/SecurityToastUtil.java new file mode 100644 index 000000000..5249f3635 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/util/SecurityToastUtil.java @@ -0,0 +1,23 @@ +package com.refinedmods.refinedstorage2.platform.common.util; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.components.toasts.SystemToast; +import net.minecraft.network.chat.Component; + +import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslation; + +public final class SecurityToastUtil { + private static final SystemToast.SystemToastId NO_PERMISSION_TOAST_ID = new SystemToast.SystemToastId(); + + private SecurityToastUtil() { + } + + public static void addNoPermissionToast(final Component message) { + SystemToast.add( + Minecraft.getInstance().getToasts(), + NO_PERMISSION_TOAST_ID, + createTranslation("misc", "no_permission"), + message + ); + } +} diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/wirelesstransmitter/WirelessTransmitterBlockEntity.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/wirelesstransmitter/WirelessTransmitterBlockEntity.java index 30fbfeeb0..554419806 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/wirelesstransmitter/WirelessTransmitterBlockEntity.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/wirelesstransmitter/WirelessTransmitterBlockEntity.java @@ -8,7 +8,7 @@ import com.refinedmods.refinedstorage2.platform.common.content.BlockEntities; import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; import com.refinedmods.refinedstorage2.platform.common.support.AbstractDirectionalBlock; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeMenuProvider; +import com.refinedmods.refinedstorage2.platform.common.support.containermenu.NetworkNodeExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.network.AbstractRedstoneModeNetworkNodeContainerBlockEntity; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeContainer; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; @@ -17,11 +17,12 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.network.codec.StreamEncoder; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -29,7 +30,7 @@ public class WirelessTransmitterBlockEntity extends AbstractRedstoneModeNetworkNodeContainerBlockEntity - implements NetworkNodeMenuProvider { + implements NetworkNodeExtendedMenuProvider { private static final String TAG_UPGRADES = "u"; private final UpgradeContainer upgradeContainer = new UpgradeContainer( @@ -50,18 +51,18 @@ protected InWorldNetworkNodeContainer createMainContainer(final SimpleNetworkNod } @Override - public void saveAdditional(final CompoundTag tag) { - super.saveAdditional(tag); - tag.put(TAG_UPGRADES, upgradeContainer.createTag()); + public void saveAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + tag.put(TAG_UPGRADES, upgradeContainer.createTag(provider)); } @Override - public void load(final CompoundTag tag) { + public void loadAdditional(final CompoundTag tag, final HolderLookup.Provider provider) { if (tag.contains(TAG_UPGRADES)) { - upgradeContainer.fromTag(tag.getList(TAG_UPGRADES, Tag.TAG_COMPOUND)); + upgradeContainer.fromTag(tag.getList(TAG_UPGRADES, Tag.TAG_COMPOUND), provider); } configureAccordingToUpgrades(); - super.load(tag); + super.loadAdditional(tag, provider); } @Override @@ -93,13 +94,18 @@ public AbstractContainerMenu createMenu(final int syncId, final Inventory invent return new WirelessTransmitterContainerMenu(syncId, inventory, this, upgradeContainer); } - int getRange() { - return PlatformApi.INSTANCE.getWirelessTransmitterRangeModifier().modifyRange(upgradeContainer, 0); + @Override + public WirelessTransmitterData getMenuData() { + return new WirelessTransmitterData(getRange()); } @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - buf.writeInt(getRange()); + public StreamEncoder getMenuCodec() { + return WirelessTransmitterData.STREAM_CODEC; + } + + int getRange() { + return PlatformApi.INSTANCE.getWirelessTransmitterRangeModifier().modifyRange(upgradeContainer, 0); } private void upgradeContainerChanged() { diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/wirelesstransmitter/WirelessTransmitterContainerMenu.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/wirelesstransmitter/WirelessTransmitterContainerMenu.java index 11f05aadb..4291509a5 100644 --- a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/wirelesstransmitter/WirelessTransmitterContainerMenu.java +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/wirelesstransmitter/WirelessTransmitterContainerMenu.java @@ -1,13 +1,13 @@ package com.refinedmods.refinedstorage2.platform.common.wirelesstransmitter; import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.common.Platform; import com.refinedmods.refinedstorage2.platform.common.content.Menus; import com.refinedmods.refinedstorage2.platform.common.support.AbstractBaseContainerMenu; import com.refinedmods.refinedstorage2.platform.common.support.RedstoneMode; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ClientProperty; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.PropertyTypes; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ServerProperty; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.S2CPackets; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeContainer; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinations; import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeSlot; @@ -15,7 +15,6 @@ import javax.annotation.Nullable; import com.google.common.util.concurrent.RateLimiter; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; @@ -30,14 +29,14 @@ public class WirelessTransmitterContainerMenu extends AbstractBaseContainerMenu public WirelessTransmitterContainerMenu(final int syncId, final Inventory playerInventory, - final FriendlyByteBuf buf) { + final WirelessTransmitterData data) { super(Menus.INSTANCE.getWirelessTransmitter(), syncId); addSlots(playerInventory, new UpgradeContainer( UpgradeDestinations.WIRELESS_TRANSMITTER, PlatformApi.INSTANCE.getUpgradeRegistry() )); registerProperty(new ClientProperty<>(PropertyTypes.REDSTONE_MODE, RedstoneMode.IGNORE)); - this.range = buf.readInt(); + this.range = data.range(); this.wirelessTransmitter = null; this.player = playerInventory.player; } @@ -76,10 +75,7 @@ public void broadcastChanges() { final boolean changed = range != newRange; if (changed && rangeRateLimiter.tryAcquire()) { this.range = newRange; - Platform.INSTANCE.getServerToClientCommunications().sendWirelessTransmitterRange( - (ServerPlayer) player, - range - ); + S2CPackets.sendWirelessTransmitterRange((ServerPlayer) player, range); } } diff --git a/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/wirelesstransmitter/WirelessTransmitterData.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/wirelesstransmitter/WirelessTransmitterData.java new file mode 100644 index 000000000..bc6d2f85d --- /dev/null +++ b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/wirelesstransmitter/WirelessTransmitterData.java @@ -0,0 +1,13 @@ +package com.refinedmods.refinedstorage2.platform.common.wirelesstransmitter; + +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record WirelessTransmitterData(int range) { + public static final StreamCodec STREAM_CODEC = + StreamCodec.composite( + ByteBufCodecs.INT, WirelessTransmitterData::range, + WirelessTransmitterData::new + ); +} 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 79efad7d4..61725cbc3 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 @@ -194,7 +194,11 @@ "item.refinedstorage2.4k_storage_disk": "4K Storage Disk", "item.refinedstorage2.16k_storage_disk": "16K Storage Disk", "item.refinedstorage2.64k_storage_disk": "64K Storage Disk", + "item.refinedstorage2.storage_disk.help": "Stores %s items.", + "item.refinedstorage2.storage_block.help": "Stores %s items.", "item.refinedstorage2.creative_storage_disk": "Creative Storage Disk", + "item.refinedstorage2.creative_storage_disk.help": "Stores an infinite amount of items.", + "item.refinedstorage2.creative_storage_block.help": "Stores an infinite amount of items.", "item.refinedstorage2.64b_fluid_storage_part": "64B Fluid Storage Part", "item.refinedstorage2.256b_fluid_storage_part": "256B Fluid Storage Part", "item.refinedstorage2.1024b_fluid_storage_part": "1024B Fluid Storage Part", @@ -203,23 +207,33 @@ "item.refinedstorage2.256b_fluid_storage_disk": "256B Fluid Storage Disk", "item.refinedstorage2.1024b_fluid_storage_disk": "1024B Fluid Storage Disk", "item.refinedstorage2.4096b_fluid_storage_disk": "4096B Fluid Storage Disk", + "item.refinedstorage2.fluid_storage_disk.help": "Stores %s buckets.", + "item.refinedstorage2.fluid_storage_block.help": "Stores %s buckets.", "item.refinedstorage2.creative_fluid_storage_disk": "Creative Fluid Storage Disk", + "item.refinedstorage2.creative_fluid_storage_disk.help": "Stores an infinite amount of buckets.", + "item.refinedstorage2.creative_fluid_storage_block.help": "Stores an infinite amount of buckets.", "item.refinedstorage2.storage_housing": "Storage Housing", "item.refinedstorage2.construction_core": "Construction Core", "item.refinedstorage2.destruction_core": "Destruction Core", "item.refinedstorage2.wrench": "Wrench", - "item.refinedstorage2.wrench.helper": "Use to rotate blocks or press SHIFT and use to dismantle Refined Storage blocks.", + "item.refinedstorage2.wrench.help": "Use to rotate blocks or press SHIFT and use to dismantle Refined Storage blocks.", "item.refinedstorage2.upgrade": "Upgrade", "item.refinedstorage2.speed_upgrade": "Speed Upgrade", + "item.refinedstorage2.speed_upgrade.help": "Increases the operation speed of a storage network device.", "item.refinedstorage2.stack_upgrade": "Stack Upgrade", + "item.refinedstorage2.stack_upgrade.help": "Increases the amount of resources that the storage network device handles per operation.", "item.refinedstorage2.silk_touch_upgrade": "Silk Touch Upgrade", + "item.refinedstorage2.silk_touch_upgrade.help": "Acts like the Silk Touch enchantment on a pickaxe.", "item.refinedstorage2.fortune_upgrade.1": "Fortune I Upgrade", "item.refinedstorage2.fortune_upgrade.2": "Fortune II Upgrade", "item.refinedstorage2.fortune_upgrade.3": "Fortune III Upgrade", + "item.refinedstorage2.fortune_upgrade.help": "Yields more resources when breaking a block. Acts like the Fortune enchantment on a pickaxe.", "item.refinedstorage2.regulator_upgrade": "Regulator Upgrade", "item.refinedstorage2.regulator_upgrade.help": "In an Exporter, will only export if the amount in the target is less than configured in the upgrade. In an Importer, will only import if the amount in the target is more than configured in the upgrade. Use item to configure.", "item.refinedstorage2.range_upgrade": "Range Upgrade", + "item.refinedstorage2.range_upgrade.help": "Increases the range of the Wireless Transmitter.", "item.refinedstorage2.creative_range_upgrade": "Creative Range Upgrade", + "item.refinedstorage2.creative_range_upgrade.help": "Provides infinite range for the Wireless Transmitter. Does not work cross-dimensionally.", "item.refinedstorage2.wireless_grid": "Wireless Grid", "item.refinedstorage2.creative_wireless_grid": "Creative Wireless Grid", "item.refinedstorage2.wireless_transmitter.help": "Provides wireless network access for items like the Wireless Grid. Multiple are allowed in an area for wider coverage.", @@ -242,6 +256,9 @@ "item.refinedstorage2.network_card.unbound": "Unbound.", "item.refinedstorage2.network_card.bound_help": "Insert into a Network Transmitter. Use while crouching to clear binding.", "item.refinedstorage2.network_card.bound": "Bound to %d, %d, %d in %s.", + "item.refinedstorage2.network_transmitter.help": "Transmits a network signal wirelessly. Needs a Network Card that is paired with a Network Receiver.", + "item.refinedstorage2.network_receiver.help": "Receives a network signal wirelessly. Bind a Network Card to this block.", + "item.refinedstorage2.cable.help": "Connects storage network devices with each other.", "item.refinedstorage2.security_card": "Security Card", "item.refinedstorage2.security_card.cleared_configuration": "Cleared configuration.", "item.refinedstorage2.security_card.unbound": "Unbound.", @@ -250,6 +267,8 @@ "item.refinedstorage2.security_card.bound.help": "Right click to configure. Use while crouching to clear configuration and binding.", "item.refinedstorage2.fallback_security_card": "Fallback Security Card", "item.refinedstorage2.fallback_security_card.help": "Acts as a fallback if no matching Security Card for a player is found. Right click to configure. Use while crouching to clear configuration.", + "item.refinedstorage2.portable_grid.help": "Allows to interact with a storage disk while not being connected to a storage network. Can be used as a block in world, or from your inventory.", + "item.refinedstorage2.storage_monitor.help": "A block that displays the current amount of a certain resource in your storage network. SHIFT + right click to configure. Left click to extract a stack, SHIFT + left click to extract a single resource, right click to insert a resource, right click multiple times to insert resources in bulk.", "misc.refinedstorage2.stored": "Stored: %s", "misc.refinedstorage2.stored_with_capacity": "Stored: %s / %s (%d%%)", "misc.refinedstorage2.total": "%d total", diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/configuration_card.json b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/configuration_card.json index d0e58b52d..947338412 100644 --- a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/configuration_card.json +++ b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/configuration_card.json @@ -3,13 +3,13 @@ "overrides": [ { "predicate": { - "active": 0 + "refinedstorage2:configuration_card_active": 0 }, "model": "refinedstorage2:item/configuration_card/inactive" }, { "predicate": { - "active": 1 + "refinedstorage2:configuration_card_active": 1 }, "model": "refinedstorage2:item/configuration_card/active" } diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/creative_wireless_grid.json b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/creative_wireless_grid.json index 380a93266..e1c52172c 100644 --- a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/creative_wireless_grid.json +++ b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/creative_wireless_grid.json @@ -3,13 +3,13 @@ "overrides": [ { "predicate": { - "active": 0 + "refinedstorage2:network_bound_active": 0 }, "model": "refinedstorage2:item/wireless_grid/inactive" }, { "predicate": { - "active": 1 + "refinedstorage2:network_bound_active": 1 }, "model": "refinedstorage2:item/wireless_grid/active" } diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/network_card.json b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/network_card.json index 9138e7731..3d191cb97 100644 --- a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/network_card.json +++ b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/network_card.json @@ -3,13 +3,13 @@ "overrides": [ { "predicate": { - "active": 0 + "refinedstorage2:network_card_active": 0 }, "model": "refinedstorage2:item/network_card/inactive" }, { "predicate": { - "active": 1 + "refinedstorage2:network_card_active": 1 }, "model": "refinedstorage2:item/network_card/active" } diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/security_card.json b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/security_card.json index 9bf6e03d2..99a019e65 100755 --- a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/security_card.json +++ b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/security_card.json @@ -3,13 +3,13 @@ "overrides": [ { "predicate": { - "active": 0 + "refinedstorage2:security_card_active": 0 }, "model": "refinedstorage2:item/security_card/inactive" }, { "predicate": { - "active": 1 + "refinedstorage2:security_card_active": 1 }, "model": "refinedstorage2:item/security_card/active" } diff --git a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/wireless_grid.json b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/wireless_grid.json index 380a93266..e1c52172c 100644 --- a/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/wireless_grid.json +++ b/refinedstorage2-platform-common/src/main/resources/assets/refinedstorage2/models/item/wireless_grid.json @@ -3,13 +3,13 @@ "overrides": [ { "predicate": { - "active": 0 + "refinedstorage2:network_bound_active": 0 }, "model": "refinedstorage2:item/wireless_grid/inactive" }, { "predicate": { - "active": 1 + "refinedstorage2:network_bound_active": 1 }, "model": "refinedstorage2:item/wireless_grid/active" } diff --git a/refinedstorage2-platform-forge/src/main/resources/data/forge/tags/items/tools/wrench.json b/refinedstorage2-platform-common/src/main/resources/data/c/tags/item/tools/wrench.json similarity index 100% rename from refinedstorage2-platform-forge/src/main/resources/data/forge/tags/items/tools/wrench.json rename to refinedstorage2-platform-common/src/main/resources/data/c/tags/item/tools/wrench.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/better_than_a_barrel.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/better_than_a_barrel.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/better_than_a_barrel.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/better_than_a_barrel.json index a05321c59..03253a45a 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/better_than_a_barrel.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/better_than_a_barrel.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:storage_monitor" + "id": "refinedstorage2:storage_monitor" }, "title": { "translate": "advancements.refinedstorage2.better_than_a_barrel" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/conditional_connecting.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/conditional_connecting.json similarity index 93% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/conditional_connecting.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/conditional_connecting.json index 28a80e541..17159acfe 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/conditional_connecting.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/conditional_connecting.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:relay" + "id": "refinedstorage2:relay" }, "title": { "translate": "advancements.refinedstorage2.conditional_connecting" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/connecting.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/connecting.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/connecting.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/connecting.json index f235632ea..a08cf5f8a 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/connecting.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/connecting.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:cable" + "id": "refinedstorage2:cable" }, "title": { "translate": "advancements.refinedstorage2.connecting" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/construction.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/construction.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/construction.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/construction.json index 48d5e00f9..48755e5cc 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/construction.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/construction.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:constructor" + "id": "refinedstorage2:constructor" }, "title": { "translate": "advancements.refinedstorage2.construction" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/destruction.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/destruction.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/destruction.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/destruction.json index 1e69b848f..08de8e294 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/destruction.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/destruction.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:destructor" + "id": "refinedstorage2:destructor" }, "title": { "translate": "advancements.refinedstorage2.destruction" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/detecting.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/detecting.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/detecting.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/detecting.json index 0f7cec2dd..702a43d40 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/detecting.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/detecting.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:detector" + "id": "refinedstorage2:detector" }, "title": { "translate": "advancements.refinedstorage2.detecting" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/drives.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/drives.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/drives.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/drives.json index 7430b51ef..f12739870 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/drives.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/drives.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:disk_drive" + "id": "refinedstorage2:disk_drive" }, "title": { "translate": "advancements.refinedstorage2.drives" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/exporting.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/exporting.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/exporting.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/exporting.json index 3662ca317..962d92ac0 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/exporting.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/exporting.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:exporter" + "id": "refinedstorage2:exporter" }, "title": { "translate": "advancements.refinedstorage2.exporting" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/importing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/importing.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/importing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/importing.json index b8be6d1fd..7f23c03c4 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/importing.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/importing.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:importer" + "id": "refinedstorage2:importer" }, "title": { "translate": "advancements.refinedstorage2.importing" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/interface_to_the_world.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/interface_to_the_world.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/interface_to_the_world.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/interface_to_the_world.json index 84e1b4aae..f040af3a4 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/interface_to_the_world.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/interface_to_the_world.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:interface" + "id": "refinedstorage2:interface" }, "title": { "translate": "advancements.refinedstorage2.interface_to_the_world" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/interfacing_with_disks.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/interfacing_with_disks.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/interfacing_with_disks.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/interfacing_with_disks.json index abf6a881f..f809a5327 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/interfacing_with_disks.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/interfacing_with_disks.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:disk_interface" + "id": "refinedstorage2:disk_interface" }, "title": { "translate": "advancements.refinedstorage2.interfacing_with_disks" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/no_cables_required.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/no_cables_required.json similarity index 93% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/no_cables_required.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/no_cables_required.json index b13859692..98474fccb 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/no_cables_required.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/no_cables_required.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:network_transmitter" + "id": "refinedstorage2:network_transmitter" }, "title": { "translate": "advancements.refinedstorage2.no_cables_required" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/portable_storage.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/portable_storage.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/portable_storage.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/portable_storage.json index d17050d16..d83cb8aa3 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/portable_storage.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/portable_storage.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:portable_grid" + "id": "refinedstorage2:portable_grid" }, "title": { "translate": "advancements.refinedstorage2.portable_storage" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/root.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/root.json similarity index 90% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/root.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/root.json index 3a930f8ff..fefc5a07b 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/root.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/root.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:creative_controller" + "id": "refinedstorage2:creative_controller" }, "title": { "translate": "mod.refinedstorage2" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/security.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/security.json similarity index 93% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/security.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/security.json index c8bc62011..ec7457e90 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/security.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/security.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:security_manager" + "id": "refinedstorage2:security_manager" }, "title": { "translate": "advancements.refinedstorage2.security" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/storing_externally.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/storing_externally.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/storing_externally.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/storing_externally.json index 4753d30f7..3d665d23a 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/storing_externally.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/storing_externally.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:external_storage" + "id": "refinedstorage2:external_storage" }, "title": { "translate": "advancements.refinedstorage2.storing_externally" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/storing_fluids.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/storing_fluids.json similarity index 90% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/storing_fluids.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/storing_fluids.json index d8fddd71c..a7138e468 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/storing_fluids.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/storing_fluids.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:64b_fluid_storage_disk" + "id": "refinedstorage2:64b_fluid_storage_disk" }, "title": { "translate": "advancements.refinedstorage2.storing_fluids" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/storing_items.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/storing_items.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/storing_items.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/storing_items.json index 0dbdc1a53..1b7b25e79 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/storing_items.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/storing_items.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:1k_storage_disk" + "id": "refinedstorage2:1k_storage_disk" }, "title": { "translate": "advancements.refinedstorage2.storing_items" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/upgrading.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/upgrading.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/upgrading.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/upgrading.json index 73939a392..9423e8a44 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/upgrading.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/upgrading.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:upgrade" + "id": "refinedstorage2:upgrade" }, "title": { "translate": "advancements.refinedstorage2.upgrading" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/upgrading_your_grid.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/upgrading_your_grid.json similarity index 92% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/upgrading_your_grid.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/upgrading_your_grid.json index 81ee9ab70..e48fe5f81 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/upgrading_your_grid.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/upgrading_your_grid.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:crafting_grid" + "id": "refinedstorage2:crafting_grid" }, "title": { "translate": "advancements.refinedstorage2.upgrading_your_grid" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/viewing_your_storage.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/viewing_your_storage.json similarity index 93% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/viewing_your_storage.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/viewing_your_storage.json index 254586ad4..51a627f81 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/viewing_your_storage.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/viewing_your_storage.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:grid" + "id": "refinedstorage2:grid" }, "title": { "translate": "advancements.refinedstorage2.viewing_your_storage" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/wireless.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/wireless.json similarity index 93% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/wireless.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/wireless.json index 29b9fe2e9..713477748 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancements/wireless.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/advancement/wireless.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "item": "refinedstorage2:wireless_grid" + "id": "refinedstorage2:wireless_grid" }, "title": { "translate": "advancements.refinedstorage2.wireless" diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/1024b_fluid_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/1024b_fluid_storage_block.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/1024b_fluid_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/1024b_fluid_storage_block.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/16k_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/16k_storage_block.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/16k_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/16k_storage_block.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/1k_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/1k_storage_block.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/1k_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/1k_storage_block.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/256b_fluid_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/256b_fluid_storage_block.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/256b_fluid_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/256b_fluid_storage_block.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/4096b_fluid_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/4096b_fluid_storage_block.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/4096b_fluid_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/4096b_fluid_storage_block.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/4k_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/4k_storage_block.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/4k_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/4k_storage_block.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/64b_fluid_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/64b_fluid_storage_block.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/64b_fluid_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/64b_fluid_storage_block.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/64k_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/64k_storage_block.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/64k_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/64k_storage_block.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/creative_fluid_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/creative_fluid_storage_block.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/creative_fluid_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/creative_fluid_storage_block.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/creative_portable_grid.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/creative_portable_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/creative_portable_grid.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/creative_portable_grid.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/creative_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/creative_storage_block.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/creative_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/creative_storage_block.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/disk_drive.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/disk_drive.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/disk_drive.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/disk_drive.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/exporter.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/exporter.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/exporter.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/exporter.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/external_storage.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/external_storage.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/external_storage.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/external_storage.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/importer.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/importer.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/importer.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/importer.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/interface.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/interface.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/interface.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/interface.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/machine_casing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/machine_casing.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/machine_casing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/machine_casing.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/portable_grid.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/portable_grid.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/portable_grid.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/portable_grid.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/quartz_enriched_iron_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/quartz_enriched_iron_block.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/quartz_enriched_iron_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/quartz_enriched_iron_block.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/storage_monitor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/storage_monitor.json similarity index 100% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_tables/blocks/storage_monitor.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/loot_table/blocks/storage_monitor.json diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_block.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_block.json index 446ea82f7..7e362b8f6 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_block.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_block.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:1024b_fluid_storage_block" + "id": "refinedstorage2:1024b_fluid_storage_block" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_disk.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_disk.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_disk.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_disk.json index ed72b05d8..18712aace 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_disk.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_disk.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:1024b_fluid_storage_disk" + "id": "refinedstorage2:1024b_fluid_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_disk_from_storage_housing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_disk_from_storage_housing.json similarity index 79% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_disk_from_storage_housing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_disk_from_storage_housing.json index 47ff71028..015954141 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_disk_from_storage_housing.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_disk_from_storage_housing.json @@ -9,6 +9,6 @@ } ], "result": { - "item": "refinedstorage2:1024b_fluid_storage_disk" + "id": "refinedstorage2:1024b_fluid_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_part.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_part.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_part.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_part.json index f1e35c826..1823b49cc 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1024b_fluid_storage_part.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1024b_fluid_storage_part.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:1024b_fluid_storage_part" + "id": "refinedstorage2:1024b_fluid_storage_part" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_block.json similarity index 88% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_block.json index 68f911c64..a712ee859 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_block.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_block.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:16k_storage_block" + "id": "refinedstorage2:16k_storage_block" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_disk.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_disk.json similarity index 88% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_disk.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_disk.json index 250286153..1d188c6b9 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_disk.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_disk.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:16k_storage_disk" + "id": "refinedstorage2:16k_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_disk_from_storage_housing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_disk_from_storage_housing.json similarity index 81% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_disk_from_storage_housing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_disk_from_storage_housing.json index f548d6dce..14e50a6a5 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_disk_from_storage_housing.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_disk_from_storage_housing.json @@ -9,6 +9,6 @@ } ], "result": { - "item": "refinedstorage2:16k_storage_disk" + "id": "refinedstorage2:16k_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_part.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_part.json similarity index 89% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_part.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_part.json index 5589ea1ed..bbd1cf544 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/16k_storage_part.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/16k_storage_part.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:16k_storage_part" + "id": "refinedstorage2:16k_storage_part" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_block.json similarity index 89% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_block.json index 6df942a73..8e1ec2004 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_block.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_block.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:1k_storage_block" + "id": "refinedstorage2:1k_storage_block" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_disk.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_disk.json similarity index 88% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_disk.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_disk.json index 3329e503a..0d17bdfb5 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_disk.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_disk.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:1k_storage_disk" + "id": "refinedstorage2:1k_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_disk_from_storage_housing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_disk_from_storage_housing.json similarity index 81% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_disk_from_storage_housing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_disk_from_storage_housing.json index 2594ef3bb..c38566098 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_disk_from_storage_housing.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_disk_from_storage_housing.json @@ -9,6 +9,6 @@ } ], "result": { - "item": "refinedstorage2:1k_storage_disk" + "id": "refinedstorage2:1k_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_part.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_part.json similarity index 88% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_part.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_part.json index 3be097277..ba196934a 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/1k_storage_part.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/1k_storage_part.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:1k_storage_part" + "id": "refinedstorage2:1k_storage_part" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_block.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_block.json index 0433ec81f..7e5a22a69 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_block.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_block.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:256b_fluid_storage_block" + "id": "refinedstorage2:256b_fluid_storage_block" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_disk.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_disk.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_disk.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_disk.json index 5cdc05d31..13e7f5996 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_disk.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_disk.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:256b_fluid_storage_disk" + "id": "refinedstorage2:256b_fluid_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_disk_from_storage_housing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_disk_from_storage_housing.json similarity index 80% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_disk_from_storage_housing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_disk_from_storage_housing.json index 2d52efd82..8c3ffebb0 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_disk_from_storage_housing.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_disk_from_storage_housing.json @@ -9,6 +9,6 @@ } ], "result": { - "item": "refinedstorage2:256b_fluid_storage_disk" + "id": "refinedstorage2:256b_fluid_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_part.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_part.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_part.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_part.json index 31810f24d..da37d01c4 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/256b_fluid_storage_part.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/256b_fluid_storage_part.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:256b_fluid_storage_part" + "id": "refinedstorage2:256b_fluid_storage_part" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_block.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_block.json index 99c03781a..7ef712cf1 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_block.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_block.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:4096b_fluid_storage_block" + "id": "refinedstorage2:4096b_fluid_storage_block" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_disk.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_disk.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_disk.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_disk.json index 6a1ad441c..b2870ee62 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_disk.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_disk.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:4096b_fluid_storage_disk" + "id": "refinedstorage2:4096b_fluid_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_disk_from_storage_housing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_disk_from_storage_housing.json similarity index 79% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_disk_from_storage_housing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_disk_from_storage_housing.json index a6e7a63c8..4f691f6c2 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_disk_from_storage_housing.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_disk_from_storage_housing.json @@ -9,6 +9,6 @@ } ], "result": { - "item": "refinedstorage2:4096b_fluid_storage_disk" + "id": "refinedstorage2:4096b_fluid_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_part.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_part.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_part.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_part.json index 79dd47ccd..b9aca1764 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4096b_fluid_storage_part.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4096b_fluid_storage_part.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:4096b_fluid_storage_part" + "id": "refinedstorage2:4096b_fluid_storage_part" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_block.json similarity index 89% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_block.json index 658a15f09..984e4597f 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_block.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_block.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:4k_storage_block" + "id": "refinedstorage2:4k_storage_block" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_disk.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_disk.json similarity index 88% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_disk.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_disk.json index 1e3511e06..d4cc70522 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_disk.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_disk.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:4k_storage_disk" + "id": "refinedstorage2:4k_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_disk_from_storage_housing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_disk_from_storage_housing.json similarity index 81% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_disk_from_storage_housing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_disk_from_storage_housing.json index c4d3731c8..20d5584b1 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_disk_from_storage_housing.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_disk_from_storage_housing.json @@ -9,6 +9,6 @@ } ], "result": { - "item": "refinedstorage2:4k_storage_disk" + "id": "refinedstorage2:4k_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_part.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_part.json similarity index 89% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_part.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_part.json index 09024d294..9596b9e89 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/4k_storage_part.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/4k_storage_part.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:4k_storage_part" + "id": "refinedstorage2:4k_storage_part" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_block.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_block.json index 2228fd7b2..b2ca56ee1 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_block.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_block.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:64b_fluid_storage_block" + "id": "refinedstorage2:64b_fluid_storage_block" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_disk.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_disk.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_disk.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_disk.json index 5989af17b..319cc703a 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_disk.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_disk.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:64b_fluid_storage_disk" + "id": "refinedstorage2:64b_fluid_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_disk_from_storage_housing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_disk_from_storage_housing.json similarity index 80% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_disk_from_storage_housing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_disk_from_storage_housing.json index caf595d83..2507aa062 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_disk_from_storage_housing.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_disk_from_storage_housing.json @@ -9,6 +9,6 @@ } ], "result": { - "item": "refinedstorage2:64b_fluid_storage_disk" + "id": "refinedstorage2:64b_fluid_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_part.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_part.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_part.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_part.json index d3310a1f4..f4f51a16c 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64b_fluid_storage_part.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64b_fluid_storage_part.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:64b_fluid_storage_part" + "id": "refinedstorage2:64b_fluid_storage_part" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_block.json similarity index 88% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_block.json index 9b550f293..790c3a54c 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_block.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_block.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:64k_storage_block" + "id": "refinedstorage2:64k_storage_block" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_disk.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_disk.json similarity index 88% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_disk.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_disk.json index 7ba432617..a4aef390f 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_disk.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_disk.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:64k_storage_disk" + "id": "refinedstorage2:64k_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_disk_from_storage_housing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_disk_from_storage_housing.json similarity index 81% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_disk_from_storage_housing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_disk_from_storage_housing.json index a95fa467d..94f4e1e46 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_disk_from_storage_housing.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_disk_from_storage_housing.json @@ -9,6 +9,6 @@ } ], "result": { - "item": "refinedstorage2:64k_storage_disk" + "id": "refinedstorage2:64k_storage_disk" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_part.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_part.json similarity index 89% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_part.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_part.json index ae55af8a0..4adcd2287 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/64k_storage_part.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/64k_storage_part.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:64k_storage_part" + "id": "refinedstorage2:64k_storage_part" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/advanced_processor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/advanced_processor.json new file mode 100644 index 000000000..1275224e1 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/advanced_processor.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "refinedstorage2:raw_advanced_processor" + }, + "result": { + "id": "refinedstorage2:advanced_processor" + }, + "experience": 0.5 +} diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/basic_processor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/basic_processor.json new file mode 100644 index 000000000..0febc9ec3 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/basic_processor.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "refinedstorage2:raw_basic_processor" + }, + "result": { + "id": "refinedstorage2:basic_processor" + }, + "experience": 0.5 +} diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/block_of_quartz_enriched_iron.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/block_of_quartz_enriched_iron.json similarity index 77% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/block_of_quartz_enriched_iron.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/block_of_quartz_enriched_iron.json index e022d1445..8968bef9a 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/block_of_quartz_enriched_iron.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/block_of_quartz_enriched_iron.json @@ -11,6 +11,6 @@ } }, "result": { - "item": "refinedstorage2:quartz_enriched_iron_block" + "id": "refinedstorage2:quartz_enriched_iron_block" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/cable.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/cable.json similarity index 89% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/cable.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/cable.json index 466fb5944..c330e24e3 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/cable.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/cable.json @@ -17,7 +17,7 @@ } }, "result": { - "item": "refinedstorage2:cable", + "id": "refinedstorage2:cable", "count": 12 } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/configuration_card.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/configuration_card.json similarity index 86% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/configuration_card.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/configuration_card.json index 553f5a645..2ca724164 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/configuration_card.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/configuration_card.json @@ -17,6 +17,6 @@ } }, "result": { - "item": "refinedstorage2:configuration_card" + "id": "refinedstorage2:configuration_card" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/construction_core.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/construction_core.json similarity index 80% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/construction_core.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/construction_core.json index 0792d40d6..edd4e5a56 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/construction_core.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/construction_core.json @@ -9,6 +9,6 @@ } ], "result": { - "item": "refinedstorage2:construction_core" + "id": "refinedstorage2:construction_core" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/constructor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/constructor.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/constructor.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/constructor.json index bb7ba680a..6e3599d87 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/constructor.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/constructor.json @@ -23,6 +23,6 @@ } }, "result": { - "item": "refinedstorage2:constructor" + "id": "refinedstorage2:constructor" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/controller.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/controller.json similarity index 90% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/controller.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/controller.json index 417fc411f..dff6830fe 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/controller.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/controller.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:controller" + "id": "refinedstorage2:controller" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/crafting_grid.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/crafting_grid.json similarity index 85% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/crafting_grid.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/crafting_grid.json index 242f67e15..5189ebaae 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/crafting_grid.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/crafting_grid.json @@ -12,6 +12,6 @@ } ], "result": { - "item": "refinedstorage2:crafting_grid" + "id": "refinedstorage2:crafting_grid" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/destruction_core.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/destruction_core.json similarity index 80% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/destruction_core.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/destruction_core.json index 65c886f79..ed7432e90 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/destruction_core.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/destruction_core.json @@ -9,6 +9,6 @@ } ], "result": { - "item": "refinedstorage2:destruction_core" + "id": "refinedstorage2:destruction_core" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/destructor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/destructor.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/destructor.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/destructor.json index 52aa0c9b9..3e405636f 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/destructor.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/destructor.json @@ -23,6 +23,6 @@ } }, "result": { - "item": "refinedstorage2:destructor" + "id": "refinedstorage2:destructor" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/detector.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/detector.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/detector.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/detector.json index 688f80147..8f11ecacf 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/detector.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/detector.json @@ -23,6 +23,6 @@ } }, "result": { - "item": "refinedstorage2:detector" + "id": "refinedstorage2:detector" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/disk_drive.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/disk_drive.json similarity index 90% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/disk_drive.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/disk_drive.json index f3d7eec0e..089d74b60 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/disk_drive.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/disk_drive.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:disk_drive" + "id": "refinedstorage2:disk_drive" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/disk_interface.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/disk_interface.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/disk_interface.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/disk_interface.json index 4dd84737c..dd3a8bedf 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/disk_interface.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/disk_interface.json @@ -23,6 +23,6 @@ } }, "result": { - "item": "refinedstorage2:disk_interface" + "id": "refinedstorage2:disk_interface" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/exporter.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/exporter.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/exporter.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/exporter.json index 46803c03a..317288d1c 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/exporter.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/exporter.json @@ -12,6 +12,6 @@ } ], "result": { - "item": "refinedstorage2:exporter" + "id": "refinedstorage2:exporter" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/external_storage.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/external_storage.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/external_storage.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/external_storage.json index 68e62c684..28a994ee0 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/external_storage.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/external_storage.json @@ -26,6 +26,6 @@ } }, "result": { - "item": "refinedstorage2:external_storage" + "id": "refinedstorage2:external_storage" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fallback_security_card.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fallback_security_card.json similarity index 78% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fallback_security_card.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fallback_security_card.json index 0186f81b7..28dff3f31 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fallback_security_card.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fallback_security_card.json @@ -9,6 +9,6 @@ } ], "result": { - "item": "refinedstorage2:fallback_security_card" + "id": "refinedstorage2:fallback_security_card" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fortune_1_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fortune_1_upgrade.json new file mode 100644 index 000000000..4fa74cd62 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fortune_1_upgrade.json @@ -0,0 +1,8 @@ +{ + "type": "refinedstorage2:upgrade_with_enchanted_book", + "enchantment": "minecraft:fortune", + "level": 1, + "result": { + "id": "refinedstorage2:fortune_1_upgrade" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fortune_2_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fortune_2_upgrade.json new file mode 100644 index 000000000..e2d3b258b --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fortune_2_upgrade.json @@ -0,0 +1,8 @@ +{ + "type": "refinedstorage2:upgrade_with_enchanted_book", + "enchantment": "minecraft:fortune", + "level": 2, + "result": { + "id": "refinedstorage2:fortune_2_upgrade" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fortune_3_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fortune_3_upgrade.json new file mode 100644 index 000000000..083ea2c4b --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/fortune_3_upgrade.json @@ -0,0 +1,8 @@ +{ + "type": "refinedstorage2:upgrade_with_enchanted_book", + "enchantment": "minecraft:fortune", + "level": 3, + "result": { + "id": "refinedstorage2:fortune_3_upgrade" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/grid.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/grid.json similarity index 93% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/grid.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/grid.json index 190680b03..ca1f283fe 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/grid.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/grid.json @@ -26,6 +26,6 @@ } }, "result": { - "item": "refinedstorage2:grid" + "id": "refinedstorage2:grid" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/importer.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/importer.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/importer.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/importer.json index 90e057dbd..42d7961df 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/importer.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/importer.json @@ -12,6 +12,6 @@ } ], "result": { - "item": "refinedstorage2:importer" + "id": "refinedstorage2:importer" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/improved_processor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/improved_processor.json new file mode 100644 index 000000000..32d851fc7 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/improved_processor.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "refinedstorage2:raw_improved_processor" + }, + "result": { + "id": "refinedstorage2:improved_processor" + }, + "experience": 0.5 +} diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/interface.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/interface.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/interface.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/interface.json index 6fd78e456..7a4d89334 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/interface.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/interface.json @@ -23,6 +23,6 @@ } }, "result": { - "item": "refinedstorage2:interface" + "id": "refinedstorage2:interface" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/machine_casing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/machine_casing.json similarity index 84% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/machine_casing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/machine_casing.json index b872195c6..792e1ce36 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/machine_casing.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/machine_casing.json @@ -14,6 +14,6 @@ } }, "result": { - "item": "refinedstorage2:machine_casing" + "id": "refinedstorage2:machine_casing" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_card.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/network_card.json similarity index 88% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_card.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/network_card.json index 05980b01d..51d61404e 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_card.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/network_card.json @@ -17,6 +17,6 @@ } }, "result": { - "item": "refinedstorage2:network_card" + "id": "refinedstorage2:network_card" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_receiver.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/network_receiver.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_receiver.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/network_receiver.json index 4f9df536f..308f80013 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_receiver.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/network_receiver.json @@ -26,6 +26,6 @@ } }, "result": { - "item": "refinedstorage2:network_receiver" + "id": "refinedstorage2:network_receiver" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_transmitter.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/network_transmitter.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_transmitter.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/network_transmitter.json index ee854972e..7b991111f 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/network_transmitter.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/network_transmitter.json @@ -26,6 +26,6 @@ } }, "result": { - "item": "refinedstorage2:network_transmitter" + "id": "refinedstorage2:network_transmitter" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/portable_grid.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/portable_grid.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/portable_grid.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/portable_grid.json index 2fe492a7a..c2dad6ad4 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/portable_grid.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/portable_grid.json @@ -17,6 +17,6 @@ } }, "result": { - "item": "refinedstorage2:portable_grid" + "id": "refinedstorage2:portable_grid" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/processor_binding.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/processor_binding.json similarity index 83% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/processor_binding.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/processor_binding.json index 0159993e2..1db4a0b38 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/processor_binding.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/processor_binding.json @@ -14,7 +14,7 @@ } }, "result": { - "item": "refinedstorage2:processor_binding", + "id": "refinedstorage2:processor_binding", "count": 8 } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/quartz_enriched_iron.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/quartz_enriched_iron.json similarity index 81% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/quartz_enriched_iron.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/quartz_enriched_iron.json index ee740401c..1343282f0 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/quartz_enriched_iron.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/quartz_enriched_iron.json @@ -13,7 +13,7 @@ } }, "result": { - "item": "refinedstorage2:quartz_enriched_iron", + "id": "refinedstorage2:quartz_enriched_iron", "count": 4 } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/quartz_enriched_iron_from_block.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/quartz_enriched_iron_from_block.json similarity index 76% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/quartz_enriched_iron_from_block.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/quartz_enriched_iron_from_block.json index 912a5bdb8..dcf8cf4af 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/quartz_enriched_iron_from_block.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/quartz_enriched_iron_from_block.json @@ -6,7 +6,7 @@ } ], "result": { - "item": "refinedstorage2:quartz_enriched_iron", + "id": "refinedstorage2:quartz_enriched_iron", "count": 9 } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/range_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/range_upgrade.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/range_upgrade.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/range_upgrade.json index 7f20bcb19..9951c8846 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/range_upgrade.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/range_upgrade.json @@ -17,6 +17,6 @@ } }, "result": { - "item": "refinedstorage2:range_upgrade" + "id": "refinedstorage2:range_upgrade" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/raw_advanced_processor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/raw_advanced_processor.json similarity index 84% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/raw_advanced_processor.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/raw_advanced_processor.json index 94b377310..a21670708 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/raw_advanced_processor.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/raw_advanced_processor.json @@ -15,6 +15,6 @@ } ], "result": { - "item": "refinedstorage2:raw_advanced_processor" + "id": "refinedstorage2:raw_advanced_processor" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/raw_basic_processor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/raw_basic_processor.json similarity index 85% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/raw_basic_processor.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/raw_basic_processor.json index 8c6b4851a..695dc20e9 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/raw_basic_processor.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/raw_basic_processor.json @@ -15,6 +15,6 @@ } ], "result": { - "item": "refinedstorage2:raw_basic_processor" + "id": "refinedstorage2:raw_basic_processor" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/raw_improved_processor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/raw_improved_processor.json similarity index 85% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/raw_improved_processor.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/raw_improved_processor.json index 2ef02c75f..3c1c64185 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/raw_improved_processor.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/raw_improved_processor.json @@ -15,6 +15,6 @@ } ], "result": { - "item": "refinedstorage2:raw_improved_processor" + "id": "refinedstorage2:raw_improved_processor" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/regulator_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/regulator_upgrade.json similarity index 88% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/regulator_upgrade.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/regulator_upgrade.json index d0020b8c4..d786978d5 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/regulator_upgrade.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/regulator_upgrade.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:regulator_upgrade" + "id": "refinedstorage2:regulator_upgrade" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/relay.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/relay.json similarity index 89% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/relay.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/relay.json index 47503ccd9..7d2789e6b 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/relay.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/relay.json @@ -15,6 +15,6 @@ } ], "result": { - "item": "refinedstorage2:relay" + "id": "refinedstorage2:relay" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/security_card.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/security_card.json similarity index 88% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/security_card.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/security_card.json index 073ce7ff8..6872ddc56 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/security_card.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/security_card.json @@ -17,6 +17,6 @@ } }, "result": { - "item": "refinedstorage2:security_card" + "id": "refinedstorage2:security_card" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/security_manager.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/security_manager.json similarity index 90% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/security_manager.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/security_manager.json index 73b19056c..40dd7549d 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/security_manager.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/security_manager.json @@ -23,6 +23,6 @@ } }, "result": { - "item": "refinedstorage2:security_manager" + "id": "refinedstorage2:security_manager" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/silicon.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/silicon.json new file mode 100644 index 000000000..3f10f5355 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/silicon.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "minecraft:quartz" + }, + "result": { + "id": "refinedstorage2:silicon" + }, + "experience": 0.5 +} diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/silk_touch_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/silk_touch_upgrade.json new file mode 100644 index 000000000..651923a27 --- /dev/null +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/silk_touch_upgrade.json @@ -0,0 +1,7 @@ +{ + "type": "refinedstorage2:upgrade_with_enchanted_book", + "enchantment": "minecraft:silk_touch", + "result": { + "id": "refinedstorage2:silk_touch_upgrade" + } +} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/speed_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/speed_upgrade.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/speed_upgrade.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/speed_upgrade.json index bcc314348..517239eb9 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/speed_upgrade.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/speed_upgrade.json @@ -17,6 +17,6 @@ } }, "result": { - "item": "refinedstorage2:speed_upgrade" + "id": "refinedstorage2:speed_upgrade" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/stack_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/stack_upgrade.json similarity index 84% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/stack_upgrade.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/stack_upgrade.json index 428183a12..cff02da76 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/stack_upgrade.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/stack_upgrade.json @@ -14,6 +14,6 @@ } }, "result": { - "item": "refinedstorage2:stack_upgrade" + "id": "refinedstorage2:stack_upgrade" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/storage_housing.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/storage_housing.json similarity index 86% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/storage_housing.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/storage_housing.json index 769a88cde..d209a9c5d 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/storage_housing.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/storage_housing.json @@ -17,6 +17,6 @@ } }, "result": { - "item": "refinedstorage2:storage_housing" + "id": "refinedstorage2:storage_housing" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/storage_monitor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/storage_monitor.json similarity index 91% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/storage_monitor.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/storage_monitor.json index ac7b229d1..ade910ce1 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/storage_monitor.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/storage_monitor.json @@ -26,6 +26,6 @@ } }, "result": { - "item": "refinedstorage2:storage_monitor" + "id": "refinedstorage2:storage_monitor" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/upgrade.json similarity index 89% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/upgrade.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/upgrade.json index 550ee76f2..05a6422d7 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/upgrade.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/upgrade.json @@ -17,6 +17,6 @@ } }, "result": { - "item": "refinedstorage2:upgrade" + "id": "refinedstorage2:upgrade" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/wireless_grid.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/wireless_grid.json similarity index 89% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/wireless_grid.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/wireless_grid.json index 3e5dcb128..3811adf5b 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/wireless_grid.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/wireless_grid.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:wireless_grid" + "id": "refinedstorage2:wireless_grid" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/wireless_transmitter.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/wireless_transmitter.json similarity index 88% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/wireless_transmitter.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/wireless_transmitter.json index 52e8f90d1..3bd6b834a 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/wireless_transmitter.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/wireless_transmitter.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "refinedstorage2:wireless_transmitter" + "id": "refinedstorage2:wireless_transmitter" } } \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/wrench.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/wrench.json similarity index 87% rename from refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/wrench.json rename to refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/wrench.json index 174a032ab..d2a7f1121 100644 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/wrench.json +++ b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipe/wrench.json @@ -14,6 +14,6 @@ } }, "result": { - "item": "refinedstorage2:wrench" + "id": "refinedstorage2:wrench" } } diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/advanced_processor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/advanced_processor.json deleted file mode 100644 index 0fbb97b74..000000000 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/advanced_processor.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:smelting", - "ingredient": { - "item": "refinedstorage2:raw_advanced_processor" - }, - "result": "refinedstorage2:advanced_processor", - "experience": 0.5 -} diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/basic_processor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/basic_processor.json deleted file mode 100644 index 5566bed31..000000000 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/basic_processor.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:smelting", - "ingredient": { - "item": "refinedstorage2:raw_basic_processor" - }, - "result": "refinedstorage2:basic_processor", - "experience": 0.5 -} diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fortune_1_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fortune_1_upgrade.json deleted file mode 100644 index 8c7a4bf15..000000000 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fortune_1_upgrade.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "refinedstorage2:upgrade_with_enchanted_book", - "enchantment": "minecraft:fortune", - "level": 1, - "result": "refinedstorage2:fortune_1_upgrade" -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fortune_2_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fortune_2_upgrade.json deleted file mode 100644 index 68a36dd30..000000000 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fortune_2_upgrade.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "refinedstorage2:upgrade_with_enchanted_book", - "enchantment": "minecraft:fortune", - "level": 2, - "result": "refinedstorage2:fortune_2_upgrade" -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fortune_3_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fortune_3_upgrade.json deleted file mode 100644 index 51a503666..000000000 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/fortune_3_upgrade.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "refinedstorage2:upgrade_with_enchanted_book", - "enchantment": "minecraft:fortune", - "level": 3, - "result": "refinedstorage2:fortune_3_upgrade" -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/improved_processor.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/improved_processor.json deleted file mode 100644 index 915993aad..000000000 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/improved_processor.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:smelting", - "ingredient": { - "item": "refinedstorage2:raw_improved_processor" - }, - "result": "refinedstorage2:improved_processor", - "experience": 0.5 -} diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/silicon.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/silicon.json deleted file mode 100644 index 232c13ed3..000000000 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/silicon.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "minecraft:smelting", - "ingredient": { - "item": "minecraft:quartz" - }, - "result": "refinedstorage2:silicon", - "experience": 0.5 -} diff --git a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/silk_touch_upgrade.json b/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/silk_touch_upgrade.json deleted file mode 100644 index c2f8c20fb..000000000 --- a/refinedstorage2-platform-common/src/main/resources/data/refinedstorage2/recipes/silk_touch_upgrade.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "refinedstorage2:upgrade_with_enchanted_book", - "enchantment": "minecraft:silk_touch", - "result": "refinedstorage2:silk_touch_upgrade" -} \ No newline at end of file diff --git a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/PlatformTestFixtures.java b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/PlatformTestFixtures.java deleted file mode 100644 index 5c12ddd44..000000000 --- a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/PlatformTestFixtures.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common; - -import com.refinedmods.refinedstorage2.platform.api.storage.StorageType; -import com.refinedmods.refinedstorage2.platform.api.support.registry.PlatformRegistry; -import com.refinedmods.refinedstorage2.platform.common.storage.StorageTypes; -import com.refinedmods.refinedstorage2.platform.common.support.registry.PlatformRegistryImpl; - -import net.minecraft.resources.ResourceLocation; - -public final class PlatformTestFixtures { - public static final PlatformRegistry STORAGE_TYPE_REGISTRY = new PlatformRegistryImpl<>(); - - static { - STORAGE_TYPE_REGISTRY.register(new ResourceLocation("item"), StorageTypes.ITEM); - } - - private PlatformTestFixtures() { - } -} diff --git a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/TestPlatform.java b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/TestPlatform.java index 7a0c108bd..7b7e33730 100644 --- a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/TestPlatform.java +++ b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/TestPlatform.java @@ -4,8 +4,6 @@ import com.refinedmods.refinedstorage2.api.grid.view.GridResourceFactory; import com.refinedmods.refinedstorage2.api.network.energy.EnergyStorage; import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridInsertionStrategyFactory; -import com.refinedmods.refinedstorage2.platform.common.support.ClientToServerCommunications; -import com.refinedmods.refinedstorage2.platform.common.support.ServerToClientCommunications; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.MenuOpener; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.TransferManager; import com.refinedmods.refinedstorage2.platform.common.support.render.FluidRenderer; @@ -25,16 +23,17 @@ import net.minecraft.core.Direction; import net.minecraft.core.NonNullList; import net.minecraft.network.chat.Component; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; -import net.minecraft.tags.TagKey; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.inventory.tooltip.TooltipComponent; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelReader; @@ -50,16 +49,6 @@ public TestPlatform(final long bucketAmount) { this.bucketAmount = bucketAmount; } - @Override - public ServerToClientCommunications getServerToClientCommunications() { - throw new UnsupportedOperationException(); - } - - @Override - public ClientToServerCommunications getClientToServerCommunications() { - throw new UnsupportedOperationException(); - } - @Override public MenuOpener getMenuOpener() { throw new UnsupportedOperationException(); @@ -70,11 +59,6 @@ public long getBucketAmount() { return bucketAmount; } - @Override - public TagKey getWrenchTag() { - throw new UnsupportedOperationException(); - } - @Override public Config getConfig() { throw new UnsupportedOperationException(); @@ -139,7 +123,7 @@ public ItemStack getCloneItemStack(final BlockState state, final Level level, fi @Override public NonNullList getRemainingCraftingItems(final Player player, final CraftingRecipe craftingRecipe, - final CraftingContainer container) { + final CraftingInput input) { throw new UnsupportedOperationException(); } @@ -200,4 +184,14 @@ public void renderTooltip(final GuiGraphics graphics, final List getEnergyStorage(final ItemStack stack) { throw new UnsupportedOperationException(); } + + @Override + public void sendPacketToServer(final T packet) { + throw new UnsupportedOperationException(); + } + + @Override + public void sendPacketToClient(final ServerPlayer player, final T packet) { + throw new UnsupportedOperationException(); + } } diff --git a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/grid/GridSortingTypesTest.java b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/grid/GridSortingTypesTest.java index fb32d276c..ac8e04280 100644 --- a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/grid/GridSortingTypesTest.java +++ b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/grid/GridSortingTypesTest.java @@ -14,6 +14,7 @@ import java.util.Comparator; import java.util.Optional; +import net.minecraft.core.component.DataComponentPatch; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import org.junit.jupiter.api.BeforeEach; @@ -49,9 +50,9 @@ void setUp() { view -> Comparator.comparing(GridResource::getName), view -> Comparator.comparing(GridResource::getAmount) ); - dirt = new ItemResource(Items.DIRT, null); - stone = new ItemResource(Items.STONE, null); - gold = new ItemResource(Items.GOLD_INGOT, null); + dirt = new ItemResource(Items.DIRT, DataComponentPatch.EMPTY); + stone = new ItemResource(Items.STONE, DataComponentPatch.EMPTY); + gold = new ItemResource(Items.GOLD_INGOT, DataComponentPatch.EMPTY); } @ParameterizedTest diff --git a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/FluidStorageTypeTest.java b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/FluidStorageTypeTest.java deleted file mode 100644 index dfbfd1832..000000000 --- a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/FluidStorageTypeTest.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.storage; - -import com.refinedmods.refinedstorage2.api.core.Action; -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; -import com.refinedmods.refinedstorage2.api.storage.EmptyActor; -import com.refinedmods.refinedstorage2.api.storage.InMemoryStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.Storage; -import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorage; -import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.tracked.InMemoryTrackedStorageRepository; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorage; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorageImpl; -import com.refinedmods.refinedstorage2.platform.api.storage.PlayerActor; -import com.refinedmods.refinedstorage2.platform.api.storage.StorageType; -import com.refinedmods.refinedstorage2.platform.common.SimpleListener; -import com.refinedmods.refinedstorage2.platform.common.support.resource.FluidResource; -import com.refinedmods.refinedstorage2.platform.test.SetupMinecraft; - -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.level.material.Fluids; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import static com.refinedmods.refinedstorage2.platform.test.TagHelper.createDummyTag; -import static org.assertj.core.api.Assertions.assertThat; - -@SetupMinecraft -class FluidStorageTypeTest { - StorageType sut = StorageTypes.FLUID; - SimpleListener listener; - - @BeforeEach - void setUp() { - listener = new SimpleListener(); - } - - @Test - void shouldSerializeAndDeserializeRegularStorage() { - // Arrange - final InMemoryTrackedStorageRepository tracker = new InMemoryTrackedStorageRepository(); - final Storage storage = new PlatformStorage( - new TrackedStorageImpl(new InMemoryStorageImpl(), tracker, () -> 123L), - StorageTypes.FLUID, - tracker, - () -> { - } - ); - - storage.insert(new FluidResource(Fluids.WATER, createDummyTag()), 10, Action.EXECUTE, new PlayerActor("A")); - storage.insert(new FluidResource(Fluids.LAVA, null), 15, Action.EXECUTE, EmptyActor.INSTANCE); - - // Act - final CompoundTag serialized = sut.toTag(storage); - final Storage deserialized = sut.fromTag(serialized, listener); - - // Assert - assertThat(listener.isChanged()).isFalse(); - assertThat(deserialized).isInstanceOf(PlatformStorage.class); - assertThat(deserialized.getAll()).usingRecursiveFieldByFieldElementComparator().containsExactlyInAnyOrder( - new ResourceAmount(new FluidResource(Fluids.WATER, createDummyTag()), 10), - new ResourceAmount(new FluidResource(Fluids.LAVA, null), 15) - ); - assertThat(((TrackedStorage) deserialized).findTrackedResourceByActorType( - new FluidResource(Fluids.WATER, createDummyTag()), - PlayerActor.class - )).get().usingRecursiveComparison().isEqualTo(new TrackedResource("A", 123)); - assertThat(((TrackedStorage) deserialized).findTrackedResourceByActorType( - new FluidResource(Fluids.LAVA, null), - PlayerActor.class - )).isEmpty(); - } - - @Test - void shouldCallListenerOnDeserializedStorage() { - // Arrange - final InMemoryTrackedStorageRepository tracker = new InMemoryTrackedStorageRepository(); - final Storage storage = new PlatformStorage( - new TrackedStorageImpl(new InMemoryStorageImpl(), tracker, () -> 123L), - StorageTypes.FLUID, - tracker, - () -> { - } - ); - storage.insert(new FluidResource(Fluids.WATER, null), 15, Action.EXECUTE, EmptyActor.INSTANCE); - - final CompoundTag serialized = sut.toTag(storage); - final Storage deserialized = sut.fromTag(serialized, listener); - - // Act - final boolean preInsert = listener.isChanged(); - deserialized.insert(new FluidResource(Fluids.WATER, null), 15, Action.EXECUTE, EmptyActor.INSTANCE); - final boolean postInsert = listener.isChanged(); - - // Assert - assertThat(preInsert).isFalse(); - assertThat(postInsert).isTrue(); - } - - @Test - void shouldSerializeLimitedStorage() { - // Arrange - final InMemoryTrackedStorageRepository tracker = new InMemoryTrackedStorageRepository(); - final Storage storage = new LimitedPlatformStorage( - new LimitedStorageImpl( - new TrackedStorageImpl(new InMemoryStorageImpl(), tracker, () -> 123L), - 100 - ), - StorageTypes.FLUID, - tracker, - () -> { - } - ); - - storage.insert(new FluidResource(Fluids.WATER, createDummyTag()), 10, Action.EXECUTE, new PlayerActor("A")); - storage.insert(new FluidResource(Fluids.LAVA, null), 15, Action.EXECUTE, EmptyActor.INSTANCE); - - // Act - final CompoundTag serialized = sut.toTag(storage); - final Storage deserialized = sut.fromTag(serialized, listener); - - // Assert - assertThat(listener.isChanged()).isFalse(); - assertThat(deserialized).isInstanceOf(LimitedStorage.class); - assertThat(((LimitedStorage) deserialized).getCapacity()).isEqualTo(100); - assertThat(deserialized.getAll()).usingRecursiveFieldByFieldElementComparator().containsExactlyInAnyOrder( - new ResourceAmount(new FluidResource(Fluids.WATER, createDummyTag()), 10), - new ResourceAmount(new FluidResource(Fluids.LAVA, null), 15) - ); - assertThat(((TrackedStorage) deserialized).findTrackedResourceByActorType( - new FluidResource(Fluids.WATER, createDummyTag()), - PlayerActor.class - )).get().usingRecursiveComparison().isEqualTo(new TrackedResource("A", 123)); - assertThat(((TrackedStorage) deserialized).findTrackedResourceByActorType( - new FluidResource(Fluids.LAVA, null), - PlayerActor.class - )).isEmpty(); - } -} diff --git a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/ItemStorageTypeTest.java b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/ItemStorageTypeTest.java deleted file mode 100644 index dbf632236..000000000 --- a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/ItemStorageTypeTest.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.storage; - -import com.refinedmods.refinedstorage2.api.core.Action; -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; -import com.refinedmods.refinedstorage2.api.storage.EmptyActor; -import com.refinedmods.refinedstorage2.api.storage.InMemoryStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.Storage; -import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorage; -import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.tracked.InMemoryTrackedStorageRepository; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorage; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorageImpl; -import com.refinedmods.refinedstorage2.platform.api.storage.PlayerActor; -import com.refinedmods.refinedstorage2.platform.api.storage.StorageType; -import com.refinedmods.refinedstorage2.platform.common.SimpleListener; -import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; -import com.refinedmods.refinedstorage2.platform.test.SetupMinecraft; - -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.item.Items; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import static com.refinedmods.refinedstorage2.platform.test.TagHelper.createDummyTag; -import static org.assertj.core.api.Assertions.assertThat; - -@SetupMinecraft -class ItemStorageTypeTest { - StorageType sut = StorageTypes.ITEM; - SimpleListener listener; - - @BeforeEach - void setUp() { - listener = new SimpleListener(); - } - - @Test - void shouldSerializeAndDeserializeRegularStorage() { - // Arrange - final InMemoryTrackedStorageRepository tracker = new InMemoryTrackedStorageRepository(); - final Storage storage = new PlatformStorage( - new TrackedStorageImpl(new InMemoryStorageImpl(), tracker, () -> 123L), - StorageTypes.ITEM, - tracker, - () -> { - } - ); - - storage.insert(new ItemResource(Items.DIRT, createDummyTag()), 10, Action.EXECUTE, new PlayerActor("A")); - storage.insert(new ItemResource(Items.GLASS, null), 15, Action.EXECUTE, EmptyActor.INSTANCE); - - // Act - final CompoundTag serialized = sut.toTag(storage); - final Storage deserialized = sut.fromTag(serialized, listener); - - // Assert - assertThat(listener.isChanged()).isFalse(); - assertThat(deserialized).isInstanceOf(PlatformStorage.class); - assertThat(deserialized.getAll()).usingRecursiveFieldByFieldElementComparator().containsExactlyInAnyOrder( - new ResourceAmount(new ItemResource(Items.DIRT, createDummyTag()), 10), - new ResourceAmount(new ItemResource(Items.GLASS, null), 15) - ); - assertThat(((TrackedStorage) deserialized).findTrackedResourceByActorType( - new ItemResource(Items.DIRT, createDummyTag()), - PlayerActor.class - )).get().usingRecursiveComparison().isEqualTo(new TrackedResource("A", 123)); - assertThat(((TrackedStorage) deserialized).findTrackedResourceByActorType( - new ItemResource(Items.GLASS, null), - PlayerActor.class - )).isEmpty(); - } - - @Test - void shouldCallListenerOnDeserializedStorage() { - // Arrange - final InMemoryTrackedStorageRepository tracker = new InMemoryTrackedStorageRepository(); - final Storage storage = new PlatformStorage( - new TrackedStorageImpl(new InMemoryStorageImpl(), tracker, () -> 123L), - StorageTypes.ITEM, - tracker, - () -> { - } - ); - storage.insert(new ItemResource(Items.GLASS, null), 15, Action.EXECUTE, EmptyActor.INSTANCE); - - final CompoundTag serialized = sut.toTag(storage); - final Storage deserialized = sut.fromTag(serialized, listener); - - // Act - final boolean preInsert = listener.isChanged(); - deserialized.insert(new ItemResource(Items.GLASS, null), 15, Action.EXECUTE, EmptyActor.INSTANCE); - final boolean postInsert = listener.isChanged(); - - // Assert - assertThat(preInsert).isFalse(); - assertThat(postInsert).isTrue(); - } - - @Test - void shouldSerializeLimitedStorage() { - // Arrange - final InMemoryTrackedStorageRepository tracker = new InMemoryTrackedStorageRepository(); - final Storage storage = new LimitedPlatformStorage( - new LimitedStorageImpl(new TrackedStorageImpl(new InMemoryStorageImpl(), tracker, () -> 123L), 100), - StorageTypes.ITEM, - tracker, - () -> { - } - ); - - storage.insert(new ItemResource(Items.DIRT, createDummyTag()), 10, Action.EXECUTE, new PlayerActor("A")); - storage.insert(new ItemResource(Items.GLASS, null), 15, Action.EXECUTE, EmptyActor.INSTANCE); - - // Act - final CompoundTag serialized = sut.toTag(storage); - final Storage deserialized = sut.fromTag(serialized, listener); - - // Assert - assertThat(listener.isChanged()).isFalse(); - assertThat(deserialized).isInstanceOf(LimitedStorage.class); - assertThat(((LimitedStorage) deserialized).getCapacity()).isEqualTo(100); - assertThat(deserialized.getAll()).usingRecursiveFieldByFieldElementComparator().containsExactlyInAnyOrder( - new ResourceAmount(new ItemResource(Items.DIRT, createDummyTag()), 10), - new ResourceAmount(new ItemResource(Items.GLASS, null), 15) - ); - assertThat(((TrackedStorage) deserialized).findTrackedResourceByActorType( - new ItemResource(Items.DIRT, createDummyTag()), - PlayerActor.class - )).get().usingRecursiveComparison().isEqualTo(new TrackedResource("A", 123)); - assertThat(((TrackedStorage) deserialized).findTrackedResourceByActorType( - new ItemResource(Items.GLASS, null), - PlayerActor.class - )).isEmpty(); - } -} diff --git a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/PlatformStorageTest.java b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/PlatformStorageTest.java deleted file mode 100644 index d86c9a56a..000000000 --- a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/PlatformStorageTest.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.storage; - -import com.refinedmods.refinedstorage2.api.core.Action; -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; -import com.refinedmods.refinedstorage2.api.storage.InMemoryStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorage; -import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.tracked.InMemoryTrackedStorageRepository; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorageRepository; -import com.refinedmods.refinedstorage2.platform.api.storage.PlayerActor; -import com.refinedmods.refinedstorage2.platform.common.SimpleListener; -import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; -import com.refinedmods.refinedstorage2.platform.test.SetupMinecraft; - -import net.minecraft.world.item.Items; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.EnumSource; - -import static org.assertj.core.api.Assertions.assertThat; - -@SetupMinecraft -class PlatformStorageTest { - PlatformStorage sut; - SimpleListener listener; - - @BeforeEach - void setUp() { - final TrackedStorageRepository trackedStorageRepository = new InMemoryTrackedStorageRepository(); - final TrackedStorageImpl delegate = new TrackedStorageImpl( - new LimitedStorageImpl(new InMemoryStorageImpl(), 100), - trackedStorageRepository, - () -> 0L - ); - listener = new SimpleListener(); - sut = new PlatformStorage(delegate, StorageTypes.ITEM, trackedStorageRepository, listener); - } - - @Test - void testInitialState() { - // Assert - assertThat(sut.getType()).isEqualTo(StorageTypes.ITEM); - assertThat(sut).isNotInstanceOf(LimitedStorage.class); - } - - @Test - void shouldLoadAndUpdateTrackedResources() { - // Act - sut.load(new ItemResource(Items.DIRT, null), 10, "A", 100); - sut.load(new ItemResource(Items.GLASS, null), 20, null, 200); - sut.load(new ItemResource(Items.STONE, null), 30, "", 300); - - // Assert - assertThat(sut.getAll()).usingRecursiveFieldByFieldElementComparator().containsExactlyInAnyOrder( - new ResourceAmount(new ItemResource(Items.DIRT, null), 10), - new ResourceAmount(new ItemResource(Items.GLASS, null), 20), - new ResourceAmount(new ItemResource(Items.STONE, null), 30) - ); - assertThat(sut.findTrackedResourceByActorType(new ItemResource(Items.DIRT, null), PlayerActor.class)) - .get() - .usingRecursiveComparison() - .isEqualTo(new TrackedResource("A", 100)); - assertThat( - sut.findTrackedResourceByActorType(new ItemResource(Items.GLASS, null), PlayerActor.class)).isEmpty(); - assertThat( - sut.findTrackedResourceByActorType(new ItemResource(Items.STONE, null), PlayerActor.class)).isEmpty(); - assertThat(listener.getChanges()).isZero(); - } - - @ParameterizedTest - @EnumSource(Action.class) - void shouldInsert(final Action action) { - // Act - sut.insert(new ItemResource(Items.DIRT, null), 10, action, new PlayerActor("A")); - sut.insert(new ItemResource(Items.DIRT, null), 95, action, new PlayerActor("A")); - sut.insert(new ItemResource(Items.DIRT, null), 1, action, new PlayerActor("A")); - - // Assert - if (action == Action.EXECUTE) { - assertThat(listener.getChanges()).isEqualTo(2); - assertThat(sut.getAll()).usingRecursiveFieldByFieldElementComparator().containsExactly( - new ResourceAmount(new ItemResource(Items.DIRT, null), 100) - ); - assertThat(sut.findTrackedResourceByActorType(new ItemResource(Items.DIRT, null), PlayerActor.class)) - .get() - .usingRecursiveComparison() - .isEqualTo(new TrackedResource("A", 0)); - } else { - assertThat(listener.getChanges()).isZero(); - assertThat(sut.getAll()).isEmpty(); - assertThat( - sut.findTrackedResourceByActorType(new ItemResource(Items.DIRT, null), PlayerActor.class)).isEmpty(); - } - } -} diff --git a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageRepositoryImplTest.java b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageRepositoryImplTest.java deleted file mode 100644 index 7ed352c33..000000000 --- a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/storage/StorageRepositoryImplTest.java +++ /dev/null @@ -1,281 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.storage; - -import com.refinedmods.refinedstorage2.api.core.Action; -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; -import com.refinedmods.refinedstorage2.api.storage.EmptyActor; -import com.refinedmods.refinedstorage2.api.storage.InMemoryStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.Storage; -import com.refinedmods.refinedstorage2.api.storage.limited.LimitedStorageImpl; -import com.refinedmods.refinedstorage2.api.storage.tracked.InMemoryTrackedStorageRepository; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorage; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedStorageImpl; -import com.refinedmods.refinedstorage2.platform.api.storage.PlayerActor; -import com.refinedmods.refinedstorage2.platform.api.storage.StorageInfo; -import com.refinedmods.refinedstorage2.platform.common.PlatformTestFixtures; -import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; -import com.refinedmods.refinedstorage2.platform.test.SetupMinecraft; - -import java.util.Optional; -import java.util.UUID; - -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.item.Items; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.function.Executable; - -import static com.refinedmods.refinedstorage2.platform.test.TagHelper.createDummyTag; -import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.assertThrows; - -@SetupMinecraft -class StorageRepositoryImplTest { - StorageRepositoryImpl sut; - - @BeforeEach - void setUp() { - sut = new StorageRepositoryImpl(PlatformTestFixtures.STORAGE_TYPE_REGISTRY); - } - - private PlatformStorage createSerializableStorage(final Storage storage) { - if (storage instanceof LimitedStorageImpl limitedStorage) { - return new LimitedPlatformStorage( - limitedStorage, - StorageTypes.ITEM, - new InMemoryTrackedStorageRepository(), - () -> { - } - ); - } - return new PlatformStorage( - storage, - StorageTypes.ITEM, - new InMemoryTrackedStorageRepository(), - () -> { - } - ); - } - - @Test - void testInitialState() { - // Assert - assertThat(sut.isDirty()).isFalse(); - } - - @Test - void shouldNotRetrieveNonExistentStorage() { - // Assert - assertThat(sut.get(UUID.randomUUID())).isEmpty(); - } - - @Test - void shouldBeAbleToSetAndRetrieveStorage() { - // Arrange - final UUID id = UUID.randomUUID(); - final Storage storage = createSerializableStorage(new InMemoryStorageImpl()); - storage.insert(new ItemResource(Items.DIRT, null), 10, Action.EXECUTE, EmptyActor.INSTANCE); - - // Act - sut.set(id, storage); - - // Assert - assertThat(sut.get(id)).containsSame(storage); - assertThat(sut.isDirty()).isTrue(); - assertThat(sut.getInfo(id)).usingRecursiveComparison().isEqualTo(new StorageInfo(10, 0)); - } - - @Test - void shouldNotBeAbleToSetStorageWithExistingId() { - // Arrange - final UUID id = UUID.randomUUID(); - sut.set(id, createSerializableStorage(new InMemoryStorageImpl())); - - // Act - final Executable action = () -> sut.set(id, createSerializableStorage(new InMemoryStorageImpl())); - - // Assert - assertThrows(IllegalArgumentException.class, action); - } - - @Test - void shouldNotBeAbleToSetUnserializableStorage() { - // Arrange - final UUID id = UUID.randomUUID(); - final InMemoryStorageImpl storage = new InMemoryStorageImpl(); - - // Act & assert - assertThrows(IllegalArgumentException.class, () -> sut.set(id, storage)); - } - - @Test - @SuppressWarnings("ConstantConditions") - void shouldNotBeAbleToSetWithInvalidId() { - // Arrange - final Storage storage = createSerializableStorage(new InMemoryStorageImpl()); - - // Act & assert - assertThrows(NullPointerException.class, () -> sut.set(null, storage)); - } - - @Test - @SuppressWarnings("ConstantConditions") - void shouldNotBeAbleToSetWithInvalidStorage() { - // Arrange - final UUID id = UUID.randomUUID(); - - // Act & assert - assertThrows(NullPointerException.class, () -> sut.set(id, null)); - } - - @Test - void shouldRemoveIfEmpty() { - // Arrange - final UUID id = UUID.randomUUID(); - final Storage storage = createSerializableStorage(new InMemoryStorageImpl()); - sut.set(id, storage); - sut.setDirty(false); - - // Act - final Optional result = sut.removeIfEmpty(id); - - // Assert - assertThat(result).get().isEqualTo(storage); - assertThat(sut.isDirty()).isTrue(); - assertThat(sut.get(id)).isEmpty(); - } - - @Test - void shouldNotRemoveIfEmptyIfNotEmpty() { - // Arrange - final UUID id = UUID.randomUUID(); - final Storage storage = createSerializableStorage(new InMemoryStorageImpl()); - storage.insert(new ItemResource(Items.DIRT, null), 10, Action.EXECUTE, EmptyActor.INSTANCE); - sut.set(id, storage); - sut.setDirty(false); - - // Act - final Optional result = sut.removeIfEmpty(id); - - // Assert - assertThat(result).isEmpty(); - assertThat(sut.isDirty()).isFalse(); - assertThat(sut.get(id)).isPresent(); - } - - @Test - void shouldNotRemoveIfEmptyIfNotExists() { - // Act - final Optional disassembled = sut.removeIfEmpty(UUID.randomUUID()); - - // Assert - assertThat(disassembled).isEmpty(); - assertThat(sut.isDirty()).isFalse(); - } - - @Test - void shouldBeDirtyWhenMarkedAsChanged() { - // Act - sut.markAsChanged(); - - // Assert - assertThat(sut.isDirty()).isTrue(); - } - - @Test - void shouldRetrieveInfoFromLimitedStorage() { - // Arrange - final UUID id = UUID.randomUUID(); - final Storage storage = createSerializableStorage(new LimitedStorageImpl(10)); - storage.insert(new ItemResource(Items.DIRT, null), 5, Action.EXECUTE, EmptyActor.INSTANCE); - - // Act - sut.set(id, storage); - - // Assert - final StorageInfo info = sut.getInfo(id); - - assertThat(info.capacity()).isEqualTo(10); - assertThat(info.stored()).isEqualTo(5); - } - - @Test - void shouldRetrieveInfoFromRegularStorage() { - // Arrange - final UUID id = UUID.randomUUID(); - final Storage storage = createSerializableStorage(new InMemoryStorageImpl()); - storage.insert(new ItemResource(Items.DIRT, null), 5, Action.EXECUTE, EmptyActor.INSTANCE); - - // Act - sut.set(id, storage); - - // Assert - final StorageInfo info = sut.getInfo(id); - - assertThat(info.capacity()).isZero(); - assertThat(info.stored()).isEqualTo(5); - } - - @Test - void shouldRetrieveInfoFromNonExistentStorage() { - // Act - final StorageInfo info = sut.getInfo(UUID.randomUUID()); - - // Assert - assertThat(info.capacity()).isZero(); - assertThat(info.stored()).isZero(); - } - - @Test - void shouldSerializeAndDeserialize() { - // Arrange - final InMemoryTrackedStorageRepository repository = new InMemoryTrackedStorageRepository(); - final PlatformStorage a = new PlatformStorage( - new TrackedStorageImpl(new InMemoryStorageImpl(), repository, () -> 123L), - StorageTypes.ITEM, - repository, - sut::markAsChanged - ); - final PlatformStorage b = new LimitedPlatformStorage( - new LimitedStorageImpl(new InMemoryStorageImpl(), 100), - StorageTypes.ITEM, - new InMemoryTrackedStorageRepository(), - sut::markAsChanged - ); - - final UUID aId = UUID.randomUUID(); - final UUID bId = UUID.randomUUID(); - - sut.set(aId, a); - sut.set(bId, b); - - a.insert(new ItemResource(Items.DIRT, createDummyTag()), 10, Action.EXECUTE, new PlayerActor("A")); - b.insert(new ItemResource(Items.GLASS, null), 20, Action.EXECUTE, EmptyActor.INSTANCE); - - // Act - final CompoundTag serialized = sut.save(new CompoundTag()); - sut = new StorageRepositoryImpl(PlatformTestFixtures.STORAGE_TYPE_REGISTRY); - sut.read(serialized); - - // Assert - assertThat(sut.isDirty()).isFalse(); - assertThat(sut.get(aId)).isPresent(); - assertThat(sut.get(bId)).isPresent(); - assertThat(sut.get(aId)) - .get() - .isInstanceOf(PlatformStorage.class); - assertThat(sut.get(aId).get().getAll()).usingRecursiveFieldByFieldElementComparator().containsExactly( - new ResourceAmount(new ItemResource(Items.DIRT, createDummyTag()), 10) - ); - assertThat(((TrackedStorage) sut.get(aId).get()).findTrackedResourceByActorType( - new ItemResource(Items.DIRT, createDummyTag()), PlayerActor.class)) - .get() - .usingRecursiveComparison() - .isEqualTo(new TrackedResource("A", 123L)); - assertThat(sut.get(bId)).get().isInstanceOf(LimitedPlatformStorage.class); - assertThat(((LimitedPlatformStorage) sut.get(bId).get()).getCapacity()).isEqualTo(100); - assertThat(sut.get(bId).get().getAll()).usingRecursiveFieldByFieldElementComparator().containsExactly( - new ResourceAmount(new ItemResource(Items.GLASS, null), 20) - ); - } -} diff --git a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/registry/PlatformRegistryImplTest.java b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/registry/PlatformRegistryImplTest.java index fe2acd6c9..6ad212381 100644 --- a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/registry/PlatformRegistryImplTest.java +++ b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/registry/PlatformRegistryImplTest.java @@ -12,9 +12,9 @@ import static org.junit.jupiter.api.Assertions.assertThrows; class PlatformRegistryImplTest { - private static final ResourceLocation A = new ResourceLocation("a"); - private static final ResourceLocation B = new ResourceLocation("b"); - private static final ResourceLocation C = new ResourceLocation("c"); + private static final ResourceLocation A = ResourceLocation.parse("a"); + private static final ResourceLocation B = ResourceLocation.parse("b"); + private static final ResourceLocation C = ResourceLocation.parse("c"); PlatformRegistry sut; diff --git a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/resource/FluidResourceTest.java b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/resource/FluidResourceTest.java deleted file mode 100644 index 1df545f93..000000000 --- a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/resource/FluidResourceTest.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.support.resource; - -import com.refinedmods.refinedstorage2.api.resource.ResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.test.SetupMinecraft; - -import java.util.Optional; - -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.level.material.Fluid; -import net.minecraft.world.level.material.Fluids; -import nl.jqno.equalsverifier.EqualsVerifier; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.ValueSource; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.assertThrows; - -@SetupMinecraft -class FluidResourceTest { - @SuppressWarnings("ConstantConditions") - @Test - void testInvalidFluid() { - // Assert - assertThrows(NullPointerException.class, () -> new FluidResource(null, null)); - } - - @ParameterizedTest - @ValueSource(booleans = {true, false}) - void testSerialization(final boolean hasTag) { - // Arrange - final CompoundTag fluidTag = hasTag ? createDummyTag() : null; - final FluidResource fluidResource = new FluidResource(Fluids.WATER, fluidTag); - - // Act - final CompoundTag serialized = fluidResource.toTag(); - final Optional deserialized = FluidResource.fromTag(serialized); - - // Assert - assertThat(deserialized).isPresent().contains(fluidResource); - } - - @Test - void testDeserializationWithInvalidFluid() { - // Arrange - final FluidResource fluidResource = new FluidResource(Fluids.WATER, null); - final CompoundTag serialized = fluidResource.toTag(); - serialized.putString("id", "minecraft:non_existent"); - - // Act - final Optional deserialized = FluidResource.fromTag(serialized); - - // Assert - assertThat(deserialized).isEmpty(); - } - - @ParameterizedTest - @ValueSource(booleans = {true, false}) - void testNormalization(final boolean hasTag) { - // Arrange - final CompoundTag fluidTag = hasTag ? createDummyTag() : null; - final FluidResource fluidResource = new FluidResource(Fluids.WATER, fluidTag); - - // Act - final ResourceKey normalized = fluidResource.normalize(); - - // Assert - assertThat(normalized).usingRecursiveComparison().isEqualTo(new FluidResource(Fluids.WATER, null)); - } - - @Test - void testEqualsHashcode() { - // Assert - EqualsVerifier.forClass(FluidResource.class) - .withPrefabValues(Fluid.class, Fluids.WATER, Fluids.LAVA) - .withNonnullFields("fluid") - .verify(); - } - - private CompoundTag createDummyTag() { - final CompoundTag fluidTag = new CompoundTag(); - fluidTag.putString("dummy", "test"); - return fluidTag; - } -} diff --git a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResourceTest.java b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResourceTest.java deleted file mode 100644 index 0d95f19a5..000000000 --- a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/resource/ItemResourceTest.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.common.support.resource; - -import com.refinedmods.refinedstorage2.api.resource.ResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.test.SetupMinecraft; - -import java.util.Optional; - -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import nl.jqno.equalsverifier.EqualsVerifier; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.ValueSource; - -import static com.refinedmods.refinedstorage2.platform.test.TagHelper.createDummyTag; -import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.assertThrows; - -@SetupMinecraft -class ItemResourceTest { - @Test - @SuppressWarnings("ConstantConditions") - void testInvalidItem() { - // Assert - assertThrows(NullPointerException.class, () -> new ItemResource(null, null)); - } - - @ParameterizedTest - @ValueSource(booleans = {true, false}) - void testSerialization(final boolean hasTag) { - // Arrange - final CompoundTag itemTag = hasTag ? createDummyTag() : null; - final ItemResource itemResource = new ItemResource(Items.DIRT, itemTag); - - // Act - final CompoundTag serialized = itemResource.toTag(); - final Optional deserialized = ItemResource.fromTag(serialized); - - // Assert - assertThat(deserialized).isPresent().contains(itemResource); - } - - @Test - void testDeserializationWithInvalidItem() { - // Arrange - final ItemResource itemResource = new ItemResource(Items.DIRT, null); - final CompoundTag serialized = itemResource.toTag(); - serialized.putString("id", "minecraft:non_existent"); - - // Act - final Optional deserialized = ItemResource.fromTag(serialized); - - // Assert - assertThat(deserialized).isEmpty(); - } - - @ParameterizedTest - @ValueSource(booleans = {true, false}) - void testToPlatformStack(final boolean hasTag) { - // Arrange - final CompoundTag itemTag = hasTag ? createDummyTag() : null; - final ItemResource itemResource = new ItemResource(Items.DIRT, itemTag); - - // Act - final ItemStack stack = itemResource.toItemStack(); - - // Assert - assertThat(stack.getItem()).isEqualTo(Items.DIRT); - assertThat(stack.getTag()).isEqualTo(itemTag); - assertThat(stack.getCount()).isEqualTo(1); - } - - @ParameterizedTest - @ValueSource(booleans = {true, false}) - void testNormalization(final boolean hasTag) { - // Arrange - final CompoundTag itemTag = hasTag ? createDummyTag() : null; - final ItemResource itemResource = new ItemResource(Items.DIRT, itemTag); - - // Act - final ResourceKey normalized = itemResource.normalize(); - - // Assert - assertThat(normalized).usingRecursiveComparison().isEqualTo(new ItemResource(Items.DIRT, null)); - } - - @Test - void testEqualsHashcode() { - // Assert - EqualsVerifier.forClass(ItemResource.class) - .withPrefabValues(Item.class, Items.DIRT, Items.GLASS) - .withNonnullFields("item") - .verify(); - } -} diff --git a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/resource/list/FuzzyResourceListImplTest.java b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/resource/list/FuzzyResourceListImplTest.java index 77b523331..c2821c349 100644 --- a/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/resource/list/FuzzyResourceListImplTest.java +++ b/refinedstorage2-platform-common/src/test/java/com/refinedmods/refinedstorage2/platform/common/support/resource/list/FuzzyResourceListImplTest.java @@ -9,20 +9,24 @@ import java.util.Collection; import java.util.Optional; +import net.minecraft.core.component.DataComponentPatch; +import net.minecraft.core.component.DataComponents; +import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.Items; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import static com.refinedmods.refinedstorage2.platform.test.TagHelper.createDummyTag; import static org.assertj.core.api.Assertions.assertThat; @SetupMinecraft class FuzzyResourceListImplTest { - private static final ItemResource DUMMY_A = new ItemResource(Items.DIRT, null); - private static final ItemResource DUMMY_B = new ItemResource(Items.DIRT, createDummyTag("b")); - private static final ItemResource DUMMY_C = new ItemResource(Items.DIRT, createDummyTag("c")); - private static final ItemResource DUMMY_D = new ItemResource(Items.GLASS, null); - private static final ItemResource DUMMY_E = new ItemResource(Items.DARK_OAK_DOOR, null); + private static final ItemResource DUMMY_A = new ItemResource(Items.DIRT, DataComponentPatch.EMPTY); + private static final ItemResource DUMMY_B = new ItemResource(Items.DIRT, DataComponentPatch.builder() + .set(DataComponents.BASE_COLOR, DyeColor.RED).build()); + private static final ItemResource DUMMY_C = new ItemResource(Items.DIRT, DataComponentPatch.builder() + .set(DataComponents.BASE_COLOR, DyeColor.GREEN).build()); + private static final ItemResource DUMMY_D = new ItemResource(Items.GLASS, DataComponentPatch.EMPTY); + private static final ItemResource DUMMY_E = new ItemResource(Items.DARK_OAK_DOOR, DataComponentPatch.EMPTY); FuzzyResourceList sut; diff --git a/refinedstorage2-platform-fabric/build.gradle b/refinedstorage2-platform-fabric/build.gradle index 8fa1fb117..c26d8b907 100644 --- a/refinedstorage2-platform-fabric/build.gradle +++ b/refinedstorage2-platform-fabric/build.gradle @@ -9,10 +9,6 @@ repositories { name = 'Cloth Config' url 'https://maven.shedaniel.me/' } - maven { - name = 'NoIndium' - url = 'https://maven.cafeteria.dev/releases/' - } } fabricProject("refinedstorage2", project(":refinedstorage2-platform-common"), apis, compileApis) @@ -28,10 +24,8 @@ dependencies { } include libs.teamreborn.energy - modApi "me.luligabi:NoIndium:${noIndiumVersion}" - include "me.luligabi:NoIndium:${noIndiumVersion}" - modApi libs.modmenu } enablePublishing() + 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 c6ba35785..cb9f4ef45 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 @@ -16,7 +16,16 @@ import com.refinedmods.refinedstorage2.platform.common.security.SecurityCardItemPropertyFunction; import com.refinedmods.refinedstorage2.platform.common.storagemonitor.StorageMonitorBlockEntityRenderer; import com.refinedmods.refinedstorage2.platform.common.support.network.bounditem.NetworkBoundItemItemPropertyFunction; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketHandler; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.EnergyInfoPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.GridActivePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.GridClearPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.GridUpdatePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.NetworkTransmitterStatusPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.NoPermissionPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.ResourceSlotUpdatePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.StorageInfoResponsePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.WirelessTransmitterRangePacket; import com.refinedmods.refinedstorage2.platform.common.support.tooltip.CompositeClientTooltipComponent; import com.refinedmods.refinedstorage2.platform.common.support.tooltip.HelpClientTooltipComponent; import com.refinedmods.refinedstorage2.platform.common.support.tooltip.ResourceClientTooltipComponent; @@ -24,15 +33,6 @@ import com.refinedmods.refinedstorage2.platform.common.upgrade.UpgradeDestinationClientTooltipComponent; import com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil; import com.refinedmods.refinedstorage2.platform.fabric.mixin.ItemPropertiesAccessor; -import com.refinedmods.refinedstorage2.platform.fabric.packet.s2c.EnergyInfoPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.s2c.GridActivePacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.s2c.GridClearPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.s2c.GridUpdatePacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.s2c.NetworkTransmitterStatusPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.s2c.NoPermissionPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.s2c.ResourceSlotUpdatePacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.s2c.StorageInfoResponsePacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.s2c.WirelessTransmitterRangePacket; import com.refinedmods.refinedstorage2.platform.fabric.storage.diskdrive.DiskDriveBlockEntityRendererImpl; import com.refinedmods.refinedstorage2.platform.fabric.storage.diskdrive.DiskDriveUnbakedModel; import com.refinedmods.refinedstorage2.platform.fabric.storage.diskinterface.DiskInterfaceBlockEntityRendererImpl; @@ -60,6 +60,7 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.blockentity.BlockEntityRenderers; import net.minecraft.client.renderer.item.ItemProperties; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.MenuType; @@ -71,11 +72,14 @@ import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createTranslationKey; public class ClientModInitializerImpl extends AbstractClientModInitializer implements ClientModInitializer { + private static final String BLOCK_PREFIX = "block"; + private static final String ITEM_PREFIX = "item"; + @Override public void onInitializeClient() { setRenderLayers(); registerEmissiveModels(); - registerPackets(); + registerPacketHandlers(); registerBlockEntityRenderers(); registerCustomModels(); registerCustomTooltips(); @@ -126,40 +130,18 @@ private void setCutout(final Block block) { } private void registerEmissiveModels() { - Blocks.INSTANCE.getController().forEach((color, id, block) -> { - registerEmissiveControllerModels(color); - registerEmissiveControllerItemModels(color, id); - }); - Blocks.INSTANCE.getCreativeController().forEach( - (color, id, block) -> registerEmissiveControllerItemModels(color, id) - ); - Blocks.INSTANCE.getGrid().forEach( - (color, id, block) -> registerEmissiveGridModels(color, id) - ); - Blocks.INSTANCE.getCraftingGrid().forEach( - (color, id, block) -> registerEmissiveCraftingGridModels(color, id) - ); - Blocks.INSTANCE.getDetector().forEach( - (color, id, block) -> registerEmissiveDetectorModels(color, id) - ); - Blocks.INSTANCE.getConstructor().forEach( - (color, id, block) -> registerEmissiveConstructorModels(color, id) - ); - Blocks.INSTANCE.getDestructor().forEach( - (color, id, block) -> registerEmissiveDestructorModels(color, id) - ); - Blocks.INSTANCE.getWirelessTransmitter().forEach( - (color, id, block) -> registerEmissiveWirelessTransmitterModels(color, id) - ); - Blocks.INSTANCE.getNetworkReceiver().forEach( - (color, id, block) -> registerEmissiveNetworkReceiverModels(color, id) - ); + registerColoredEmissiveModels(Blocks.INSTANCE.getController(), "controller"); + registerColoredEmissiveModels(Blocks.INSTANCE.getCreativeController(), "controller"); + registerColoredEmissiveModels(Blocks.INSTANCE.getGrid(), "grid"); + registerColoredEmissiveModels(Blocks.INSTANCE.getCraftingGrid(), "crafting_grid"); + registerColoredEmissiveModels(Blocks.INSTANCE.getDetector(), "detector"); + registerConstructorDestructorEmissiveModels(Blocks.INSTANCE.getConstructor(), "constructor"); + registerConstructorDestructorEmissiveModels(Blocks.INSTANCE.getDestructor(), "destructor"); + registerColoredEmissiveModels(Blocks.INSTANCE.getWirelessTransmitter(), "wireless_transmitter"); + registerColoredEmissiveModels(Blocks.INSTANCE.getNetworkReceiver(), "network_receiver"); Blocks.INSTANCE.getNetworkTransmitter().forEach( (color, id, block) -> registerEmissiveNetworkTransmitterModels(color, id) ); - Blocks.INSTANCE.getGrid().forEach( - (color, id, block) -> registerEmissiveGridModels(color, id) - ); Blocks.INSTANCE.getSecurityManager().forEach( (color, id, block) -> registerEmissiveSecurityManagerModels(color, id) ); @@ -168,165 +150,124 @@ private void registerEmissiveModels() { ); } - private void registerEmissiveControllerModels(final DyeColor color) { - final ResourceLocation spriteLocation = createIdentifier("block/controller/cutouts/" + color.getName()); - // Block - EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/controller/" + color.getName()), - spriteLocation - ); - } - - private void registerEmissiveControllerItemModels(final DyeColor color, final ResourceLocation id) { - final ResourceLocation spriteLocation = createIdentifier("block/controller/cutouts/" + color.getName()); - EmissiveModelRegistry.INSTANCE.register(id, spriteLocation); - } - - private void registerEmissiveGridModels(final DyeColor color, final ResourceLocation id) { - // Block - EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/grid/" + color.getName()), - createIdentifier("block/grid/cutouts/" + color.getName()) - ); - // Item - EmissiveModelRegistry.INSTANCE.register(id, createIdentifier("block/grid/cutouts/" + color.getName())); + private void registerColoredEmissiveModels(final BlockColorMap blockMap, + final String blockDirectory) { + blockMap.forEach((color, id, block) -> { + final ResourceLocation blockModelLocation = createIdentifier( + BLOCK_PREFIX + "/" + blockDirectory + "/" + color.getName() + ); + final ResourceLocation spriteLocation = createIdentifier( + BLOCK_PREFIX + "/" + blockDirectory + "/cutouts/" + color.getName() + ); + EmissiveModelRegistry.INSTANCE.register(blockModelLocation, spriteLocation); + EmissiveModelRegistry.INSTANCE.register(id.withPath(ITEM_PREFIX + "/" + id.getPath()), spriteLocation); + }); } - private void registerEmissiveCraftingGridModels(final DyeColor color, final ResourceLocation id) { - // Block - EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/crafting_grid/" + color.getName()), - createIdentifier("block/crafting_grid/cutouts/" + color.getName()) - ); - // Item - EmissiveModelRegistry.INSTANCE.register(id, createIdentifier("block/crafting_grid/cutouts/" + color.getName())); + private void registerConstructorDestructorEmissiveModels(final BlockColorMap blockMap, + final String blockDirectory) { + blockMap.forEach((color, id, block) -> { + final ResourceLocation blockModelLocation = createIdentifier( + BLOCK_PREFIX + "/" + blockDirectory + "/active" + ); + final ResourceLocation spriteLocation = createIdentifier( + BLOCK_PREFIX + "/" + blockDirectory + "/cutouts/active" + ); + EmissiveModelRegistry.INSTANCE.register(blockModelLocation, spriteLocation); + EmissiveModelRegistry.INSTANCE.register(createIdentifier(ITEM_PREFIX + "/" + id.getPath()), spriteLocation); + }); } - private void registerEmissiveDetectorModels(final DyeColor color, final ResourceLocation id) { - // Block + private void registerEmissiveNetworkTransmitterModels(final DyeColor color, final ResourceLocation id) { EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/detector/" + color.getName()), - createIdentifier("block/detector/cutouts/" + color.getName()) + createIdentifier(BLOCK_PREFIX + "/network_transmitter/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/network_transmitter/cutouts/" + color.getName()) ); - // Item - EmissiveModelRegistry.INSTANCE.register(id, createIdentifier("block/detector/cutouts/" + color.getName())); - } - - private void registerEmissiveConstructorModels(final DyeColor color, final ResourceLocation id) { - // Block EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/constructor/" + color.getName()), - createIdentifier("block/constructor/cutouts/active") + createIdentifier(BLOCK_PREFIX + "/network_transmitter/error"), + createIdentifier(BLOCK_PREFIX + "/network_transmitter/cutouts/error") ); - // Item - EmissiveModelRegistry.INSTANCE.register(id, createIdentifier("block/constructor/cutouts/active")); - } - - private void registerEmissiveDestructorModels(final DyeColor color, final ResourceLocation id) { - // Block EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/destructor/" + color.getName()), - createIdentifier("block/destructor/cutouts/active") + createIdentifier(ITEM_PREFIX + "/" + id.getPath()), + createIdentifier(BLOCK_PREFIX + "/network_transmitter/cutouts/" + color.getName()) ); - // Item - EmissiveModelRegistry.INSTANCE.register(id, createIdentifier("block/destructor/cutouts/active")); } - private void registerEmissiveWirelessTransmitterModels(final DyeColor color, final ResourceLocation id) { - // Block + private void registerEmissiveSecurityManagerModels(final DyeColor color, final ResourceLocation id) { EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/wireless_transmitter/" + color.getName()), - createIdentifier("block/wireless_transmitter/cutouts/" + color.getName()) + createIdentifier(BLOCK_PREFIX + "/security_manager/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/security_manager/cutouts/back/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/security_manager/cutouts/front/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/security_manager/cutouts/left/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/security_manager/cutouts/right/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/security_manager/cutouts/top/" + color.getName()) ); - // Item EmissiveModelRegistry.INSTANCE.register( - id, - createIdentifier("block/wireless_transmitter/cutouts/" + color.getName()) + createIdentifier(ITEM_PREFIX + "/" + id.getPath()), + createIdentifier(BLOCK_PREFIX + "/security_manager/cutouts/back/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/security_manager/cutouts/front/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/security_manager/cutouts/left/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/security_manager/cutouts/right/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/security_manager/cutouts/top/" + color.getName()) ); } - private void registerEmissiveNetworkReceiverModels(final DyeColor color, final ResourceLocation id) { - // Block + private void registerEmissiveRelayModels(final DyeColor color, final ResourceLocation id) { EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/network_receiver/" + color.getName()), - createIdentifier("block/network_receiver/cutouts/" + color.getName()) + createIdentifier(BLOCK_PREFIX + "/relay/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/relay/cutouts/in/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/relay/cutouts/out/" + color.getName()) ); - // Item EmissiveModelRegistry.INSTANCE.register( - id, - createIdentifier("block/network_receiver/cutouts/" + color.getName()) + createIdentifier(ITEM_PREFIX + "/" + id.getPath()), + createIdentifier(BLOCK_PREFIX + "/relay/cutouts/in/" + color.getName()), + createIdentifier(BLOCK_PREFIX + "/relay/cutouts/out/" + color.getName()) ); } - private void registerEmissiveNetworkTransmitterModels(final DyeColor color, final ResourceLocation id) { - // Block - EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/network_transmitter/" + color.getName()), - createIdentifier("block/network_transmitter/cutouts/" + color.getName()) + private void registerPacketHandlers() { + ClientPlayNetworking.registerGlobalReceiver( + StorageInfoResponsePacket.PACKET_TYPE, + wrapHandler((packet, ctx) -> StorageInfoResponsePacket.handle(packet)) ); - EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/network_transmitter/error"), - createIdentifier("block/network_transmitter/cutouts/error") + ClientPlayNetworking.registerGlobalReceiver( + GridUpdatePacket.PACKET_TYPE, + wrapHandler(GridUpdatePacket::handle) ); - // Item - EmissiveModelRegistry.INSTANCE.register( - id, - createIdentifier("block/network_transmitter/cutouts/" + color.getName()) + ClientPlayNetworking.registerGlobalReceiver( + GridClearPacket.PACKET_TYPE, + wrapHandler((packet, ctx) -> GridClearPacket.handle(ctx)) ); - } - - private void registerEmissiveSecurityManagerModels(final DyeColor color, final ResourceLocation id) { - // Block - EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/security_manager/" + color.getName()), - createIdentifier("block/security_manager/cutouts/back/" + color.getName()), - createIdentifier("block/security_manager/cutouts/front/" + color.getName()), - createIdentifier("block/security_manager/cutouts/left/" + color.getName()), - createIdentifier("block/security_manager/cutouts/right/" + color.getName()), - createIdentifier("block/security_manager/cutouts/top/" + color.getName()) + ClientPlayNetworking.registerGlobalReceiver( + GridActivePacket.PACKET_TYPE, + wrapHandler(GridActivePacket::handle) ); - // Item - EmissiveModelRegistry.INSTANCE.register( - id, - createIdentifier("block/security_manager/cutouts/back/" + color.getName()), - createIdentifier("block/security_manager/cutouts/front/" + color.getName()), - createIdentifier("block/security_manager/cutouts/left/" + color.getName()), - createIdentifier("block/security_manager/cutouts/right/" + color.getName()), - createIdentifier("block/security_manager/cutouts/top/" + color.getName()) + ClientPlayNetworking.registerGlobalReceiver( + EnergyInfoPacket.PACKET_TYPE, + wrapHandler(EnergyInfoPacket::handle) ); - } - - private void registerEmissiveRelayModels(final DyeColor color, final ResourceLocation id) { - // Block - EmissiveModelRegistry.INSTANCE.register( - createIdentifier("block/relay/" + color.getName()), - createIdentifier("block/relay/cutouts/in/" + color.getName()), - createIdentifier("block/relay/cutouts/out/" + color.getName()) + ClientPlayNetworking.registerGlobalReceiver( + WirelessTransmitterRangePacket.PACKET_TYPE, + wrapHandler(WirelessTransmitterRangePacket::handle) ); - // Item - EmissiveModelRegistry.INSTANCE.register( - id, - createIdentifier("block/relay/cutouts/in/" + color.getName()), - createIdentifier("block/relay/cutouts/out/" + color.getName()) + ClientPlayNetworking.registerGlobalReceiver( + ResourceSlotUpdatePacket.PACKET_TYPE, + wrapHandler(ResourceSlotUpdatePacket::handle) ); - } - - private void registerPackets() { - ClientPlayNetworking.registerGlobalReceiver(PacketIds.STORAGE_INFO_RESPONSE, new StorageInfoResponsePacket()); - ClientPlayNetworking.registerGlobalReceiver(PacketIds.GRID_UPDATE, new GridUpdatePacket()); - ClientPlayNetworking.registerGlobalReceiver(PacketIds.GRID_CLEAR, new GridClearPacket()); - ClientPlayNetworking.registerGlobalReceiver(PacketIds.GRID_ACTIVE, new GridActivePacket()); - ClientPlayNetworking.registerGlobalReceiver(PacketIds.ENERGY_INFO, new EnergyInfoPacket()); ClientPlayNetworking.registerGlobalReceiver( - PacketIds.WIRELESS_TRANSMITTER_RANGE, - new WirelessTransmitterRangePacket() + NetworkTransmitterStatusPacket.PACKET_TYPE, + wrapHandler(NetworkTransmitterStatusPacket::handle) ); - ClientPlayNetworking.registerGlobalReceiver(PacketIds.RESOURCE_SLOT_UPDATE, new ResourceSlotUpdatePacket()); ClientPlayNetworking.registerGlobalReceiver( - PacketIds.NETWORK_TRANSMITTER_STATUS, - new NetworkTransmitterStatusPacket() + NoPermissionPacket.PACKET_TYPE, + wrapHandler((packet, ctx) -> NoPermissionPacket.handle(packet)) ); - ClientPlayNetworking.registerGlobalReceiver(PacketIds.NO_PERMISSION, new NoPermissionPacket()); + } + + private static ClientPlayNetworking.PlayPayloadHandler wrapHandler( + final PacketHandler handler + ) { + return (packet, ctx) -> handler.handle(packet, ctx::player); } private void registerBlockEntityRenderers() { @@ -366,21 +307,21 @@ private void registerCustomDiskInterfaceModels(final ModelLoadingPlugin.Context final QuadRotators quadRotators) { pluginContext.resolveModel().register(context -> { if (context.id().getNamespace().equals(IdentifierUtil.MOD_ID) - && context.id().getPath().startsWith("item/") + && context.id().getPath().startsWith(ITEM_PREFIX + "/") && context.id().getPath().endsWith("disk_interface")) { final boolean isDefault = !context.id().getPath().endsWith("_disk_interface"); final DyeColor color = isDefault ? Blocks.INSTANCE.getDiskInterface().getDefault().getColor() : DyeColor.byName(context.id().getPath().replace("_disk_interface", "") - .replace("item/", ""), Blocks.INSTANCE.getDiskInterface().getDefault().getColor()); + .replace(ITEM_PREFIX + "/", ""), Blocks.INSTANCE.getDiskInterface().getDefault().getColor()); return new DiskInterfaceUnbakedModel(quadRotators, color); } if (context.id().getNamespace().equals(IdentifierUtil.MOD_ID) - && context.id().getPath().startsWith("block/disk_interface/") - && !context.id().getPath().startsWith("block/disk_interface/base_") - && !context.id().getPath().equals("block/disk_interface/inactive")) { + && context.id().getPath().startsWith(BLOCK_PREFIX + "/disk_interface/") + && !context.id().getPath().startsWith(BLOCK_PREFIX + "/disk_interface/base_") + && !context.id().getPath().equals(BLOCK_PREFIX + "/disk_interface/inactive")) { final DyeColor color = DyeColor.byName( - context.id().getPath().replace("block/disk_interface/", ""), + context.id().getPath().replace(BLOCK_PREFIX + "/disk_interface/", ""), Blocks.INSTANCE.getDiskInterface().getDefault().getColor() ); return new DiskInterfaceUnbakedModel(quadRotators, color); @@ -391,10 +332,14 @@ private void registerCustomDiskInterfaceModels(final ModelLoadingPlugin.Context private void registerCustomPortableGridModels(final ModelLoadingPlugin.Context pluginContext, final QuadRotators quadRotators) { - final ResourceLocation portableGridIdentifier = createIdentifier("block/portable_grid"); - final ResourceLocation portableGridIdentifierItem = createIdentifier("item/portable_grid"); - final ResourceLocation creativePortableGridIdentifier = createIdentifier("block/creative_portable_grid"); - final ResourceLocation creativePortableGridIdentifierItem = createIdentifier("item/creative_portable_grid"); + final ResourceLocation portableGridIdentifier = createIdentifier(BLOCK_PREFIX + "/portable_grid"); + final ResourceLocation portableGridIdentifierItem = createIdentifier(ITEM_PREFIX + "/portable_grid"); + final ResourceLocation creativePortableGridIdentifier = createIdentifier( + BLOCK_PREFIX + "/creative_portable_grid" + ); + final ResourceLocation creativePortableGridIdentifierItem = createIdentifier( + ITEM_PREFIX + "/creative_portable_grid" + ); pluginContext.resolveModel().register(context -> { if (context.id().equals(portableGridIdentifier) || context.id().equals(portableGridIdentifierItem) @@ -408,8 +353,8 @@ private void registerCustomPortableGridModels(final ModelLoadingPlugin.Context p private void registerCustomDiskDriveModels(final ModelLoadingPlugin.Context pluginContext, final QuadRotators quadRotators) { - final ResourceLocation diskDriveIdentifier = createIdentifier("block/disk_drive"); - final ResourceLocation diskDriveIdentifierItem = createIdentifier("item/disk_drive"); + final ResourceLocation diskDriveIdentifier = createIdentifier(BLOCK_PREFIX + "/disk_drive"); + final ResourceLocation diskDriveIdentifierItem = createIdentifier(ITEM_PREFIX + "/disk_drive"); pluginContext.resolveModel().register(context -> { if (context.id().equals(diskDriveIdentifier) || context.id().equals(diskDriveIdentifierItem)) { return new DiskDriveUnbakedModel(quadRotators); 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 d08e39e19..01eb51949 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 @@ -331,7 +331,7 @@ public Optional getSynchronizer() { if (synchronizer == null || synchronizer.trim().isBlank()) { return Optional.empty(); } - return Optional.of(synchronizer).map(ResourceLocation::new); + return Optional.of(synchronizer).map(ResourceLocation::tryParse); } @Override @@ -373,7 +373,7 @@ public Optional getResourceTypeId() { if (resourceTypeId == null || resourceTypeId.trim().isBlank()) { return Optional.empty(); } - return Optional.of(resourceTypeId).map(ResourceLocation::new); + return Optional.of(resourceTypeId).map(ResourceLocation::tryParse); } @Override diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ModInitializerImpl.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ModInitializerImpl.java index 0a832563e..32191e1e6 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ModInitializerImpl.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/ModInitializerImpl.java @@ -10,6 +10,7 @@ import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; import com.refinedmods.refinedstorage2.platform.common.content.CreativeModeTabItems; import com.refinedmods.refinedstorage2.platform.common.content.DirectRegistryCallback; +import com.refinedmods.refinedstorage2.platform.common.content.ExtendedMenuTypeFactory; import com.refinedmods.refinedstorage2.platform.common.content.Items; import com.refinedmods.refinedstorage2.platform.common.content.MenuTypeFactory; import com.refinedmods.refinedstorage2.platform.common.content.RegistryCallback; @@ -23,7 +24,31 @@ import com.refinedmods.refinedstorage2.platform.common.storage.portablegrid.PortableGridBlockItem; import com.refinedmods.refinedstorage2.platform.common.storage.portablegrid.PortableGridType; import com.refinedmods.refinedstorage2.platform.common.support.AbstractBaseBlock; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketHandler; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.CraftingGridClearPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.CraftingGridRecipeTransferPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.GridExtractPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.GridInsertPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.GridScrollPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.PropertyChangePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.ResourceFilterSlotChangePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.ResourceSlotAmountChangePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.ResourceSlotChangePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.SecurityCardBoundPlayerPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.SecurityCardPermissionPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.SecurityCardResetPermissionPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.SingleAmountChangePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.StorageInfoRequestPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.UseNetworkBoundItemPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.EnergyInfoPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.GridActivePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.GridClearPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.GridUpdatePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.NetworkTransmitterStatusPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.NoPermissionPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.ResourceSlotUpdatePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.StorageInfoResponsePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.WirelessTransmitterRangePacket; import com.refinedmods.refinedstorage2.platform.common.support.resource.FluidResource; import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; import com.refinedmods.refinedstorage2.platform.common.upgrade.RegulatorUpgradeItem; @@ -34,21 +59,6 @@ import com.refinedmods.refinedstorage2.platform.fabric.grid.strategy.ItemGridExtractionStrategy; import com.refinedmods.refinedstorage2.platform.fabric.grid.strategy.ItemGridScrollingStrategy; import com.refinedmods.refinedstorage2.platform.fabric.importer.FabricStorageImporterTransferStrategyFactory; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.CraftingGridClearPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.CraftingGridRecipeTransferPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.GridExtractPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.GridInsertPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.GridScrollPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.PropertyChangePacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.ResourceFilterSlotChangePacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.ResourceSlotAmountChangePacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.ResourceSlotChangePacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.SecurityCardBoundPlayerPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.SecurityCardPermissionPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.SecurityCardResetPermissionPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.SingleAmountChangePacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.StorageInfoRequestPacket; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.UseNetworkBoundItemPacket; import com.refinedmods.refinedstorage2.platform.fabric.security.NetworkNodeBreakSecurityEventListener; import com.refinedmods.refinedstorage2.platform.fabric.storage.diskdrive.FabricDiskDriveBlockEntity; import com.refinedmods.refinedstorage2.platform.fabric.storage.diskinterface.FabricDiskInterfaceBlockEntity; @@ -71,6 +81,7 @@ import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents; import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents; import net.fabricmc.fabric.api.event.player.UseBlockCallback; +import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerType; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; @@ -84,10 +95,14 @@ import net.fabricmc.loader.api.FabricLoader; import net.minecraft.core.Registry; import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.world.Container; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.flag.FeatureFlags; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.item.CreativeModeTab; @@ -128,6 +143,7 @@ public void onInitialize() { registerExternalStorageProviderFactories(); registerContent(); registerPackets(); + registerPacketHandlers(); registerSounds(new DirectRegistryCallback<>(BuiltInRegistries.SOUND_EVENT)); registerRecipeSerializers(new DirectRegistryCallback<>(BuiltInRegistries.RECIPE_SERIALIZER)); registerSidedHandlers(); @@ -248,10 +264,18 @@ public BlockEntityType create(final BlockEntitySuppli registerMenus(new DirectRegistryCallback<>(BuiltInRegistries.MENU), new MenuTypeFactory() { @Override public MenuType create(final MenuSupplier supplier) { - return new ExtendedScreenHandlerType<>(supplier::create); + return new MenuType<>(supplier::create, FeatureFlags.DEFAULT_FLAGS); + } + }, new ExtendedMenuTypeFactory() { + @Override + public MenuType create(final MenuSupplier supplier, + final StreamCodec + streamCodec) { + return new ExtendedScreenHandlerType<>(supplier::create, streamCodec); } }); registerLootFunctions(new DirectRegistryCallback<>(BuiltInRegistries.LOOT_FUNCTION_TYPE)); + registerDataComponents(new DirectRegistryCallback<>(BuiltInRegistries.DATA_COMPONENT_TYPE)); } private void registerCustomItems(final RegistryCallback callback) { @@ -259,31 +283,31 @@ private void registerCustomItems(final RegistryCallback callback) { PlatformApi.INSTANCE.getUpgradeRegistry() ) { @Override - public boolean allowNbtUpdateAnimation(final Player player, - final InteractionHand hand, - final ItemStack oldStack, - final ItemStack newStack) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + public boolean allowComponentsUpdateAnimation(final Player player, + final InteractionHand hand, + final ItemStack oldStack, + final ItemStack newStack) { + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } })); Items.INSTANCE.setWirelessGrid(callback.register(WIRELESS_GRID, () -> new WirelessGridItem() { @Override - public boolean allowNbtUpdateAnimation(final Player player, - final InteractionHand hand, - final ItemStack oldStack, - final ItemStack newStack) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + public boolean allowComponentsUpdateAnimation(final Player player, + final InteractionHand hand, + final ItemStack oldStack, + final ItemStack newStack) { + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } })); Items.INSTANCE.setCreativeWirelessGrid(callback.register( CREATIVE_WIRELESS_GRID, () -> new WirelessGridItem() { @Override - public boolean allowNbtUpdateAnimation(final Player player, - final InteractionHand hand, - final ItemStack oldStack, - final ItemStack newStack) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + public boolean allowComponentsUpdateAnimation(final Player player, + final InteractionHand hand, + final ItemStack oldStack, + final ItemStack newStack) { + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } } )); @@ -291,43 +315,43 @@ public boolean allowNbtUpdateAnimation(final Player player, Blocks.INSTANCE.getPortableGrid(), PortableGridType.NORMAL ) { @Override - public boolean allowNbtUpdateAnimation(final Player player, - final InteractionHand hand, - final ItemStack oldStack, - final ItemStack newStack) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + public boolean allowComponentsUpdateAnimation(final Player player, + final InteractionHand hand, + final ItemStack oldStack, + final ItemStack newStack) { + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } })); Items.INSTANCE.setCreativePortableGrid(callback.register( CREATIVE_PORTABLE_GRID, () -> new PortableGridBlockItem(Blocks.INSTANCE.getCreativePortableGrid(), PortableGridType.CREATIVE) { @Override - public boolean allowNbtUpdateAnimation(final Player player, - final InteractionHand hand, - final ItemStack oldStack, - final ItemStack newStack) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + public boolean allowComponentsUpdateAnimation(final Player player, + final InteractionHand hand, + final ItemStack oldStack, + final ItemStack newStack) { + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } } )); Items.INSTANCE.setSecurityCard(callback.register(SECURITY_CARD, () -> new SecurityCardItem() { @Override - public boolean allowNbtUpdateAnimation(final Player player, - final InteractionHand hand, - final ItemStack oldStack, - final ItemStack newStack) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + public boolean allowComponentsUpdateAnimation(final Player player, + final InteractionHand hand, + final ItemStack oldStack, + final ItemStack newStack) { + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } })); Items.INSTANCE.setFallbackSecurityCard(callback.register( FALLBACK_SECURITY_CARD, () -> new FallbackSecurityCardItem() { @Override - public boolean allowNbtUpdateAnimation(final Player player, - final InteractionHand hand, - final ItemStack oldStack, - final ItemStack newStack) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + public boolean allowComponentsUpdateAnimation(final Player player, + final InteractionHand hand, + final ItemStack oldStack, + final ItemStack newStack) { + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } } )); @@ -346,42 +370,155 @@ private void registerCreativeModeTab() { } private void registerPackets() { - ServerPlayNetworking.registerGlobalReceiver(PacketIds.STORAGE_INFO_REQUEST, new StorageInfoRequestPacket()); - ServerPlayNetworking.registerGlobalReceiver(PacketIds.GRID_INSERT, new GridInsertPacket()); - ServerPlayNetworking.registerGlobalReceiver(PacketIds.GRID_EXTRACT, new GridExtractPacket()); - ServerPlayNetworking.registerGlobalReceiver(PacketIds.GRID_SCROLL, new GridScrollPacket()); - ServerPlayNetworking.registerGlobalReceiver(PacketIds.CRAFTING_GRID_CLEAR, new CraftingGridClearPacket()); + registerServerToClientPackets(); + registerClientToServerPackets(); + } + + private void registerServerToClientPackets() { + PayloadTypeRegistry.playS2C().register(EnergyInfoPacket.PACKET_TYPE, EnergyInfoPacket.STREAM_CODEC); + PayloadTypeRegistry.playS2C().register( + WirelessTransmitterRangePacket.PACKET_TYPE, + WirelessTransmitterRangePacket.STREAM_CODEC + ); + PayloadTypeRegistry.playS2C().register(GridActivePacket.PACKET_TYPE, GridActivePacket.STREAM_CODEC); + PayloadTypeRegistry.playS2C().register(GridClearPacket.PACKET_TYPE, GridClearPacket.STREAM_CODEC); + PayloadTypeRegistry.playS2C().register(GridUpdatePacket.PACKET_TYPE, GridUpdatePacket.STREAM_CODEC); + PayloadTypeRegistry.playS2C().register( + NetworkTransmitterStatusPacket.PACKET_TYPE, + NetworkTransmitterStatusPacket.STREAM_CODEC + ); + PayloadTypeRegistry.playS2C().register( + NoPermissionPacket.PACKET_TYPE, + NoPermissionPacket.STREAM_CODEC + ); + PayloadTypeRegistry.playS2C().register( + ResourceSlotUpdatePacket.PACKET_TYPE, + ResourceSlotUpdatePacket.STREAM_CODEC + ); + PayloadTypeRegistry.playS2C().register( + StorageInfoResponsePacket.PACKET_TYPE, + StorageInfoResponsePacket.STREAM_CODEC + ); + } + + private void registerClientToServerPackets() { + PayloadTypeRegistry.playC2S().register( + CraftingGridClearPacket.PACKET_TYPE, + CraftingGridClearPacket.STREAM_CODEC + ); + PayloadTypeRegistry.playC2S().register( + CraftingGridRecipeTransferPacket.PACKET_TYPE, + CraftingGridRecipeTransferPacket.STREAM_CODEC + ); + PayloadTypeRegistry.playC2S().register(GridExtractPacket.PACKET_TYPE, GridExtractPacket.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(GridInsertPacket.PACKET_TYPE, GridInsertPacket.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(GridScrollPacket.PACKET_TYPE, GridScrollPacket.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(PropertyChangePacket.PACKET_TYPE, PropertyChangePacket.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register( + ResourceFilterSlotChangePacket.PACKET_TYPE, + ResourceFilterSlotChangePacket.STREAM_CODEC + ); + PayloadTypeRegistry.playC2S().register( + ResourceSlotAmountChangePacket.PACKET_TYPE, + ResourceSlotAmountChangePacket.STREAM_CODEC + ); + PayloadTypeRegistry.playC2S().register( + ResourceSlotChangePacket.PACKET_TYPE, + ResourceSlotChangePacket.STREAM_CODEC + ); + PayloadTypeRegistry.playC2S().register( + SecurityCardBoundPlayerPacket.PACKET_TYPE, + SecurityCardBoundPlayerPacket.STREAM_CODEC + ); + PayloadTypeRegistry.playC2S().register( + SecurityCardPermissionPacket.PACKET_TYPE, + SecurityCardPermissionPacket.STREAM_CODEC + ); + PayloadTypeRegistry.playC2S().register( + SecurityCardResetPermissionPacket.PACKET_TYPE, + SecurityCardResetPermissionPacket.STREAM_CODEC + ); + PayloadTypeRegistry.playC2S().register( + SingleAmountChangePacket.PACKET_TYPE, + SingleAmountChangePacket.STREAM_CODEC + ); + PayloadTypeRegistry.playC2S().register( + StorageInfoRequestPacket.PACKET_TYPE, + StorageInfoRequestPacket.STREAM_CODEC + ); + PayloadTypeRegistry.playC2S().register( + UseNetworkBoundItemPacket.PACKET_TYPE, + UseNetworkBoundItemPacket.STREAM_CODEC + ); + } + + private void registerPacketHandlers() { + ServerPlayNetworking.registerGlobalReceiver( + StorageInfoRequestPacket.PACKET_TYPE, + wrapHandler(StorageInfoRequestPacket::handle) + ); + ServerPlayNetworking.registerGlobalReceiver( + GridInsertPacket.PACKET_TYPE, + wrapHandler(GridInsertPacket::handle) + ); + ServerPlayNetworking.registerGlobalReceiver( + GridExtractPacket.PACKET_TYPE, + wrapHandler(GridExtractPacket::handle) + ); + ServerPlayNetworking.registerGlobalReceiver( + GridScrollPacket.PACKET_TYPE, + wrapHandler(GridScrollPacket::handle) + ); ServerPlayNetworking.registerGlobalReceiver( - PacketIds.CRAFTING_GRID_RECIPE_TRANSFER, - new CraftingGridRecipeTransferPacket() + CraftingGridClearPacket.PACKET_TYPE, + wrapHandler(CraftingGridClearPacket::handle) ); - ServerPlayNetworking.registerGlobalReceiver(PacketIds.PROPERTY_CHANGE, new PropertyChangePacket()); ServerPlayNetworking.registerGlobalReceiver( - PacketIds.RESOURCE_SLOT_AMOUNT_CHANGE, - new ResourceSlotAmountChangePacket() + CraftingGridRecipeTransferPacket.PACKET_TYPE, + wrapHandler(CraftingGridRecipeTransferPacket::handle) ); ServerPlayNetworking.registerGlobalReceiver( - PacketIds.RESOURCE_FILTER_SLOT_CHANGE, - new ResourceFilterSlotChangePacket() + PropertyChangePacket.PACKET_TYPE, + wrapHandler(PropertyChangePacket::handle) ); ServerPlayNetworking.registerGlobalReceiver( - PacketIds.RESOURCE_SLOT_CHANGE, - new ResourceSlotChangePacket() + ResourceSlotAmountChangePacket.PACKET_TYPE, + wrapHandler(ResourceSlotAmountChangePacket::handle) ); - ServerPlayNetworking.registerGlobalReceiver(PacketIds.SINGLE_AMOUNT_CHANGE, new SingleAmountChangePacket()); - ServerPlayNetworking.registerGlobalReceiver(PacketIds.USE_NETWORK_BOUND_ITEM, new UseNetworkBoundItemPacket()); ServerPlayNetworking.registerGlobalReceiver( - PacketIds.SECURITY_CARD_PERMISSION, - new SecurityCardPermissionPacket() + ResourceFilterSlotChangePacket.PACKET_TYPE, + wrapHandler(ResourceFilterSlotChangePacket::handle) ); ServerPlayNetworking.registerGlobalReceiver( - PacketIds.SECURITY_CARD_RESET_PERMISSION, - new SecurityCardResetPermissionPacket() + ResourceSlotChangePacket.PACKET_TYPE, + wrapHandler(ResourceSlotChangePacket::handle) ); ServerPlayNetworking.registerGlobalReceiver( - PacketIds.SECURITY_CARD_BOUND_PLAYER, - new SecurityCardBoundPlayerPacket() + SingleAmountChangePacket.PACKET_TYPE, + wrapHandler(SingleAmountChangePacket::handle) ); + ServerPlayNetworking.registerGlobalReceiver( + UseNetworkBoundItemPacket.PACKET_TYPE, + wrapHandler(UseNetworkBoundItemPacket::handle) + ); + ServerPlayNetworking.registerGlobalReceiver( + SecurityCardPermissionPacket.PACKET_TYPE, + wrapHandler(SecurityCardPermissionPacket::handle) + ); + ServerPlayNetworking.registerGlobalReceiver( + SecurityCardResetPermissionPacket.PACKET_TYPE, + wrapHandler(SecurityCardResetPermissionPacket::handle) + ); + ServerPlayNetworking.registerGlobalReceiver( + SecurityCardBoundPlayerPacket.PACKET_TYPE, + wrapHandler(SecurityCardBoundPlayerPacket::handle) + ); + } + + private static ServerPlayNetworking.PlayPayloadHandler wrapHandler( + final PacketHandler handler + ) { + return (packet, ctx) -> handler.handle(packet, ctx::player); } private void registerSidedHandlers() { diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/PlatformImpl.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/PlatformImpl.java index e23f64cc8..8cca663e8 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/PlatformImpl.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/PlatformImpl.java @@ -14,8 +14,6 @@ import com.refinedmods.refinedstorage2.platform.fabric.grid.view.FabricItemGridResourceFactory; import com.refinedmods.refinedstorage2.platform.fabric.mixin.EditBoxAccessor; import com.refinedmods.refinedstorage2.platform.fabric.mixin.KeyMappingAccessor; -import com.refinedmods.refinedstorage2.platform.fabric.packet.c2s.ClientToServerCommunicationsImpl; -import com.refinedmods.refinedstorage2.platform.fabric.packet.s2c.ServerToClientCommunicationsImpl; import com.refinedmods.refinedstorage2.platform.fabric.support.containermenu.ContainerTransferDestination; import com.refinedmods.refinedstorage2.platform.fabric.support.containermenu.MenuOpenerImpl; import com.refinedmods.refinedstorage2.platform.fabric.support.energy.EnergyStorageAdapter; @@ -29,8 +27,10 @@ import javax.annotation.Nullable; import com.mojang.blaze3d.platform.InputConstants; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.fabric.api.entity.FakePlayer; import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.fabricmc.fabric.api.transfer.v1.context.ContainerItemContext; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidStorage; @@ -50,15 +50,14 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.NonNullList; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.tags.FluidTags; -import net.minecraft.tags.TagKey; import net.minecraft.world.Container; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -66,9 +65,9 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.inventory.tooltip.TooltipComponent; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; @@ -89,19 +88,8 @@ import static com.refinedmods.refinedstorage2.platform.fabric.support.resource.VariantUtil.toItemVariant; public final class PlatformImpl extends AbstractPlatform { - private static final TagKey WRENCH_TAG = TagKey.create( - BuiltInRegistries.ITEM.key(), - new ResourceLocation("c", "wrenches") - ); - public PlatformImpl() { - super( - new ServerToClientCommunicationsImpl(), - new ClientToServerCommunicationsImpl(), - new MenuOpenerImpl(), - new FluidVariantFluidRenderer(), - ItemGridInsertionStrategy::new - ); + super(new MenuOpenerImpl(), new FluidVariantFluidRenderer(), ItemGridInsertionStrategy::new); } @Override @@ -109,11 +97,6 @@ public long getBucketAmount() { return FluidConstants.BUCKET; } - @Override - public TagKey getWrenchTag() { - return WRENCH_TAG; - } - @Override public Config getConfig() { return ConfigImpl.get(); @@ -209,11 +192,12 @@ public ItemStack getCloneItemStack(final BlockState state, return state.getBlock().getCloneItemStack(level, hitResult.getBlockPos(), state); } + @Override public NonNullList getRemainingCraftingItems(final Player player, final CraftingRecipe craftingRecipe, - final CraftingContainer craftingContainer) { - return craftingRecipe.getRemainingItems(craftingContainer); + final CraftingInput input) { + return craftingRecipe.getRemainingItems(input); } @Override @@ -372,4 +356,14 @@ public Optional getEnergyStorage(final ItemStack stack) { .map(EnergyStorageAdapter.class::cast) .map(EnergyStorageAdapter::getEnergyStorage); } + + @Override + public void sendPacketToServer(final T packet) { + ClientPlayNetworking.send(packet); + } + + @Override + public void sendPacketToClient(final ServerPlayer player, final T packet) { + ServerPlayNetworking.send(player, packet); + } } diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/grid/strategy/FluidGridExtractionStrategy.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/grid/strategy/FluidGridExtractionStrategy.java index 9b3e480d5..bfca9f72b 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/grid/strategy/FluidGridExtractionStrategy.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/grid/strategy/FluidGridExtractionStrategy.java @@ -27,7 +27,7 @@ public class FluidGridExtractionStrategy implements GridExtractionStrategy { private static final ItemVariant BUCKET_ITEM_VARIANT = ItemVariant.of(Items.BUCKET); - private static final ItemResource BUCKET_ITEM_RESOURCE = new ItemResource(Items.BUCKET, null); + private static final ItemResource BUCKET_ITEM_RESOURCE = new ItemResource(Items.BUCKET); private final GridOperations gridOperations; private final PlayerInventoryStorage playerInventoryStorage; diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/grid/strategy/ItemGridInsertionStrategy.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/grid/strategy/ItemGridInsertionStrategy.java index 77fad8db0..67e400ac8 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/grid/strategy/ItemGridInsertionStrategy.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/grid/strategy/ItemGridInsertionStrategy.java @@ -41,7 +41,7 @@ public boolean onInsert(final GridInsertMode insertMode, final boolean tryAltern if (carried.isEmpty()) { return false; } - final ItemResource itemResource = new ItemResource(carried.getItem(), carried.getTag()); + final ItemResource itemResource = ItemResource.ofItemStack(carried); gridOperations.insert(itemResource, insertMode, (resource, amount, action, source) -> { if (!(resource instanceof ItemResource itemResource2)) { return 0; diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/mixin/AbstractModelBakerImplMixin.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/mixin/AbstractModelBakerImplMixin.java index 4755550c0..d85291bfe 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/mixin/AbstractModelBakerImplMixin.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/mixin/AbstractModelBakerImplMixin.java @@ -3,45 +3,36 @@ import com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil; import com.refinedmods.refinedstorage2.platform.fabric.support.render.EmissiveModelRegistry; -import java.util.Map; - +import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.ModelBakery; import net.minecraft.client.resources.model.ModelState; +import net.minecraft.client.resources.model.UnbakedModel; import net.minecraft.resources.ResourceLocation; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(ModelBakery.ModelBakerImpl.class) public abstract class AbstractModelBakerImplMixin { - @Shadow(remap = false) - private ModelBakery field_40571; - - @Inject(method = "bake", at = @At("RETURN"), cancellable = true) - public void onBake(final ResourceLocation resourceLocation, - final ModelState modelState, - final CallbackInfoReturnable returnable) { - if (!resourceLocation.getNamespace().equals(IdentifierUtil.MOD_ID)) { + @Inject(method = "bakeUncached", at = @At("RETURN"), cancellable = true) + public void onBakeUncached(final UnbakedModel unbakedModel, + final ModelState modelState, + final CallbackInfoReturnable cir) { + if (!(unbakedModel instanceof BlockModel blockModel)) { return; } - final BakedModel emissive = EmissiveModelRegistry.INSTANCE.makeEmissive( - resourceLocation, - returnable.getReturnValue() - ); - if (emissive == null) { + if (!blockModel.name.startsWith(IdentifierUtil.MOD_ID)) { return; } - final ModelBakery.BakedCacheKey cacheKey = new ModelBakery.BakedCacheKey( - resourceLocation, - modelState.getRotation(), - modelState.isUvLocked() + final BakedModel wrapped = EmissiveModelRegistry.INSTANCE.tryWrapAsEmissiveModel( + ResourceLocation.parse(blockModel.name), + cir.getReturnValue() ); - final Map bakedCache = ((ModelBakeryAccessor) field_40571) - .getBakedCache(); - bakedCache.put(cacheKey, emissive); - returnable.setReturnValue(emissive); + if (wrapped == null) { + return; + } + cir.setReturnValue(wrapped); } } diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ClientToServerCommunicationsImpl.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ClientToServerCommunicationsImpl.java deleted file mode 100644 index 3d164f3f7..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ClientToServerCommunicationsImpl.java +++ /dev/null @@ -1,162 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.api.grid.operations.GridExtractMode; -import com.refinedmods.refinedstorage2.api.grid.operations.GridInsertMode; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.grid.GridScrollMode; -import com.refinedmods.refinedstorage2.platform.api.security.PlatformPermission; -import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import com.refinedmods.refinedstorage2.platform.common.support.ClientToServerCommunications; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.PropertyType; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; -import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; - -import java.util.List; -import java.util.UUID; -import java.util.function.Consumer; - -import io.netty.buffer.Unpooled; -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; - -public class ClientToServerCommunicationsImpl implements ClientToServerCommunications { - @Override - public void sendGridExtract(final PlatformResourceKey resource, final GridExtractMode mode, final boolean cursor) { - final ResourceType resourceType = resource.getResourceType(); - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType).ifPresent(id -> sendToServer( - PacketIds.GRID_EXTRACT, - buf -> { - buf.writeResourceLocation(id); - GridExtractPacket.writeMode(buf, mode); - buf.writeBoolean(cursor); - resource.toBuffer(buf); - } - )); - } - - @Override - public void sendGridScroll(final PlatformResourceKey resource, final GridScrollMode mode, final int slotIndex) { - final ResourceType resourceType = resource.getResourceType(); - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType).ifPresent(id -> sendToServer( - PacketIds.GRID_SCROLL, - buf -> { - buf.writeResourceLocation(id); - GridScrollPacket.writeMode(buf, mode); - buf.writeInt(slotIndex); - resource.toBuffer(buf); - } - )); - } - - @Override - public void sendGridInsert(final GridInsertMode mode, final boolean tryAlternatives) { - sendToServer(PacketIds.GRID_INSERT, buf -> { - buf.writeBoolean(mode == GridInsertMode.SINGLE_RESOURCE); - buf.writeBoolean(tryAlternatives); - }); - } - - @Override - public void sendCraftingGridClear(final boolean toPlayerInventory) { - sendToServer(PacketIds.CRAFTING_GRID_CLEAR, buf -> buf.writeBoolean(toPlayerInventory)); - } - - @Override - public void sendCraftingGridRecipeTransfer(final List> recipe) { - sendToServer(PacketIds.CRAFTING_GRID_RECIPE_TRANSFER, buf -> { - buf.writeInt(recipe.size()); - for (final List slotPossibilities : recipe) { - buf.writeInt(slotPossibilities.size()); - for (final ItemResource slotPossibility : slotPossibilities) { - slotPossibility.toBuffer(buf); - } - } - }); - } - - @Override - public void sendPropertyChange(final PropertyType type, final T value) { - sendToServer(PacketIds.PROPERTY_CHANGE, buf -> { - buf.writeResourceLocation(type.id()); - buf.writeInt(type.serializer().apply(value)); - }); - } - - @Override - public void sendStorageInfoRequest(final UUID storageId) { - sendToServer(PacketIds.STORAGE_INFO_REQUEST, buf -> buf.writeUUID(storageId)); - } - - @Override - public void sendResourceSlotChange(final int slotIndex, final boolean tryAlternatives) { - sendToServer(PacketIds.RESOURCE_SLOT_CHANGE, buf -> { - buf.writeInt(slotIndex); - buf.writeBoolean(tryAlternatives); - }); - } - - @Override - public void sendResourceFilterSlotChange(final PlatformResourceKey resource, final int slotIndex) { - final ResourceType resourceType = resource.getResourceType(); - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType) - .ifPresent(id -> sendToServer(PacketIds.RESOURCE_FILTER_SLOT_CHANGE, buf -> { - buf.writeInt(slotIndex); - buf.writeResourceLocation(id); - resource.toBuffer(buf); - })); - } - - @Override - public void sendResourceSlotAmountChange(final int slotIndex, final long amount) { - sendToServer(PacketIds.RESOURCE_SLOT_AMOUNT_CHANGE, buf -> { - buf.writeInt(slotIndex); - buf.writeLong(amount); - }); - } - - @Override - public void sendSingleAmountChange(final double amount) { - sendToServer(PacketIds.SINGLE_AMOUNT_CHANGE, buf -> buf.writeDouble(amount)); - } - - @Override - public void sendUseNetworkBoundItem(final SlotReference slotReference) { - sendToServer( - PacketIds.USE_NETWORK_BOUND_ITEM, - buf -> PlatformApi.INSTANCE.writeSlotReference(slotReference, buf) - ); - } - - @Override - public void sendSecurityCardPermission(final PlatformPermission permission, final boolean allowed) { - PlatformApi.INSTANCE.getPermissionRegistry().getId(permission).ifPresent(id -> sendToServer( - PacketIds.SECURITY_CARD_PERMISSION, - buf -> { - buf.writeResourceLocation(id); - buf.writeBoolean(allowed); - } - )); - } - - @Override - public void sendSecurityCardResetPermission(final PlatformPermission permission) { - PlatformApi.INSTANCE.getPermissionRegistry().getId(permission).ifPresent(id -> sendToServer( - PacketIds.SECURITY_CARD_RESET_PERMISSION, - buf -> buf.writeResourceLocation(id) - )); - } - - @Override - public void sendSecurityCardBoundPlayer(final UUID playerId) { - sendToServer(PacketIds.SECURITY_CARD_BOUND_PLAYER, buf -> buf.writeUUID(playerId)); - } - - private static void sendToServer(final ResourceLocation id, final Consumer bufConsumer) { - final FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer()); - bufConsumer.accept(buf); - ClientPlayNetworking.send(id, buf); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/CraftingGridClearPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/CraftingGridClearPacket.java deleted file mode 100644 index 8660d7e59..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/CraftingGridClearPacket.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.grid.CraftingGridContainerMenu; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; -import net.minecraft.world.inventory.AbstractContainerMenu; - -public class CraftingGridClearPacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final boolean toPlayerInventory = buf.readBoolean(); - server.execute(() -> { - final AbstractContainerMenu menu = player.containerMenu; - if (menu instanceof CraftingGridContainerMenu craftingGridMenu) { - craftingGridMenu.clear(toPlayerInventory); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/CraftingGridRecipeTransferPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/CraftingGridRecipeTransferPacket.java deleted file mode 100644 index 4efffd0da..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/CraftingGridRecipeTransferPacket.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.grid.CraftingGridContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; -import com.refinedmods.refinedstorage2.platform.common.util.PacketUtil; - -import java.util.ArrayList; -import java.util.List; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; - -public class CraftingGridRecipeTransferPacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final int slots = buf.readInt(); - final List> recipe = new ArrayList<>(slots); - for (int i = 0; i < slots; ++i) { - final int slotPossibilitiesCount = buf.readInt(); - final List slotPossibilities = new ArrayList<>(slotPossibilitiesCount); - for (int j = 0; j < slotPossibilitiesCount; ++j) { - slotPossibilities.add(PacketUtil.readItemResource(buf)); - } - recipe.add(slotPossibilities); - } - handle(recipe, player, server); - } - - private void handle(final List> recipe, final Player player, final MinecraftServer server) { - final AbstractContainerMenu menu = player.containerMenu; - if (menu instanceof CraftingGridContainerMenu craftingGridContainerMenu) { - server.execute(() -> craftingGridContainerMenu.transferRecipe(recipe)); - } - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/GridExtractPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/GridExtractPacket.java deleted file mode 100644 index da105453e..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/GridExtractPacket.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.api.grid.operations.GridExtractMode; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridExtractionStrategy; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; - -public class GridExtractPacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final ResourceLocation id = buf.readResourceLocation(); - PlatformApi.INSTANCE.getResourceTypeRegistry() - .get(id) - .ifPresent(type -> handle(type, buf, player, server)); - } - - private void handle(final ResourceType type, - final FriendlyByteBuf buf, - final Player player, - final MinecraftServer server) { - final AbstractContainerMenu menu = player.containerMenu; - if (menu instanceof GridExtractionStrategy strategy) { - final GridExtractMode mode = getMode(buf.readByte()); - final boolean cursor = buf.readBoolean(); - final PlatformResourceKey resource = type.fromBuffer(buf); - server.execute(() -> strategy.onExtract(resource, mode, cursor)); - } - } - - private static GridExtractMode getMode(final byte mode) { - if (mode == 0) { - return GridExtractMode.ENTIRE_RESOURCE; - } - return GridExtractMode.HALF_RESOURCE; - } - - public static void writeMode(final FriendlyByteBuf buf, final GridExtractMode mode) { - if (mode == GridExtractMode.ENTIRE_RESOURCE) { - buf.writeByte(0); - } else if (mode == GridExtractMode.HALF_RESOURCE) { - buf.writeByte(1); - } - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/GridInsertPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/GridInsertPacket.java deleted file mode 100644 index 642ac2cc6..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/GridInsertPacket.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.api.grid.operations.GridInsertMode; -import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridInsertionStrategy; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; -import net.minecraft.world.inventory.AbstractContainerMenu; - -public class GridInsertPacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final boolean single = buf.readBoolean(); - final boolean tryAlternatives = buf.readBoolean(); - server.execute(() -> { - final AbstractContainerMenu menu = player.containerMenu; - if (menu instanceof GridInsertionStrategy strategy) { - final GridInsertMode mode = single ? GridInsertMode.SINGLE_RESOURCE : GridInsertMode.ENTIRE_RESOURCE; - strategy.onInsert(mode, tryAlternatives); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/GridScrollPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/GridScrollPacket.java deleted file mode 100644 index 81bb55218..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/GridScrollPacket.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.grid.GridScrollMode; -import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridScrollingStrategy; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; - -public class GridScrollPacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final ResourceLocation id = buf.readResourceLocation(); - PlatformApi.INSTANCE.getResourceTypeRegistry() - .get(id) - .ifPresent(type -> handle(type, buf, player, server)); - } - - private void handle(final ResourceType type, - final FriendlyByteBuf buf, - final Player player, - final MinecraftServer server) { - final AbstractContainerMenu menu = player.containerMenu; - if (menu instanceof GridScrollingStrategy strategy) { - final GridScrollMode mode = getMode(buf.readByte()); - final int slotIndex = buf.readInt(); - final PlatformResourceKey resource = type.fromBuffer(buf); - server.execute(() -> strategy.onScroll(resource, mode, slotIndex)); - } - } - - public static GridScrollMode getMode(final byte mode) { - if (mode == 0) { - return GridScrollMode.GRID_TO_INVENTORY; - } else if (mode == 1) { - return GridScrollMode.GRID_TO_CURSOR; - } - return GridScrollMode.INVENTORY_TO_GRID; - } - - public static void writeMode(final FriendlyByteBuf buf, final GridScrollMode mode) { - switch (mode) { - case GRID_TO_INVENTORY -> buf.writeByte(0); - case GRID_TO_CURSOR -> buf.writeByte(1); - case INVENTORY_TO_GRID -> buf.writeByte(2); - } - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/PropertyChangePacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/PropertyChangePacket.java deleted file mode 100644 index bce12abfd..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/PropertyChangePacket.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.support.AbstractBaseContainerMenu; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; - -public class PropertyChangePacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final ResourceLocation id = buf.readResourceLocation(); - final int value = buf.readInt(); - - server.execute(() -> { - if (player.containerMenu instanceof AbstractBaseContainerMenu menu) { - menu.receivePropertyChangeFromClient(id, value); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ResourceFilterSlotChangePacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ResourceFilterSlotChangePacket.java deleted file mode 100644 index eb56e7747..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ResourceFilterSlotChangePacket.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; - -public class ResourceFilterSlotChangePacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final int slotIndex = buf.readInt(); - final ResourceLocation resourceTypeId = buf.readResourceLocation(); - PlatformApi.INSTANCE.getResourceTypeRegistry() - .get(resourceTypeId) - .ifPresent(resourceType -> handle(resourceType, buf, server, slotIndex, player)); - } - - private void handle(final ResourceType resourceType, - final FriendlyByteBuf buf, - final MinecraftServer server, - final int slotIndex, - final ServerPlayer serverPlayer) { - final PlatformResourceKey resource = resourceType.fromBuffer(buf); - server.execute(() -> { - if (serverPlayer.containerMenu instanceof AbstractResourceContainerMenu containerMenu) { - containerMenu.handleResourceFilterSlotUpdate(slotIndex, resource); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ResourceSlotAmountChangePacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ResourceSlotAmountChangePacket.java deleted file mode 100644 index 0eb3f38b2..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ResourceSlotAmountChangePacket.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; - -public class ResourceSlotAmountChangePacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final int slotIndex = buf.readInt(); - final long amount = buf.readLong(); - server.execute(() -> { - if (player.containerMenu instanceof AbstractResourceContainerMenu menu) { - menu.handleResourceSlotAmountChange(slotIndex, amount); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ResourceSlotChangePacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ResourceSlotChangePacket.java deleted file mode 100644 index f2f9b011e..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/ResourceSlotChangePacket.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; - -public class ResourceSlotChangePacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final int slotIndex = buf.readInt(); - final boolean tryAlternatives = buf.readBoolean(); - server.execute(() -> { - if (player.containerMenu instanceof AbstractResourceContainerMenu resourceContainerMenu) { - resourceContainerMenu.handleResourceSlotChange(slotIndex, tryAlternatives); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SecurityCardBoundPlayerPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SecurityCardBoundPlayerPacket.java deleted file mode 100644 index 42540536c..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SecurityCardBoundPlayerPacket.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.security.SecurityCardContainerMenu; - -import java.util.UUID; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; - -public class SecurityCardBoundPlayerPacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final UUID playerId = buf.readUUID(); - if (player.containerMenu instanceof SecurityCardContainerMenu securityCardContainerMenu) { - server.execute(() -> securityCardContainerMenu.setBoundPlayer(server, playerId)); - } - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SecurityCardPermissionPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SecurityCardPermissionPacket.java deleted file mode 100644 index cfebef7b1..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SecurityCardPermissionPacket.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.security.AbstractSecurityCardContainerMenu; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; - -public class SecurityCardPermissionPacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final ResourceLocation permissionId = buf.readResourceLocation(); - final boolean allowed = buf.readBoolean(); - if (player.containerMenu instanceof AbstractSecurityCardContainerMenu securityCardContainerMenu) { - server.execute(() -> securityCardContainerMenu.setPermission(permissionId, allowed)); - } - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SecurityCardResetPermissionPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SecurityCardResetPermissionPacket.java deleted file mode 100644 index de26b2f54..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SecurityCardResetPermissionPacket.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.security.AbstractSecurityCardContainerMenu; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; - -public class SecurityCardResetPermissionPacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final ResourceLocation permissionId = buf.readResourceLocation(); - if (player.containerMenu instanceof AbstractSecurityCardContainerMenu securityCardContainerMenu) { - server.execute(() -> securityCardContainerMenu.resetPermission(permissionId)); - } - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SingleAmountChangePacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SingleAmountChangePacket.java deleted file mode 100644 index 5559cde29..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/SingleAmountChangePacket.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractSingleAmountContainerMenu; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; -import net.minecraft.world.inventory.AbstractContainerMenu; - -public class SingleAmountChangePacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final double amount = buf.readDouble(); - server.execute(() -> { - final AbstractContainerMenu menu = player.containerMenu; - if (menu instanceof AbstractSingleAmountContainerMenu containerMenu) { - containerMenu.changeAmountOnServer(amount); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/StorageInfoRequestPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/StorageInfoRequestPacket.java deleted file mode 100644 index daecf8275..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/StorageInfoRequestPacket.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.storage.StorageInfo; -import com.refinedmods.refinedstorage2.platform.common.Platform; - -import java.util.UUID; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; - -public class StorageInfoRequestPacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final UUID id = buf.readUUID(); - - server.execute(() -> { - final StorageInfo info = PlatformApi.INSTANCE - .getStorageRepository(player.getCommandSenderWorld()) - .getInfo(id); - - Platform.INSTANCE.getServerToClientCommunications().sendStorageInfoResponse(player, id, info); - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/UseNetworkBoundItemPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/UseNetworkBoundItemPacket.java deleted file mode 100644 index 0a32c7fa4..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/UseNetworkBoundItemPacket.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.support.energy.AbstractNetworkBoundEnergyItem; -import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.NetworkBoundItemSession; -import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; - -import java.util.Optional; - -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; - -public class UseNetworkBoundItemPacket implements ServerPlayNetworking.PlayChannelHandler { - @Override - public void receive(final MinecraftServer server, - final ServerPlayer player, - final ServerGamePacketListenerImpl handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final Optional slotRefMaybe = PlatformApi.INSTANCE.getSlotReference(buf); - server.execute(() -> slotRefMaybe.ifPresent(slotReference -> slotReference.resolve(player).ifPresent(stack -> { - if (!(stack.getItem() instanceof AbstractNetworkBoundEnergyItem networkBoundItem)) { - return; - } - final NetworkBoundItemSession sess = PlatformApi.INSTANCE.getNetworkBoundItemHelper().openSession( - stack, - player, - slotReference - ); - networkBoundItem.use(player, slotReference, sess); - }))); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/package-info.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/package-info.java deleted file mode 100644 index aacb09f8d..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/c2s/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -@ParametersAreNonnullByDefault -@FieldsAndMethodsAreNonnullByDefault -package com.refinedmods.refinedstorage2.platform.fabric.packet.c2s; - -import com.refinedmods.refinedstorage2.api.core.FieldsAndMethodsAreNonnullByDefault; - -import javax.annotation.ParametersAreNonnullByDefault; diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/package-info.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/package-info.java deleted file mode 100644 index 84f96f577..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -@ParametersAreNonnullByDefault -@FieldsAndMethodsAreNonnullByDefault -package com.refinedmods.refinedstorage2.platform.fabric.packet; - -import com.refinedmods.refinedstorage2.api.core.FieldsAndMethodsAreNonnullByDefault; - -import javax.annotation.ParametersAreNonnullByDefault; diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/EnergyInfoPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/EnergyInfoPacket.java deleted file mode 100644 index f7e890587..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/EnergyInfoPacket.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.common.support.energy.EnergyContainerMenu; - -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; -import net.minecraft.network.FriendlyByteBuf; - -public class EnergyInfoPacket implements ClientPlayNetworking.PlayChannelHandler { - @Override - public void receive(final Minecraft client, - final ClientPacketListener handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final long stored = buf.readLong(); - final long capacity = buf.readLong(); - - client.execute(() -> { - if (client.player.containerMenu instanceof EnergyContainerMenu energyContainer) { - energyContainer.getEnergyInfo().setEnergy(stored, capacity); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/GridActivePacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/GridActivePacket.java deleted file mode 100644 index 650fe03fd..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/GridActivePacket.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.s2c; - -import com.refinedmods.refinedstorage2.api.grid.watcher.GridWatcher; - -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; -import net.minecraft.network.FriendlyByteBuf; - -public class GridActivePacket implements ClientPlayNetworking.PlayChannelHandler { - @Override - public void receive(final Minecraft client, - final ClientPacketListener handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final boolean active = buf.readBoolean(); - - client.execute(() -> { - if (client.player.containerMenu instanceof GridWatcher gridWatcher) { - gridWatcher.onActiveChanged(active); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/GridClearPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/GridClearPacket.java deleted file mode 100644 index 27f5edba7..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/GridClearPacket.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.common.grid.AbstractGridContainerMenu; - -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; -import net.minecraft.network.FriendlyByteBuf; - -public class GridClearPacket implements ClientPlayNetworking.PlayChannelHandler { - @Override - public void receive(final Minecraft client, - final ClientPacketListener handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - client.execute(() -> { - if (client.player.containerMenu instanceof AbstractGridContainerMenu containerMenu) { - containerMenu.onClear(); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/GridUpdatePacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/GridUpdatePacket.java deleted file mode 100644 index 774c33335..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/GridUpdatePacket.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.s2c; - -import com.refinedmods.refinedstorage2.api.resource.ResourceKey; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import com.refinedmods.refinedstorage2.platform.common.grid.AbstractGridContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.util.PacketUtil; - -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; - -public class GridUpdatePacket implements ClientPlayNetworking.PlayChannelHandler { - @Override - public void receive(final Minecraft client, - final ClientPacketListener handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final ResourceLocation id = buf.readResourceLocation(); - PlatformApi.INSTANCE.getResourceTypeRegistry().get(id).ifPresent(type -> handle(type, buf, client)); - } - - private void handle(final ResourceType type, - final FriendlyByteBuf buf, - final Minecraft client) { - final ResourceKey resource = type.fromBuffer(buf); - final long amount = buf.readLong(); - final TrackedResource trackedResource = PacketUtil.readTrackedResource(buf); - - client.execute(() -> { - if (client.player.containerMenu instanceof AbstractGridContainerMenu containerMenu) { - containerMenu.onResourceUpdate(resource, amount, trackedResource); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/NetworkTransmitterStatusPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/NetworkTransmitterStatusPacket.java deleted file mode 100644 index f174071cd..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/NetworkTransmitterStatusPacket.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterStatus; - -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.chat.Component; - -public class NetworkTransmitterStatusPacket implements ClientPlayNetworking.PlayChannelHandler { - @Override - public void receive(final Minecraft client, - final ClientPacketListener handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final boolean error = buf.readBoolean(); - final Component message = buf.readComponent(); - - client.execute(() -> { - if (client.player.containerMenu instanceof NetworkTransmitterContainerMenu containerMenu) { - containerMenu.setStatus(new NetworkTransmitterStatus(error, message)); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/NoPermissionPacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/NoPermissionPacket.java deleted file mode 100644 index 4cbfd9608..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/NoPermissionPacket.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.common.util.SecurityToastHelper; - -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.chat.Component; - -public class NoPermissionPacket implements ClientPlayNetworking.PlayChannelHandler { - @Override - public void receive(final Minecraft client, - final ClientPacketListener handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final Component message = buf.readComponent(); - client.execute(() -> SecurityToastHelper.addNoPermissionToast(message)); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/ResourceSlotUpdatePacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/ResourceSlotUpdatePacket.java deleted file mode 100644 index 19569352a..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/ResourceSlotUpdatePacket.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.s2c; - -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; -import com.refinedmods.refinedstorage2.api.resource.ResourceKey; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; - -import java.util.function.Consumer; - -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; - -public class ResourceSlotUpdatePacket implements ClientPlayNetworking.PlayChannelHandler { - @Override - public void receive(final Minecraft client, - final ClientPacketListener handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final int slotIndex = buf.readInt(); - final boolean present = buf.readBoolean(); - if (present) { - final ResourceLocation id = buf.readResourceLocation(); - PlatformApi.INSTANCE.getResourceTypeRegistry().get(id).ifPresent( - type -> handle(type, buf, client, slotIndex) - ); - } else { - handle(client, containerMenu -> containerMenu.handleResourceSlotUpdate(slotIndex, null)); - } - } - - private void handle(final ResourceType type, - final FriendlyByteBuf buf, - final Minecraft client, - final int slotIndex) { - final ResourceKey resource = type.fromBuffer(buf); - final long amount = buf.readLong(); - handle(client, containerMenu -> containerMenu.handleResourceSlotUpdate(slotIndex, new ResourceAmount( - resource, - amount - ))); - } - - private void handle(final Minecraft client, - final Consumer containerMenuConsumer) { - client.execute(() -> { - if (client.player.containerMenu instanceof AbstractResourceContainerMenu containerMenu) { - containerMenuConsumer.accept(containerMenu); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/ServerToClientCommunicationsImpl.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/ServerToClientCommunicationsImpl.java deleted file mode 100644 index 610a440f2..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/ServerToClientCommunicationsImpl.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.s2c; - -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.storage.StorageInfo; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterStatus; -import com.refinedmods.refinedstorage2.platform.common.support.ServerToClientCommunications; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; -import com.refinedmods.refinedstorage2.platform.common.util.PacketUtil; - -import java.util.UUID; -import java.util.function.Consumer; -import javax.annotation.Nullable; - -import io.netty.buffer.Unpooled; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerPlayer; - -public class ServerToClientCommunicationsImpl implements ServerToClientCommunications { - @Override - public void sendEnergyInfo(final ServerPlayer player, final long stored, final long capacity) { - sendToPlayer(player, PacketIds.ENERGY_INFO, buf -> { - buf.writeLong(stored); - buf.writeLong(capacity); - }); - } - - @Override - public void sendWirelessTransmitterRange(final ServerPlayer player, final int range) { - sendToPlayer(player, PacketIds.WIRELESS_TRANSMITTER_RANGE, buf -> buf.writeInt(range)); - } - - @Override - public void sendGridActiveness(final ServerPlayer player, final boolean active) { - sendToPlayer(player, PacketIds.GRID_ACTIVE, buf -> buf.writeBoolean(active)); - } - - @Override - public void sendGridUpdate(final ServerPlayer player, - final PlatformResourceKey resource, - final long change, - @Nullable final TrackedResource trackedResource) { - final ResourceType resourceType = resource.getResourceType(); - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType).ifPresent(id -> sendToPlayer( - player, - PacketIds.GRID_UPDATE, - buf -> { - buf.writeResourceLocation(id); - resource.toBuffer(buf); - buf.writeLong(change); - PacketUtil.writeTrackedResource(buf, trackedResource); - } - )); - } - - @Override - public void sendGridClear(final ServerPlayer player) { - sendToPlayer(player, PacketIds.GRID_CLEAR, buf -> { - }); - } - - @Override - public void sendResourceSlotUpdate(final ServerPlayer player, - @Nullable final ResourceAmount resourceAmount, - final int slotIndex) { - sendToPlayer(player, PacketIds.RESOURCE_SLOT_UPDATE, buf -> { - buf.writeInt(slotIndex); - if (resourceAmount != null - && resourceAmount.getResource() instanceof PlatformResourceKey platformResource) { - sendResourceSlotUpdate(platformResource, resourceAmount.getAmount(), buf); - } else { - buf.writeBoolean(false); - } - }); - } - - private void sendResourceSlotUpdate(final PlatformResourceKey resource, - final long amount, - final FriendlyByteBuf buf) { - final ResourceType resourceType = resource.getResourceType(); - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType).ifPresentOrElse(id -> { - buf.writeBoolean(true); - buf.writeResourceLocation(id); - resource.toBuffer(buf); - buf.writeLong(amount); - }, () -> buf.writeBoolean(false)); - } - - @Override - public void sendStorageInfoResponse(final ServerPlayer player, final UUID id, final StorageInfo storageInfo) { - sendToPlayer(player, PacketIds.STORAGE_INFO_RESPONSE, bufToSend -> { - bufToSend.writeUUID(id); - bufToSend.writeLong(storageInfo.stored()); - bufToSend.writeLong(storageInfo.capacity()); - }); - } - - @Override - public void sendNetworkTransmitterStatus(final ServerPlayer player, final NetworkTransmitterStatus status) { - sendToPlayer(player, PacketIds.NETWORK_TRANSMITTER_STATUS, buf -> { - buf.writeBoolean(status.error()); - buf.writeComponent(status.message()); - }); - } - - @Override - public void sendNoPermission(final ServerPlayer player, final Component message) { - sendToPlayer(player, PacketIds.NO_PERMISSION, buf -> buf.writeComponent(message)); - } - - private static void sendToPlayer(final ServerPlayer playerEntity, - final ResourceLocation id, - final Consumer bufConsumer) { - final FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer()); - bufConsumer.accept(buf); - ServerPlayNetworking.send(playerEntity, id, buf); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/StorageInfoResponsePacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/StorageInfoResponsePacket.java deleted file mode 100644 index a1e9f1558..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/StorageInfoResponsePacket.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.common.storage.ClientStorageRepository; - -import java.util.UUID; - -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; -import net.minecraft.network.FriendlyByteBuf; - -public class StorageInfoResponsePacket implements ClientPlayNetworking.PlayChannelHandler { - @Override - public void receive(final Minecraft client, - final ClientPacketListener handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final UUID id = buf.readUUID(); - final long stored = buf.readLong(); - final long capacity = buf.readLong(); - - if (client.level == null) { - return; - } - - client.execute(() -> ((ClientStorageRepository) PlatformApi.INSTANCE.getStorageRepository(client.level)) - .setInfo(id, stored, capacity)); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/WirelessTransmitterRangePacket.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/WirelessTransmitterRangePacket.java deleted file mode 100644 index 8cba5a42d..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/WirelessTransmitterRangePacket.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.common.wirelesstransmitter.WirelessTransmitterContainerMenu; - -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; -import net.minecraft.network.FriendlyByteBuf; - -public class WirelessTransmitterRangePacket implements ClientPlayNetworking.PlayChannelHandler { - @Override - public void receive(final Minecraft client, - final ClientPacketListener handler, - final FriendlyByteBuf buf, - final PacketSender responseSender) { - final int range = buf.readInt(); - - client.execute(() -> { - if (client.player.containerMenu instanceof WirelessTransmitterContainerMenu containerMenu) { - containerMenu.setRange(range); - } - }); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/package-info.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/package-info.java deleted file mode 100644 index f27fc0c3e..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/packet/s2c/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -@ParametersAreNonnullByDefault -@FieldsAndMethodsAreNonnullByDefault -package com.refinedmods.refinedstorage2.platform.fabric.packet.s2c; - -import com.refinedmods.refinedstorage2.api.core.FieldsAndMethodsAreNonnullByDefault; - -import javax.annotation.ParametersAreNonnullByDefault; diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/AbstractDiskContainerBakedModel.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/AbstractDiskContainerBakedModel.java index 1294a3911..fe8b8f3dc 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/AbstractDiskContainerBakedModel.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/AbstractDiskContainerBakedModel.java @@ -11,14 +11,16 @@ import net.fabricmc.fabric.api.renderer.v1.model.ForwardingBakedModel; import net.fabricmc.fabric.api.renderer.v1.render.RenderContext; +import net.minecraft.client.Minecraft; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.core.BlockPos; -import net.minecraft.nbt.CompoundTag; +import net.minecraft.core.component.DataComponents; import net.minecraft.util.RandomSource; -import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.CustomData; import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; public abstract class AbstractDiskContainerBakedModel extends ForwardingBakedModel { @@ -52,15 +54,21 @@ public void emitBlockQuads(final BlockAndTintGetter blockView, } @Override + @SuppressWarnings("deprecation") public void emitItemQuads(final ItemStack stack, final Supplier randomSupplier, final RenderContext context) { - final CompoundTag tag = BlockItem.getBlockEntityData(stack); - if (tag == null) { + final Level level = Minecraft.getInstance().level; + final CustomData customData = stack.get(DataComponents.BLOCK_ENTITY_DATA); + if (customData == null || level == null) { return; } for (int i = 0; i < diskTranslations.length; ++i) { - final Item diskItem = AbstractDiskContainerBlockEntity.getDisk(tag, i); + final Item diskItem = AbstractDiskContainerBlockEntity.getDisk( + customData.getUnsafe(), + i, + level.registryAccess() + ); emitDiskQuads(stack, randomSupplier, context, diskItem, i); } } diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/diskdrive/DiskDriveUnbakedModel.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/diskdrive/DiskDriveUnbakedModel.java index fb99ff660..1d8cec172 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/diskdrive/DiskDriveUnbakedModel.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/diskdrive/DiskDriveUnbakedModel.java @@ -55,8 +55,7 @@ public void resolveParents(final Function modelG @Override public BakedModel bake(final ModelBaker baker, final Function spriteGetter, - final ModelState state, - final ResourceLocation location) { + final ModelState state) { final Map diskModels = PlatformApi.INSTANCE.getStorageContainerItemHelper() .getDiskModelsByItem() .entrySet() diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/diskinterface/DiskInterfaceUnbakedModel.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/diskinterface/DiskInterfaceUnbakedModel.java index e319153c1..1c08114cc 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/diskinterface/DiskInterfaceUnbakedModel.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/diskinterface/DiskInterfaceUnbakedModel.java @@ -62,8 +62,7 @@ public void resolveParents(final Function modelG @Override public BakedModel bake(final ModelBaker baker, final Function spriteGetter, - final ModelState state, - final ResourceLocation location) { + final ModelState state) { final Map diskModels = PlatformApi.INSTANCE.getStorageContainerItemHelper() .getDiskModelsByItem() .entrySet() diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/portablegrid/PortableGridUnbakedModel.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/portablegrid/PortableGridUnbakedModel.java index 8923d57d2..461457103 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/portablegrid/PortableGridUnbakedModel.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/storage/portablegrid/PortableGridUnbakedModel.java @@ -56,8 +56,7 @@ public void resolveParents(final Function modelG @Override public BakedModel bake(final ModelBaker baker, final Function spriteGetter, - final ModelState state, - final ResourceLocation location) { + final ModelState state) { final Map diskModels = PlatformApi.INSTANCE.getStorageContainerItemHelper() .getDiskModelsByItem() .entrySet() diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/containermenu/FabricExtendedMenuProviderAdapter.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/containermenu/FabricExtendedMenuProviderAdapter.java deleted file mode 100644 index 5b4cb22d7..000000000 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/containermenu/FabricExtendedMenuProviderAdapter.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.fabric.support.containermenu; - -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ExtendedMenuProvider; - -import javax.annotation.Nullable; - -import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerFactory; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; - -class FabricExtendedMenuProviderAdapter implements ExtendedScreenHandlerFactory { - private final ExtendedMenuProvider extendedMenuProvider; - - FabricExtendedMenuProviderAdapter(final ExtendedMenuProvider extendedMenuProvider) { - this.extendedMenuProvider = extendedMenuProvider; - } - - @Override - public void writeScreenOpeningData(final ServerPlayer player, final FriendlyByteBuf buf) { - extendedMenuProvider.writeScreenOpeningData(player, buf); - } - - @Override - public Component getDisplayName() { - return extendedMenuProvider.getDisplayName(); - } - - @Nullable - @Override - public AbstractContainerMenu createMenu(final int syncId, final Inventory inventory, final Player player) { - return extendedMenuProvider.createMenu(syncId, inventory, player); - } -} diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/containermenu/MenuOpenerImpl.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/containermenu/MenuOpenerImpl.java index 0f4c5f790..be74c51d1 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/containermenu/MenuOpenerImpl.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/containermenu/MenuOpenerImpl.java @@ -3,16 +3,43 @@ import com.refinedmods.refinedstorage2.platform.common.support.containermenu.ExtendedMenuProvider; import com.refinedmods.refinedstorage2.platform.common.support.containermenu.MenuOpener; +import javax.annotation.Nullable; + +import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerFactory; +import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.MenuProvider; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.AbstractContainerMenu; public class MenuOpenerImpl implements MenuOpener { @Override public void openMenu(final ServerPlayer player, final MenuProvider menuProvider) { - if (menuProvider instanceof ExtendedMenuProvider extendedMenuProvider) { - player.openMenu(new FabricExtendedMenuProviderAdapter(extendedMenuProvider)); + if (menuProvider instanceof ExtendedMenuProvider extendedMenuProvider) { + openExtendedMenu(player, extendedMenuProvider); } else { player.openMenu(menuProvider); } } + + private void openExtendedMenu(final ServerPlayer player, final ExtendedMenuProvider extendedMenuProvider) { + player.openMenu(new ExtendedScreenHandlerFactory() { + @Nullable + @Override + public AbstractContainerMenu createMenu(final int syncId, final Inventory inventory, final Player player) { + return extendedMenuProvider.createMenu(syncId, inventory, player); + } + + @Override + public Component getDisplayName() { + return extendedMenuProvider.getDisplayName(); + } + + @Override + public T getScreenOpeningData(final ServerPlayer player) { + return extendedMenuProvider.getMenuData(); + } + }); + } } diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/render/EmissiveModelRegistry.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/render/EmissiveModelRegistry.java index 8350779ba..7f0c25660 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/render/EmissiveModelRegistry.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/render/EmissiveModelRegistry.java @@ -8,7 +8,6 @@ import javax.annotation.Nullable; import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.resources.ResourceLocation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -24,13 +23,7 @@ private EmissiveModelRegistry() { } @Nullable - public BakedModel makeEmissive(final ResourceLocation model, final BakedModel bakedModel) { - if (model instanceof ModelResourceLocation modelResourceLocation) { - return makeEmissive( - new ResourceLocation(modelResourceLocation.getNamespace(), modelResourceLocation.getPath()), - bakedModel - ); - } + public BakedModel tryWrapAsEmissiveModel(final ResourceLocation model, final BakedModel bakedModel) { final Function wrapper = factories.get(model); if (wrapper != null) { LOGGER.debug("Made {} an emissive model", model); diff --git a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/resource/VariantUtil.java b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/resource/VariantUtil.java index fa5c3b2f9..5e241963c 100644 --- a/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/resource/VariantUtil.java +++ b/refinedstorage2-platform-fabric/src/main/java/com/refinedmods/refinedstorage2/platform/fabric/support/resource/VariantUtil.java @@ -11,18 +11,18 @@ private VariantUtil() { } public static ItemVariant toItemVariant(final ItemResource itemResource) { - return ItemVariant.of(itemResource.item(), itemResource.tag()); + return ItemVariant.of(itemResource.item(), itemResource.components()); } public static ItemResource ofItemVariant(final ItemVariant itemVariant) { - return new ItemResource(itemVariant.getItem(), itemVariant.getNbt()); + return new ItemResource(itemVariant.getItem(), itemVariant.getComponents()); } public static FluidVariant toFluidVariant(final FluidResource fluidResource) { - return FluidVariant.of(fluidResource.fluid(), fluidResource.tag()); + return FluidVariant.of(fluidResource.fluid(), fluidResource.components()); } public static FluidResource ofFluidVariant(final FluidVariant fluidVariant) { - return new FluidResource(fluidVariant.getFluid(), fluidVariant.getNbt()); + return new FluidResource(fluidVariant.getFluid(), fluidVariant.getComponents()); } } diff --git a/refinedstorage2-platform-fabric/src/main/resources/data/c/tags/items/wrenches.json b/refinedstorage2-platform-fabric/src/main/resources/data/c/tags/items/wrenches.json deleted file mode 100644 index fb58fc806..000000000 --- a/refinedstorage2-platform-fabric/src/main/resources/data/c/tags/items/wrenches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "refinedstorage2:wrench" - ] -} diff --git a/refinedstorage2-platform-fabric/src/main/resources/fabric.mod.json b/refinedstorage2-platform-fabric/src/main/resources/fabric.mod.json index a2c72f825..8605de5cc 100644 --- a/refinedstorage2-platform-fabric/src/main/resources/fabric.mod.json +++ b/refinedstorage2-platform-fabric/src/main/resources/fabric.mod.json @@ -39,8 +39,8 @@ "depends": { "fabricloader": ">=0.14.6", "fabric-api": "*", - "minecraft": "1.20.4", - "java": ">=17", + "minecraft": "1.21", + "java": ">=21", "cloth-config2": "*", "team_reborn_energy": "*" }, diff --git a/refinedstorage2-platform-forge/build.gradle b/refinedstorage2-platform-forge/build.gradle index 02fc5d3fe..ee02459f4 100644 --- a/refinedstorage2-platform-forge/build.gradle +++ b/refinedstorage2-platform-forge/build.gradle @@ -3,3 +3,5 @@ forgeProject("refinedstorage2", project(":refinedstorage2-platform-common"), api archivesBaseName = 'refinedstorage2-platform-forge' enablePublishing() + +test.onlyIf { false } 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 f9a3477ed..d0d02ebba 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 @@ -438,7 +438,7 @@ public Optional getSynchronizer() { if (synchronizer == null || synchronizer.get().trim().isBlank()) { return Optional.empty(); } - return Optional.of(synchronizer.get()).map(ResourceLocation::new); + return Optional.of(synchronizer.get()).map(ResourceLocation::tryParse); } @Override @@ -476,7 +476,7 @@ public Optional getResourceTypeId() { if (resourceType == null || resourceType.get().trim().isBlank()) { return Optional.empty(); } - return Optional.of(resourceType.get()).map(ResourceLocation::new); + return Optional.of(resourceType.get()).map(ResourceLocation::tryParse); } @Override diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ModInitializer.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ModInitializer.java index d2893a554..af7c0c18f 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ModInitializer.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/ModInitializer.java @@ -10,6 +10,7 @@ import com.refinedmods.refinedstorage2.platform.common.content.ContentNames; import com.refinedmods.refinedstorage2.platform.common.content.CreativeModeTabItems; import com.refinedmods.refinedstorage2.platform.common.content.DirectRegistryCallback; +import com.refinedmods.refinedstorage2.platform.common.content.ExtendedMenuTypeFactory; import com.refinedmods.refinedstorage2.platform.common.content.Items; import com.refinedmods.refinedstorage2.platform.common.content.MenuTypeFactory; import com.refinedmods.refinedstorage2.platform.common.content.RegistryCallback; @@ -21,7 +22,30 @@ import com.refinedmods.refinedstorage2.platform.common.storage.portablegrid.PortableGridBlockItem; import com.refinedmods.refinedstorage2.platform.common.storage.portablegrid.PortableGridType; import com.refinedmods.refinedstorage2.platform.common.support.AbstractBaseBlock; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; +import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketHandler; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.CraftingGridClearPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.CraftingGridRecipeTransferPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.GridExtractPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.GridInsertPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.GridScrollPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.PropertyChangePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.ResourceSlotAmountChangePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.ResourceSlotChangePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.SecurityCardBoundPlayerPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.SecurityCardPermissionPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.SecurityCardResetPermissionPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.SingleAmountChangePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.StorageInfoRequestPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.c2s.UseNetworkBoundItemPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.EnergyInfoPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.GridActivePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.GridClearPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.GridUpdatePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.NetworkTransmitterStatusPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.NoPermissionPacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.ResourceSlotUpdatePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.StorageInfoResponsePacket; +import com.refinedmods.refinedstorage2.platform.common.support.packet.s2c.WirelessTransmitterRangePacket; import com.refinedmods.refinedstorage2.platform.common.upgrade.RegulatorUpgradeItem; import com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil; import com.refinedmods.refinedstorage2.platform.common.util.ServerEventQueue; @@ -40,41 +64,22 @@ import com.refinedmods.refinedstorage2.platform.forge.storage.portablegrid.ForgePortableGridBlockEntity; import com.refinedmods.refinedstorage2.platform.forge.support.energy.EnergyStorageAdapter; import com.refinedmods.refinedstorage2.platform.forge.support.inventory.InsertExtractItemHandler; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.CraftingGridClearPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.CraftingGridRecipeTransferPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.GridExtractPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.GridInsertPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.GridScrollPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.PropertyChangePacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.ResourceFilterSlotChangePacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.ResourceSlotAmountChangePacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.ResourceSlotChangePacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.SecurityCardBoundPlayerPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.SecurityCardPermissionPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.SecurityCardResetPermissionPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.SingleAmountChangePacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.StorageInfoRequestPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.UseNetworkBoundItemPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c.EnergyInfoPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c.GridActivePacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c.GridClearPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c.GridUpdatePacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c.NetworkTransmitterStatusPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c.NoPermissionPacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c.ResourceSlotUpdatePacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c.StorageInfoResponsePacket; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c.WirelessTransmitterRangePacket; import com.refinedmods.refinedstorage2.platform.forge.support.resource.ResourceContainerFluidHandlerAdapter; import java.util.Arrays; import java.util.HashSet; import java.util.function.Supplier; +import net.minecraft.core.component.DataComponentType; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; +import net.minecraft.world.flag.FeatureFlags; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.item.CreativeModeTab; @@ -89,6 +94,7 @@ import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.IEventBus; import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.ModContainer; import net.neoforged.fml.common.Mod; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; import net.neoforged.fml.loading.FMLEnvironment; @@ -96,13 +102,14 @@ import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.common.extensions.IMenuTypeExtension; -import net.neoforged.neoforge.event.TickEvent; import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent; import net.neoforged.neoforge.event.level.BlockEvent; +import net.neoforged.neoforge.event.tick.ServerTickEvent; import net.neoforged.neoforge.items.wrapper.InvWrapper; import net.neoforged.neoforge.items.wrapper.RangedWrapper; -import net.neoforged.neoforge.network.event.RegisterPayloadHandlerEvent; -import net.neoforged.neoforge.network.registration.IPayloadRegistrar; +import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent; +import net.neoforged.neoforge.network.handling.IPayloadHandler; +import net.neoforged.neoforge.network.registration.PayloadRegistrar; import net.neoforged.neoforge.registries.DeferredRegister; import net.neoforged.neoforge.registries.RegisterEvent; @@ -131,9 +138,11 @@ public class ModInitializer extends AbstractModInitializer { DeferredRegister.create(BuiltInRegistries.SOUND_EVENT, IdentifierUtil.MOD_ID); private final DeferredRegister> recipeSerializerRegistry = DeferredRegister.create(BuiltInRegistries.RECIPE_SERIALIZER, IdentifierUtil.MOD_ID); + private final DeferredRegister> dataComponentTypeRegistry = + DeferredRegister.create(BuiltInRegistries.DATA_COMPONENT_TYPE, IdentifierUtil.MOD_ID); - public ModInitializer(final IEventBus eventBus) { - PlatformProxy.loadPlatform(new PlatformImpl()); + public ModInitializer(final IEventBus eventBus, final ModContainer modContainer) { + PlatformProxy.loadPlatform(new PlatformImpl(modContainer)); initializePlatformApi(); registerAdditionalGridInsertionStrategyFactories(); registerGridExtractionStrategyFactories(); @@ -211,6 +220,7 @@ private void registerContent(final IEventBus eventBus) { registerItems(eventBus); registerBlockEntities(eventBus); registerMenus(eventBus); + registerDataComponents(eventBus); } private void registerBlocks(final IEventBus eventBus) { @@ -239,7 +249,7 @@ private void registerCustomItems(final RegistryCallback callback) { public boolean shouldCauseReequipAnimation(final ItemStack oldStack, final ItemStack newStack, final boolean slotChanged) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } })); Items.INSTANCE.setWirelessGrid(callback.register(WIRELESS_GRID, () -> new WirelessGridItem() { @@ -247,7 +257,7 @@ public boolean shouldCauseReequipAnimation(final ItemStack oldStack, public boolean shouldCauseReequipAnimation(final ItemStack oldStack, final ItemStack newStack, final boolean slotChanged) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } })); Items.INSTANCE.setCreativeWirelessGrid(callback.register( @@ -257,7 +267,7 @@ public boolean shouldCauseReequipAnimation(final ItemStack oldStack, public boolean shouldCauseReequipAnimation(final ItemStack oldStack, final ItemStack newStack, final boolean slotChanged) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } } )); @@ -268,7 +278,7 @@ public boolean shouldCauseReequipAnimation(final ItemStack oldStack, public boolean shouldCauseReequipAnimation(final ItemStack oldStack, final ItemStack newStack, final boolean slotChanged) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } })); Items.INSTANCE.setCreativePortableGrid(callback.register( @@ -278,7 +288,7 @@ public boolean shouldCauseReequipAnimation(final ItemStack oldStack, public boolean shouldCauseReequipAnimation(final ItemStack oldStack, final ItemStack newStack, final boolean slotChanged) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } } )); @@ -287,7 +297,7 @@ public boolean shouldCauseReequipAnimation(final ItemStack oldStack, public boolean shouldCauseReequipAnimation(final ItemStack oldStack, final ItemStack newStack, final boolean slotChanged) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } })); Items.INSTANCE.setFallbackSecurityCard(callback.register( @@ -297,7 +307,7 @@ public boolean shouldCauseReequipAnimation(final ItemStack oldStack, public boolean shouldCauseReequipAnimation(final ItemStack oldStack, final ItemStack newStack, final boolean slotChanged) { - return AbstractModInitializer.allowNbtUpdateAnimation(oldStack, newStack); + return AbstractModInitializer.allowComponentsUpdateAnimation(oldStack, newStack); } } )); @@ -325,12 +335,28 @@ private void registerMenus(final IEventBus eventBus) { registerMenus(new ForgeRegistryCallback<>(menuTypeRegistry), new MenuTypeFactory() { @Override public MenuType create(final MenuSupplier supplier) { - return IMenuTypeExtension.create(supplier::create); + return new MenuType<>(supplier::create, FeatureFlags.DEFAULT_FLAGS); + } + }, new ExtendedMenuTypeFactory() { + @Override + public MenuType create(final MenuSupplier supplier, + final StreamCodec + streamCodec) { + return IMenuTypeExtension.create((syncId, inventory, buf) -> { + final D data = streamCodec.decode(buf); + return supplier.create(syncId, inventory, data); + }); } }); menuTypeRegistry.register(eventBus); } + private void registerDataComponents(final IEventBus eventBus) { + final RegistryCallback> callback = new ForgeRegistryCallback<>(dataComponentTypeRegistry); + registerDataComponents(callback); + dataComponentTypeRegistry.register(eventBus); + } + private void registerCapabilities(final RegisterCapabilitiesEvent event) { event.registerBlockEntity( Capabilities.ItemHandler.BLOCK, @@ -462,143 +488,140 @@ public void registerSecurityBlockBreakEvent(final BlockEvent.BreakEvent e) { } @SubscribeEvent - public void registerNetworkPackets(final RegisterPayloadHandlerEvent event) { - final IPayloadRegistrar registrar = event.registrar(MOD_ID); + public void registerNetworkPackets(final RegisterPayloadHandlersEvent event) { + final PayloadRegistrar registrar = event.registrar(MOD_ID); registerServerToClientPackets(registrar); registerClientToServerPackets(registrar); } - private static void registerServerToClientPackets(final IPayloadRegistrar registrar) { - registrar.play( - PacketIds.ENERGY_INFO, - EnergyInfoPacket::decode, - handler -> handler.client(EnergyInfoPacket::handle) - ); - registrar.play( - PacketIds.GRID_ACTIVE, - GridActivePacket::decode, - handler -> handler.client(GridActivePacket::handle) - ); - registrar.play( - PacketIds.GRID_CLEAR, - buf -> new GridClearPacket(), - handler -> handler.client((packet, ctx) -> GridClearPacket.handle(ctx)) - ); - registrar.play( - PacketIds.GRID_UPDATE, - GridUpdatePacket::decode, - handler -> handler.client(GridUpdatePacket::handle) - ); - registrar.play( - PacketIds.NETWORK_TRANSMITTER_STATUS, - NetworkTransmitterStatusPacket::decode, - handler -> handler.client(NetworkTransmitterStatusPacket::handle) - ); - registrar.play( - PacketIds.RESOURCE_SLOT_UPDATE, - ResourceSlotUpdatePacket::decode, - handler -> handler.client(ResourceSlotUpdatePacket::handle) - ); - registrar.play( - PacketIds.STORAGE_INFO_RESPONSE, - StorageInfoResponsePacket::decode, - handler -> handler.client(StorageInfoResponsePacket::handle) - ); - registrar.play( - PacketIds.WIRELESS_TRANSMITTER_RANGE, - WirelessTransmitterRangePacket::decode, - handler -> handler.client(WirelessTransmitterRangePacket::handle) - ); - registrar.play( - PacketIds.NO_PERMISSION, - NoPermissionPacket::decode, - handler -> handler.client(NoPermissionPacket::handle) + private static void registerServerToClientPackets(final PayloadRegistrar registrar) { + registrar.playToClient( + EnergyInfoPacket.PACKET_TYPE, + EnergyInfoPacket.STREAM_CODEC, + wrapHandler(EnergyInfoPacket::handle) + ); + registrar.playToClient( + GridActivePacket.PACKET_TYPE, + GridActivePacket.STREAM_CODEC, + wrapHandler(GridActivePacket::handle) + ); + registrar.playToClient( + GridClearPacket.PACKET_TYPE, + GridClearPacket.STREAM_CODEC, + wrapHandler((packet, ctx) -> GridClearPacket.handle(ctx)) + ); + registrar.playToClient( + GridUpdatePacket.PACKET_TYPE, + GridUpdatePacket.STREAM_CODEC, + wrapHandler(GridUpdatePacket::handle) + ); + registrar.playToClient( + NetworkTransmitterStatusPacket.PACKET_TYPE, + NetworkTransmitterStatusPacket.STREAM_CODEC, + wrapHandler(NetworkTransmitterStatusPacket::handle) + ); + registrar.playToClient( + ResourceSlotUpdatePacket.PACKET_TYPE, + ResourceSlotUpdatePacket.STREAM_CODEC, + wrapHandler(ResourceSlotUpdatePacket::handle) + ); + registrar.playToClient( + StorageInfoResponsePacket.PACKET_TYPE, + StorageInfoResponsePacket.STREAM_CODEC, + wrapHandler((packet, ctx) -> StorageInfoResponsePacket.handle(packet)) + ); + registrar.playToClient( + WirelessTransmitterRangePacket.PACKET_TYPE, + WirelessTransmitterRangePacket.STREAM_CODEC, + wrapHandler(WirelessTransmitterRangePacket::handle) + ); + registrar.playToClient( + NoPermissionPacket.PACKET_TYPE, + NoPermissionPacket.STREAM_CODEC, + wrapHandler((packet, ctx) -> NoPermissionPacket.handle(packet)) ); } - private static void registerClientToServerPackets(final IPayloadRegistrar registrar) { - registrar.play( - PacketIds.CRAFTING_GRID_CLEAR, - CraftingGridClearPacket::decode, - handler -> handler.server(CraftingGridClearPacket::handle) - ); - registrar.play( - PacketIds.CRAFTING_GRID_RECIPE_TRANSFER, - CraftingGridRecipeTransferPacket::decode, - handler -> handler.server(CraftingGridRecipeTransferPacket::handle) - ); - registrar.play( - PacketIds.GRID_EXTRACT, - GridExtractPacket::decode, - handler -> handler.server(GridExtractPacket::handle) - ); - registrar.play( - PacketIds.GRID_INSERT, - GridInsertPacket::decode, - handler -> handler.server(GridInsertPacket::handle) - ); - registrar.play( - PacketIds.GRID_SCROLL, - GridScrollPacket::decode, - handler -> handler.server(GridScrollPacket::handle) - ); - registrar.play( - PacketIds.PROPERTY_CHANGE, - PropertyChangePacket::decode, - handler -> handler.server(PropertyChangePacket::handle) - ); - registrar.play( - PacketIds.RESOURCE_FILTER_SLOT_CHANGE, - ResourceFilterSlotChangePacket::decode, - handler -> handler.server(ResourceFilterSlotChangePacket::handle) - ); - registrar.play( - PacketIds.RESOURCE_SLOT_AMOUNT_CHANGE, - ResourceSlotAmountChangePacket::decode, - handler -> handler.server(ResourceSlotAmountChangePacket::handle) - ); - registrar.play( - PacketIds.RESOURCE_SLOT_CHANGE, - ResourceSlotChangePacket::decode, - handler -> handler.server(ResourceSlotChangePacket::handle) - ); - registrar.play( - PacketIds.SINGLE_AMOUNT_CHANGE, - SingleAmountChangePacket::decode, - handler -> handler.server(SingleAmountChangePacket::handle) - ); - registrar.play( - PacketIds.STORAGE_INFO_REQUEST, - StorageInfoRequestPacket::decode, - handler -> handler.server(StorageInfoRequestPacket::handle) - ); - registrar.play( - PacketIds.USE_NETWORK_BOUND_ITEM, - UseNetworkBoundItemPacket::decode, - handler -> handler.server(UseNetworkBoundItemPacket::handle) - ); - registrar.play( - PacketIds.SECURITY_CARD_PERMISSION, - SecurityCardPermissionPacket::decode, - handler -> handler.server(SecurityCardPermissionPacket::handle) - ); - registrar.play( - PacketIds.SECURITY_CARD_RESET_PERMISSION, - SecurityCardResetPermissionPacket::decode, - handler -> handler.server(SecurityCardResetPermissionPacket::handle) - ); - registrar.play( - PacketIds.SECURITY_CARD_BOUND_PLAYER, - SecurityCardBoundPlayerPacket::decode, - handler -> handler.server(SecurityCardBoundPlayerPacket::handle) + private static void registerClientToServerPackets(final PayloadRegistrar registrar) { + registrar.playToServer( + CraftingGridClearPacket.PACKET_TYPE, + CraftingGridClearPacket.STREAM_CODEC, + wrapHandler(CraftingGridClearPacket::handle) + ); + registrar.playToServer( + CraftingGridRecipeTransferPacket.PACKET_TYPE, + CraftingGridRecipeTransferPacket.STREAM_CODEC, + wrapHandler(CraftingGridRecipeTransferPacket::handle) + ); + registrar.playToServer( + GridExtractPacket.PACKET_TYPE, + GridExtractPacket.STREAM_CODEC, + wrapHandler(GridExtractPacket::handle) + ); + registrar.playToServer( + GridInsertPacket.PACKET_TYPE, + GridInsertPacket.STREAM_CODEC, + wrapHandler(GridInsertPacket::handle) + ); + registrar.playToServer( + GridScrollPacket.PACKET_TYPE, + GridScrollPacket.STREAM_CODEC, + wrapHandler(GridScrollPacket::handle) + ); + registrar.playToServer( + PropertyChangePacket.PACKET_TYPE, + PropertyChangePacket.STREAM_CODEC, + wrapHandler(PropertyChangePacket::handle) + ); + registrar.playToServer( + ResourceSlotAmountChangePacket.PACKET_TYPE, + ResourceSlotAmountChangePacket.STREAM_CODEC, + wrapHandler(ResourceSlotAmountChangePacket::handle) + ); + registrar.playToServer( + ResourceSlotChangePacket.PACKET_TYPE, + ResourceSlotChangePacket.STREAM_CODEC, + wrapHandler(ResourceSlotChangePacket::handle) + ); + registrar.playToServer( + SingleAmountChangePacket.PACKET_TYPE, + SingleAmountChangePacket.STREAM_CODEC, + wrapHandler(SingleAmountChangePacket::handle) + ); + registrar.playToServer( + StorageInfoRequestPacket.PACKET_TYPE, + StorageInfoRequestPacket.STREAM_CODEC, + wrapHandler(StorageInfoRequestPacket::handle) + ); + registrar.playToServer( + UseNetworkBoundItemPacket.PACKET_TYPE, + UseNetworkBoundItemPacket.STREAM_CODEC, + wrapHandler(UseNetworkBoundItemPacket::handle) + ); + registrar.playToServer( + SecurityCardPermissionPacket.PACKET_TYPE, + SecurityCardPermissionPacket.STREAM_CODEC, + wrapHandler(SecurityCardPermissionPacket::handle) + ); + registrar.playToServer( + SecurityCardResetPermissionPacket.PACKET_TYPE, + SecurityCardResetPermissionPacket.STREAM_CODEC, + wrapHandler(SecurityCardResetPermissionPacket::handle) + ); + registrar.playToServer( + SecurityCardBoundPlayerPacket.PACKET_TYPE, + SecurityCardBoundPlayerPacket.STREAM_CODEC, + wrapHandler(SecurityCardBoundPlayerPacket::handle) ); } + private static IPayloadHandler wrapHandler(final PacketHandler handler) { + return (packet, ctx) -> handler.handle(packet, ctx::player); + } + @SubscribeEvent - public void onServerTick(final TickEvent.ServerTickEvent e) { - if (e.phase == TickEvent.Phase.START) { - ServerEventQueue.runQueuedActions(); - } + public void onServerTick(final ServerTickEvent.Pre e) { + ServerEventQueue.runQueuedActions(); } private record ForgeRegistryCallback(DeferredRegister registry) implements RegistryCallback { diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/PlatformImpl.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/PlatformImpl.java index f5a354da3..e994685ab 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/PlatformImpl.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/PlatformImpl.java @@ -15,8 +15,6 @@ import com.refinedmods.refinedstorage2.platform.forge.support.containermenu.ContainerTransferDestination; import com.refinedmods.refinedstorage2.platform.forge.support.containermenu.MenuOpenerImpl; import com.refinedmods.refinedstorage2.platform.forge.support.energy.EnergyStorageAdapter; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s.ClientToServerCommunicationsImpl; -import com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c.ServerToClientCommunicationsImpl; import com.refinedmods.refinedstorage2.platform.forge.support.render.FluidStackFluidRenderer; import java.util.ArrayList; @@ -35,12 +33,11 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.NonNullList; -import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; -import net.minecraft.tags.TagKey; import net.minecraft.world.Container; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -48,10 +45,10 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.inventory.tooltip.TooltipComponent; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelReader; @@ -60,7 +57,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; -import net.neoforged.fml.ModLoadingContext; +import net.neoforged.fml.ModContainer; import net.neoforged.fml.config.ModConfig; import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.client.ClientHooks; @@ -77,27 +74,17 @@ import net.neoforged.neoforge.fluids.capability.templates.FluidTank; import net.neoforged.neoforge.items.ItemHandlerHelper; import net.neoforged.neoforge.items.wrapper.InvWrapper; +import net.neoforged.neoforge.network.PacketDistributor; import static com.refinedmods.refinedstorage2.platform.forge.support.resource.VariantUtil.ofFluidStack; import static com.refinedmods.refinedstorage2.platform.forge.support.resource.VariantUtil.toFluidStack; public final class PlatformImpl extends AbstractPlatform { - private static final TagKey WRENCH_TAG = TagKey.create( - Registries.ITEM, - new ResourceLocation("forge", "tools/wrench") - ); - private final ConfigImpl config = new ConfigImpl(); - public PlatformImpl() { - super( - new ServerToClientCommunicationsImpl(), - new ClientToServerCommunicationsImpl(), - new MenuOpenerImpl(), - new FluidStackFluidRenderer(), - ItemGridInsertionStrategy::new - ); - ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, config.getSpec()); + public PlatformImpl(final ModContainer modContainer) { + super(new MenuOpenerImpl(), new FluidStackFluidRenderer(), ItemGridInsertionStrategy::new); + modContainer.registerConfig(ModConfig.Type.COMMON, config.getSpec()); } @Override @@ -105,11 +92,6 @@ public long getBucketAmount() { return FluidType.BUCKET_VOLUME; } - @Override - public TagKey getWrenchTag() { - return WRENCH_TAG; - } - @Override public Config getConfig() { return config; @@ -200,9 +182,9 @@ public ItemStack getCloneItemStack(final BlockState state, @SuppressWarnings("DataFlowIssue") // NeoForge allows null public NonNullList getRemainingCraftingItems(final Player player, final CraftingRecipe craftingRecipe, - final CraftingContainer container) { + final CraftingInput input) { CommonHooks.setCraftingPlayer(player); - final NonNullList remainingItems = craftingRecipe.getRemainingItems(container); + final NonNullList remainingItems = craftingRecipe.getRemainingItems(input); CommonHooks.setCraftingPlayer(null); return remainingItems; } @@ -330,4 +312,14 @@ public Optional getEnergyStorage(final ItemStack stack) { .map(EnergyStorageAdapter.class::cast) .map(EnergyStorageAdapter::getEnergyStorage); } + + @Override + public void sendPacketToServer(final T packet) { + PacketDistributor.sendToServer(packet); + } + + @Override + public void sendPacketToClient(final ServerPlayer player, final T packet) { + PacketDistributor.sendToPlayer(player, packet); + } } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/DataGenerators.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/DataGenerators.java index a4f33facc..cca30f1ff 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/DataGenerators.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/DataGenerators.java @@ -11,7 +11,7 @@ import net.minecraft.data.DataGenerator; import net.minecraft.data.DataGenerator.PackGenerator; import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.common.Mod.EventBusSubscriber; +import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.data.event.GatherDataEvent; @@ -23,17 +23,13 @@ private DataGenerators() { } @SubscribeEvent - public static void onGatherData(final GatherDataEvent dataEvent) { - registerBlockModelProviders(dataEvent.getGenerator(), dataEvent.getExistingFileHelper()); - registerItemModelProviders(dataEvent.getGenerator(), dataEvent.getExistingFileHelper()); - registerBlockStateProviders(dataEvent.getGenerator(), dataEvent.getExistingFileHelper()); - registerLootTableProviders(dataEvent.getGenerator()); - registerRecipeProviders(dataEvent.getGenerator()); - registerTagProviders( - dataEvent.getGenerator(), - dataEvent.getLookupProvider(), - dataEvent.getExistingFileHelper() - ); + public static void onGatherData(final GatherDataEvent e) { + registerBlockModelProviders(e.getGenerator(), e.getExistingFileHelper()); + registerItemModelProviders(e.getGenerator(), e.getExistingFileHelper()); + registerBlockStateProviders(e.getGenerator(), e.getExistingFileHelper()); + registerLootTableProviders(e.getGenerator(), e.getLookupProvider()); + registerRecipeProviders(e.getGenerator(), e.getLookupProvider()); + registerTagProviders(e.getGenerator(), e.getLookupProvider(), e.getExistingFileHelper()); } // this function has to happen after the models, since the jsons refer to files generated there @@ -55,14 +51,16 @@ private static void registerItemModelProviders(final DataGenerator generator, mainPack.addProvider(output -> new ItemModelProviderImpl(output, existingFileHelper)); } - private static void registerLootTableProviders(final DataGenerator generator) { + private static void registerLootTableProviders(final DataGenerator generator, + final CompletableFuture provider) { final PackGenerator mainPack = generator.getVanillaPack(true); - mainPack.addProvider(LootTableProviderImpl::new); + mainPack.addProvider(output -> new LootTableProviderImpl(output, provider)); } - private static void registerRecipeProviders(final DataGenerator generator) { + private static void registerRecipeProviders(final DataGenerator generator, + final CompletableFuture provider) { final PackGenerator mainPack = generator.getVanillaPack(true); - mainPack.addProvider(RecoloringRecipeProvider::new); + mainPack.addProvider(output -> new RecoloringRecipeProvider(output, provider)); } private static void registerTagProviders( diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/ItemModelProviderImpl.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/ItemModelProviderImpl.java index 51f836178..c002fb409 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/ItemModelProviderImpl.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/ItemModelProviderImpl.java @@ -77,7 +77,7 @@ private void registerExternalStorages() { } private void registerControllers() { - final ResourceLocation base = new ResourceLocation("item/generated"); + final ResourceLocation base = ResourceLocation.withDefaultNamespace("item/generated"); final ResourceLocation off = createIdentifier("block/controller/off"); final ResourceLocation nearlyOff = createIdentifier("block/controller/nearly_off"); final ResourceLocation nearlyOn = createIdentifier("block/controller/nearly_on"); 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 68ccaf7cf..00647bfaa 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 @@ -7,13 +7,14 @@ import java.util.List; import java.util.Set; +import net.minecraft.core.HolderLookup; import net.minecraft.data.loot.BlockLootSubProvider; import net.minecraft.world.flag.FeatureFlags; import net.minecraft.world.level.block.Block; public class BlockDropProvider extends BlockLootSubProvider { - public BlockDropProvider() { - super(Set.of(), FeatureFlags.REGISTRY.allFlags()); + public BlockDropProvider(final HolderLookup.Provider provider) { + super(Set.of(), FeatureFlags.REGISTRY.allFlags(), provider); } @Override diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/loot/LootTableProviderImpl.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/loot/LootTableProviderImpl.java index 6db6ee1c8..515e5c71d 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/loot/LootTableProviderImpl.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/datagen/loot/LootTableProviderImpl.java @@ -2,16 +2,18 @@ import java.util.List; import java.util.Set; +import java.util.concurrent.CompletableFuture; +import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.data.loot.LootTableProvider; import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; public class LootTableProviderImpl extends LootTableProvider { - public LootTableProviderImpl(final PackOutput output) { + public LootTableProviderImpl(final PackOutput output, final CompletableFuture provider) { super(output, Set.of(), List.of(new SubProviderEntry( BlockDropProvider::new, LootContextParamSets.BLOCK - ))); + )), provider); } } 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 5049b81da..6649aa3a8 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 @@ -3,6 +3,9 @@ import com.refinedmods.refinedstorage2.platform.common.content.Blocks; import com.refinedmods.refinedstorage2.platform.common.content.Tags; +import java.util.concurrent.CompletableFuture; + +import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.data.recipes.RecipeOutput; @@ -17,8 +20,9 @@ import static com.refinedmods.refinedstorage2.platform.common.util.IdentifierUtil.createIdentifier; public class RecoloringRecipeProvider extends RecipeProvider { - public RecoloringRecipeProvider(final PackOutput output) { - super(output); + public RecoloringRecipeProvider(final PackOutput output, + final CompletableFuture registries) { + super(output, registries); } @Override diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/CursorItemHandler.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/CursorItemHandler.java index e9a6f9690..40d9f77d0 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/CursorItemHandler.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/CursorItemHandler.java @@ -5,7 +5,6 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.ItemStack; import net.neoforged.neoforge.items.IItemHandler; -import net.neoforged.neoforge.items.ItemHandlerHelper; class CursorItemHandler implements IItemHandler { private final AbstractContainerMenu containerMenu; @@ -57,7 +56,7 @@ private ItemStack insertIntoCursorWithExistingContent(final ItemStack itemStack, if (!simulate) { containerMenu.getCarried().grow(toInsert); } - return ItemHandlerHelper.copyStackWithSize(itemStack, remainder); + return itemStack.copyWithCount(remainder); } @Override @@ -70,7 +69,7 @@ public ItemStack extractItem(final int slot, final int amount, final boolean sim return ItemStack.EMPTY; } final int extracted = Math.min(containerMenu.getCarried().getCount(), amount); - final ItemStack extractedStack = ItemHandlerHelper.copyStackWithSize(containerMenu.getCarried(), extracted); + final ItemStack extractedStack = containerMenu.getCarried().copyWithCount(extracted); if (!simulate) { containerMenu.getCarried().shrink(extracted); } @@ -88,6 +87,6 @@ public boolean isItemValid(final int slot, @Nonnull final ItemStack stack) { } private boolean isSame(final ItemStack a, final ItemStack b) { - return ItemStack.isSameItemSameTags(a, b); + return ItemStack.isSameItemSameComponents(a, b); } } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/FluidGridExtractionStrategy.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/FluidGridExtractionStrategy.java index dfcea5ddd..7ceb604d2 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/FluidGridExtractionStrategy.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/FluidGridExtractionStrategy.java @@ -29,7 +29,7 @@ import static com.refinedmods.refinedstorage2.platform.forge.support.resource.VariantUtil.toFluidStack; public class FluidGridExtractionStrategy implements GridExtractionStrategy { - private static final ItemResource BUCKET_ITEM_RESOURCE = new ItemResource(Items.BUCKET, null); + private static final ItemResource BUCKET_ITEM_RESOURCE = new ItemResource(Items.BUCKET); private final AbstractContainerMenu menu; private final GridOperations gridOperations; @@ -148,6 +148,6 @@ private void insertBucket(final IItemHandler destination) { } private boolean isSame(final ItemStack a, final ItemStack b) { - return ItemStack.isSameItemSameTags(a, b); + return ItemStack.isSameItemSameComponents(a, b); } } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/ItemGridInsertionStrategy.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/ItemGridInsertionStrategy.java index 326f7836d..567c5180e 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/ItemGridInsertionStrategy.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/strategy/ItemGridInsertionStrategy.java @@ -38,7 +38,7 @@ public boolean onInsert(final GridInsertMode insertMode, final boolean tryAltern if (carried.isEmpty()) { return false; } - final ItemResource itemResource = new ItemResource(carried.getItem(), carried.getTag()); + final ItemResource itemResource = ItemResource.ofItemStack(carried); gridOperations.insert( itemResource, insertMode, diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/view/ForgeFluidGridResourceFactory.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/view/ForgeFluidGridResourceFactory.java index 1ab14c5d6..b2e5f8ac1 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/view/ForgeFluidGridResourceFactory.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/grid/view/ForgeFluidGridResourceFactory.java @@ -25,6 +25,6 @@ protected String getModName(final String modId) { @Override protected String getName(final FluidResource fluidResource) { - return toFluidStack(fluidResource, FluidType.BUCKET_VOLUME).getDisplayName().getString(); + return toFluidStack(fluidResource, FluidType.BUCKET_VOLUME).getHoverName().getString(); } } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/DiskContainerItemOverrides.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/DiskContainerItemOverrides.java index f08602694..0bc957c53 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/DiskContainerItemOverrides.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/DiskContainerItemOverrides.java @@ -19,11 +19,11 @@ import net.minecraft.client.renderer.block.model.ItemOverrides; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.core.Direction; -import net.minecraft.nbt.CompoundTag; +import net.minecraft.core.component.DataComponents; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.CustomData; import org.joml.Vector3f; public class DiskContainerItemOverrides extends ItemOverrides { @@ -56,18 +56,23 @@ public DiskContainerItemOverrides(final LoadingCache> blockCa @Nullable @Override + @SuppressWarnings("deprecation") public BakedModel resolve(final BakedModel bakedModel, final ItemStack stack, @Nullable final ClientLevel level, @Nullable final LivingEntity entity, final int seed) { - final CompoundTag tag = BlockItem.getBlockEntityData(stack); - if (tag == null) { + final CustomData customData = stack.get(DataComponents.BLOCK_ENTITY_DATA); + if (customData == null || level == null) { return originalModel.getOverrides().resolve(bakedModel, stack, level, entity, seed); } final Disk[] disks = new Disk[diskTranslations.length]; for (int i = 0; i < diskTranslations.length; ++i) { - final Item diskItem = AbstractDiskContainerBlockEntity.getDisk(tag, i); + final Item diskItem = AbstractDiskContainerBlockEntity.getDisk( + customData.getUnsafe(), + i, + level.registryAccess() + ); disks[i] = new Disk(diskItem, diskItem == null ? StorageState.NONE : StorageState.INACTIVE); } return cache.getUnchecked(cacheKeyFactory.apply(disks)); diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/ForgeHandlerUtil.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/ForgeHandlerUtil.java index 3b0b27fb3..648cab491 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/ForgeHandlerUtil.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/ForgeHandlerUtil.java @@ -17,7 +17,7 @@ static long getCurrentAmount(final IItemHandler itemHandler, final ItemStack sta long amount = 0; for (int i = 0; i < itemHandler.getSlots(); ++i) { final ItemStack slot = itemHandler.getStackInSlot(i); - if (ItemStack.isSameItemSameTags(slot, stack)) { + if (ItemStack.isSameItemSameComponents(slot, stack)) { amount += slot.getCount(); } } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/ItemHandlerExtractableStorage.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/ItemHandlerExtractableStorage.java index 41756c205..9ffc1d0ad 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/ItemHandlerExtractableStorage.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/ItemHandlerExtractableStorage.java @@ -45,7 +45,10 @@ private long doExtract(final long amount, final ItemStack toExtractStack) { long extracted = 0; for (int slot = 0; slot < itemHandler.getSlots(); ++slot) { - final boolean relevant = ItemStack.isSameItemSameTags(itemHandler.getStackInSlot(slot), toExtractStack); + final boolean relevant = ItemStack.isSameItemSameComponents( + itemHandler.getStackInSlot(slot), + toExtractStack + ); if (!relevant) { continue; } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/diskdrive/DiskDriveUnbakedGeometry.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/diskdrive/DiskDriveUnbakedGeometry.java index 1a394efc8..31668973c 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/diskdrive/DiskDriveUnbakedGeometry.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/diskdrive/DiskDriveUnbakedGeometry.java @@ -42,8 +42,7 @@ public BakedModel bake(final IGeometryBakingContext context, final ModelBaker baker, final Function spriteGetter, final ModelState modelState, - final ItemOverrides overrides, - final ResourceLocation modelLocation) { + final ItemOverrides overrides) { return new DiskDriveBakedModel( requireNonNull(baker.bake(BASE_MODEL, modelState, spriteGetter)), new RotationTranslationModelBaker(modelState, baker, spriteGetter, BASE_MODEL), diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/diskinterface/DiskInterfaceUnbakedGeometry.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/diskinterface/DiskInterfaceUnbakedGeometry.java index 8e5065ed3..9b51c3e2f 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/diskinterface/DiskInterfaceUnbakedGeometry.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/diskinterface/DiskInterfaceUnbakedGeometry.java @@ -47,8 +47,7 @@ public BakedModel bake(final IGeometryBakingContext context, final ModelBaker baker, final Function spriteGetter, final ModelState modelState, - final ItemOverrides overrides, - final ResourceLocation modelLocation) { + final ItemOverrides overrides) { return new DiskInterfaceBakedModel( requireNonNull(baker.bake(baseModel, modelState, spriteGetter)), new RotationTranslationModelBaker(modelState, baker, spriteGetter, INACTIVE_MODEL), diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/portablegrid/PortableGridBakedModel.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/portablegrid/PortableGridBakedModel.java index 5c259bb6e..79365c6a3 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/portablegrid/PortableGridBakedModel.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/portablegrid/PortableGridBakedModel.java @@ -117,6 +117,9 @@ public BakedModel resolve(final BakedModel bakedModel, @Nullable final ClientLevel level, @Nullable final LivingEntity entity, final int seed) { + if (level == null) { + return null; + } final PortableGridBlockItemRenderInfo renderInfo = PortableGridBlockItem.getRenderInfo(stack, level); return itemCache.getUnchecked(new CacheKey( null, diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/portablegrid/PortableGridUnbakedGeometry.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/portablegrid/PortableGridUnbakedGeometry.java index e30b9a1a8..9463fb525 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/portablegrid/PortableGridUnbakedGeometry.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/storage/portablegrid/PortableGridUnbakedGeometry.java @@ -50,8 +50,7 @@ public BakedModel bake(final IGeometryBakingContext context, final ModelBaker baker, final Function spriteGetter, final ModelState modelState, - final ItemOverrides overrides, - final ResourceLocation modelLocation) { + final ItemOverrides overrides) { return new PortableGridBakedModel( requireNonNull(baker.bake(INACTIVE_MODEL, modelState, spriteGetter)), new RotationTranslationModelBaker(modelState, baker, spriteGetter, ACTIVE_MODEL), diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/containermenu/MenuOpenerImpl.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/containermenu/MenuOpenerImpl.java index 0dfef840c..c4c5ef686 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/containermenu/MenuOpenerImpl.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/containermenu/MenuOpenerImpl.java @@ -9,10 +9,18 @@ public class MenuOpenerImpl implements MenuOpener { @Override public void openMenu(final ServerPlayer player, final MenuProvider menuProvider) { - if (menuProvider instanceof ExtendedMenuProvider extendedMenuProvider) { - player.openMenu(menuProvider, buf -> extendedMenuProvider.writeScreenOpeningData(player, buf)); + if (menuProvider instanceof ExtendedMenuProvider extendedMenuProvider) { + openExtendedMenu(player, extendedMenuProvider); } else { player.openMenu(menuProvider); } } + + private static void openExtendedMenu(final ServerPlayer player, + final ExtendedMenuProvider extendedMenuProvider) { + player.openMenu( + extendedMenuProvider, + buf -> extendedMenuProvider.getMenuCodec().encode(buf, extendedMenuProvider.getMenuData()) + ); + } } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ClientToServerCommunicationsImpl.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ClientToServerCommunicationsImpl.java deleted file mode 100644 index d5944e233..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ClientToServerCommunicationsImpl.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.api.grid.operations.GridExtractMode; -import com.refinedmods.refinedstorage2.api.grid.operations.GridInsertMode; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.grid.GridScrollMode; -import com.refinedmods.refinedstorage2.platform.api.security.PlatformPermission; -import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import com.refinedmods.refinedstorage2.platform.common.support.ClientToServerCommunications; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.PropertyType; -import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; - -import java.util.List; -import java.util.UUID; - -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.neoforged.neoforge.network.PacketDistributor; - -public class ClientToServerCommunicationsImpl implements ClientToServerCommunications { - private void sendToServer(final CustomPacketPayload packet) { - PacketDistributor.SERVER.noArg().send(packet); - } - - @Override - public void sendGridExtract(final PlatformResourceKey resource, - final GridExtractMode mode, - final boolean cursor) { - final ResourceType resourceType = resource.getResourceType(); - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType).ifPresent(id -> sendToServer( - new GridExtractPacket(resourceType, id, resource, mode, cursor) - )); - } - - @Override - public void sendGridScroll(final PlatformResourceKey resource, - final GridScrollMode mode, - final int slotIndex) { - final ResourceType resourceType = resource.getResourceType(); - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType).ifPresent(id -> sendToServer( - new GridScrollPacket(resourceType, id, resource, mode, slotIndex) - )); - } - - @Override - public void sendGridInsert(final GridInsertMode mode, final boolean tryAlternatives) { - sendToServer(new GridInsertPacket(mode == GridInsertMode.SINGLE_RESOURCE, tryAlternatives)); - } - - @Override - public void sendCraftingGridClear(final boolean toPlayerInventory) { - sendToServer(new CraftingGridClearPacket(toPlayerInventory)); - } - - @Override - public void sendCraftingGridRecipeTransfer(final List> recipe) { - sendToServer(new CraftingGridRecipeTransferPacket(recipe)); - } - - @Override - public void sendPropertyChange(final PropertyType type, final T value) { - sendToServer(new PropertyChangePacket(type.id(), type.serializer().apply(value))); - } - - @Override - public void sendStorageInfoRequest(final UUID storageId) { - sendToServer(new StorageInfoRequestPacket(storageId)); - } - - @Override - public void sendResourceSlotChange(final int slotIndex, final boolean tryAlternatives) { - sendToServer(new ResourceSlotChangePacket(slotIndex, tryAlternatives)); - } - - @Override - public void sendResourceFilterSlotChange(final PlatformResourceKey resource, final int slotIndex) { - final ResourceType resourceType = resource.getResourceType(); - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resourceType).ifPresent(id -> sendToServer( - new ResourceFilterSlotChangePacket(slotIndex, resource, resourceType, id) - )); - } - - @Override - public void sendResourceSlotAmountChange(final int slotIndex, final long amount) { - sendToServer(new ResourceSlotAmountChangePacket(slotIndex, amount)); - } - - @Override - public void sendSingleAmountChange(final double amount) { - sendToServer(new SingleAmountChangePacket(amount)); - } - - @Override - public void sendUseNetworkBoundItem(final SlotReference slotReference) { - sendToServer(new UseNetworkBoundItemPacket(slotReference)); - } - - @Override - public void sendSecurityCardPermission(final PlatformPermission permission, final boolean allowed) { - PlatformApi.INSTANCE.getPermissionRegistry().getId(permission).ifPresent(id -> sendToServer( - new SecurityCardPermissionPacket(id, allowed) - )); - } - - @Override - public void sendSecurityCardResetPermission(final PlatformPermission permission) { - PlatformApi.INSTANCE.getPermissionRegistry().getId(permission).ifPresent(id -> sendToServer( - new SecurityCardResetPermissionPacket(id) - )); - } - - @Override - public void sendSecurityCardBoundPlayer(final UUID playerId) { - sendToServer(new SecurityCardBoundPlayerPacket(playerId)); - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/CraftingGridClearPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/CraftingGridClearPacket.java deleted file mode 100644 index 1f856b6fc..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/CraftingGridClearPacket.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.grid.CraftingGridContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record CraftingGridClearPacket(boolean toPlayerInventory) implements CustomPacketPayload { - public static CraftingGridClearPacket decode(final FriendlyByteBuf buf) { - return new CraftingGridClearPacket(buf.readBoolean()); - } - - public static void handle(final CraftingGridClearPacket packet, final PlayPayloadContext context) { - context.player().ifPresent(player -> context.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof CraftingGridContainerMenu craftingGridContainerMenu) { - craftingGridContainerMenu.clear(packet.toPlayerInventory()); - } - })); - } - - @Override - public void write(final FriendlyByteBuf friendlyByteBuf) { - friendlyByteBuf.writeBoolean(toPlayerInventory); - } - - @Override - public ResourceLocation id() { - return PacketIds.CRAFTING_GRID_CLEAR; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/CraftingGridRecipeTransferPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/CraftingGridRecipeTransferPacket.java deleted file mode 100644 index 6fcd9799b..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/CraftingGridRecipeTransferPacket.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.grid.CraftingGridContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; -import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource; -import com.refinedmods.refinedstorage2.platform.common.util.PacketUtil; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record CraftingGridRecipeTransferPacket(List> recipe) implements CustomPacketPayload { - public static CraftingGridRecipeTransferPacket decode(final FriendlyByteBuf buf) { - final int slots = buf.readInt(); - final List> recipe = new ArrayList<>(slots); - for (int i = 0; i < slots; ++i) { - final int slotPossibilityCount = buf.readInt(); - final List slotPossibilities = new ArrayList<>(slotPossibilityCount); - for (int j = 0; j < slotPossibilityCount; ++j) { - slotPossibilities.add(PacketUtil.readItemResource(buf)); - } - recipe.add(slotPossibilities); - } - return new CraftingGridRecipeTransferPacket(recipe); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeInt(recipe.size()); - for (final List slotPossibilities : recipe) { - buf.writeInt(slotPossibilities.size()); - for (final ItemResource slotPossibility : slotPossibilities) { - slotPossibility.toBuffer(buf); - } - } - } - - public static void handle(final CraftingGridRecipeTransferPacket packet, final PlayPayloadContext context) { - context.player().ifPresent(player -> context.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof CraftingGridContainerMenu craftingGridContainerMenu) { - craftingGridContainerMenu.transferRecipe(packet.recipe()); - } - })); - } - - @Override - public ResourceLocation id() { - return PacketIds.CRAFTING_GRID_RECIPE_TRANSFER; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/GridExtractPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/GridExtractPacket.java deleted file mode 100644 index 7bee58044..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/GridExtractPacket.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.api.grid.operations.GridExtractMode; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridExtractionStrategy; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record GridExtractPacket( - ResourceType resourceType, - ResourceLocation resourceTypeId, - PlatformResourceKey resource, - GridExtractMode mode, - boolean cursor -) implements CustomPacketPayload { - public static GridExtractPacket decode(final FriendlyByteBuf buf) { - final ResourceLocation resourceTypeId = buf.readResourceLocation(); - final ResourceType resourceType = PlatformApi.INSTANCE - .getResourceTypeRegistry() - .get(resourceTypeId) - .orElseThrow(); - final GridExtractMode mode = getMode(buf.readByte()); - final boolean cursor = buf.readBoolean(); - final PlatformResourceKey resource = resourceType.fromBuffer(buf); - return new GridExtractPacket( - resourceType, - resourceTypeId, - resource, - mode, - cursor - ); - } - - public static void handle(final GridExtractPacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof GridExtractionStrategy strategy) { - strategy.onExtract(packet.resource, packet.mode, packet.cursor); - } - })); - } - - private static GridExtractMode getMode(final byte mode) { - if (mode == 0) { - return GridExtractMode.ENTIRE_RESOURCE; - } - return GridExtractMode.HALF_RESOURCE; - } - - public static void writeMode(final FriendlyByteBuf buf, final GridExtractMode mode) { - if (mode == GridExtractMode.ENTIRE_RESOURCE) { - buf.writeByte(0); - } else { - buf.writeByte(1); - } - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeResourceLocation(resourceTypeId); - writeMode(buf, mode); - buf.writeBoolean(cursor); - resource.toBuffer(buf); - } - - @Override - public ResourceLocation id() { - return PacketIds.GRID_EXTRACT; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/GridInsertPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/GridInsertPacket.java deleted file mode 100644 index 11dd710b7..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/GridInsertPacket.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.api.grid.operations.GridInsertMode; -import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridInsertionStrategy; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record GridInsertPacket(boolean single, boolean tryAlternatives) implements CustomPacketPayload { - public static GridInsertPacket decode(final FriendlyByteBuf buf) { - return new GridInsertPacket(buf.readBoolean(), buf.readBoolean()); - } - - public static void handle(final GridInsertPacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof GridInsertionStrategy strategy) { - final GridInsertMode mode = packet.single - ? GridInsertMode.SINGLE_RESOURCE - : GridInsertMode.ENTIRE_RESOURCE; - strategy.onInsert(mode, packet.tryAlternatives); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeBoolean(single); - buf.writeBoolean(tryAlternatives); - } - - @Override - public ResourceLocation id() { - return PacketIds.GRID_INSERT; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/GridScrollPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/GridScrollPacket.java deleted file mode 100644 index 5c4ee0e9a..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/GridScrollPacket.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.grid.GridScrollMode; -import com.refinedmods.refinedstorage2.platform.api.grid.strategy.GridScrollingStrategy; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record GridScrollPacket( - ResourceType resourceType, - ResourceLocation resourceTypeId, - PlatformResourceKey resource, - GridScrollMode mode, - int slotIndex -) implements CustomPacketPayload { - public static GridScrollPacket decode(final FriendlyByteBuf buf) { - final ResourceLocation resourceTypeId = buf.readResourceLocation(); - final ResourceType resourceType = PlatformApi.INSTANCE - .getResourceTypeRegistry() - .get(resourceTypeId) - .orElseThrow(); - final GridScrollMode mode = getMode(buf.readByte()); - final int slotIndex = buf.readInt(); - final PlatformResourceKey resource = resourceType.fromBuffer(buf); - return new GridScrollPacket( - resourceType, - resourceTypeId, - resource, - mode, - slotIndex - ); - } - - public static void handle(final GridScrollPacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof GridScrollingStrategy strategy) { - strategy.onScroll(packet.resource, packet.mode, packet.slotIndex); - } - })); - } - - private static GridScrollMode getMode(final byte mode) { - if (mode == 0) { - return GridScrollMode.GRID_TO_INVENTORY; - } else if (mode == 1) { - return GridScrollMode.GRID_TO_CURSOR; - } - return GridScrollMode.INVENTORY_TO_GRID; - } - - private static void writeMode(final FriendlyByteBuf buf, final GridScrollMode mode) { - switch (mode) { - case GRID_TO_INVENTORY -> buf.writeByte(0); - case GRID_TO_CURSOR -> buf.writeByte(1); - case INVENTORY_TO_GRID -> buf.writeByte(2); - } - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeResourceLocation(resourceTypeId); - writeMode(buf, mode); - buf.writeInt(slotIndex); - resource.toBuffer(buf); - } - - @Override - public ResourceLocation id() { - return PacketIds.GRID_SCROLL; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/PropertyChangePacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/PropertyChangePacket.java deleted file mode 100644 index c2beb3d1a..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/PropertyChangePacket.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.support.AbstractBaseContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record PropertyChangePacket(ResourceLocation propertyId, int value) implements CustomPacketPayload { - public static PropertyChangePacket decode(final FriendlyByteBuf buf) { - return new PropertyChangePacket(buf.readResourceLocation(), buf.readInt()); - } - - public static void handle(final PropertyChangePacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof AbstractBaseContainerMenu menu) { - menu.receivePropertyChangeFromClient(packet.propertyId, packet.value); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeResourceLocation(propertyId); - buf.writeInt(value); - } - - @Override - public ResourceLocation id() { - return PacketIds.PROPERTY_CHANGE; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ResourceFilterSlotChangePacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ResourceFilterSlotChangePacket.java deleted file mode 100644 index fc73cf246..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ResourceFilterSlotChangePacket.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import javax.annotation.Nullable; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -import static java.util.Objects.requireNonNull; - -public record ResourceFilterSlotChangePacket( - int slotIndex, - @Nullable - PlatformResourceKey resource, - @Nullable - ResourceType resourceType, - @Nullable - ResourceLocation resourceTypeId -) implements CustomPacketPayload { - public static ResourceFilterSlotChangePacket decode(final FriendlyByteBuf buf) { - final int slotIndex = buf.readInt(); - final ResourceLocation resourceTypeId = buf.readResourceLocation(); - return PlatformApi.INSTANCE.getResourceTypeRegistry().get(resourceTypeId) - .map(resourceType -> decode(buf, slotIndex, resourceType, resourceTypeId)) - .orElseGet(() -> new ResourceFilterSlotChangePacket(slotIndex, null, null, resourceTypeId)); - } - - private static ResourceFilterSlotChangePacket decode(final FriendlyByteBuf buf, - final int slotIndex, - final ResourceType type, - final ResourceLocation typeId) { - final PlatformResourceKey resource = type.fromBuffer(buf); - return new ResourceFilterSlotChangePacket(slotIndex, resource, type, typeId); - } - - public static void handle(final ResourceFilterSlotChangePacket packet, - final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof AbstractResourceContainerMenu containerMenu) { - containerMenu.handleResourceFilterSlotUpdate(packet.slotIndex, requireNonNull(packet.resource)); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeInt(slotIndex); - buf.writeResourceLocation(requireNonNull(resourceTypeId)); - requireNonNull(resource).toBuffer(buf); - } - - @Override - public ResourceLocation id() { - return PacketIds.RESOURCE_FILTER_SLOT_CHANGE; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ResourceSlotAmountChangePacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ResourceSlotAmountChangePacket.java deleted file mode 100644 index 2f73419a7..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ResourceSlotAmountChangePacket.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record ResourceSlotAmountChangePacket(int slotIndex, long amount) implements CustomPacketPayload { - public static ResourceSlotAmountChangePacket decode(final FriendlyByteBuf buf) { - return new ResourceSlotAmountChangePacket(buf.readInt(), buf.readLong()); - } - - public static void handle(final ResourceSlotAmountChangePacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof AbstractResourceContainerMenu containerMenu) { - containerMenu.handleResourceSlotAmountChange(packet.slotIndex, packet.amount); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeInt(slotIndex); - buf.writeLong(amount); - } - - @Override - public ResourceLocation id() { - return PacketIds.RESOURCE_SLOT_AMOUNT_CHANGE; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ResourceSlotChangePacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ResourceSlotChangePacket.java deleted file mode 100644 index 9c03ffeea..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/ResourceSlotChangePacket.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record ResourceSlotChangePacket(int slotIndex, boolean tryAlternatives) implements CustomPacketPayload { - public static ResourceSlotChangePacket decode(final FriendlyByteBuf buf) { - return new ResourceSlotChangePacket(buf.readInt(), buf.readBoolean()); - } - - public static void handle(final ResourceSlotChangePacket packet, - final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof AbstractResourceContainerMenu containerMenu) { - containerMenu.handleResourceSlotChange(packet.slotIndex, packet.tryAlternatives); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeInt(slotIndex); - buf.writeBoolean(tryAlternatives); - } - - @Override - public ResourceLocation id() { - return PacketIds.RESOURCE_SLOT_CHANGE; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SecurityCardBoundPlayerPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SecurityCardBoundPlayerPacket.java deleted file mode 100644 index 686cec4c5..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SecurityCardBoundPlayerPacket.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.security.SecurityCardContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import java.util.UUID; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record SecurityCardBoundPlayerPacket(UUID playerId) implements CustomPacketPayload { - public static SecurityCardBoundPlayerPacket decode(final FriendlyByteBuf buf) { - return new SecurityCardBoundPlayerPacket(buf.readUUID()); - } - - public static void handle(final SecurityCardBoundPlayerPacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.getServer() == null) { - return; - } - if (player.containerMenu instanceof SecurityCardContainerMenu securityCardContainerMenu) { - securityCardContainerMenu.setBoundPlayer(player.getServer(), packet.playerId); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeUUID(playerId); - } - - @Override - public ResourceLocation id() { - return PacketIds.SECURITY_CARD_BOUND_PLAYER; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SecurityCardPermissionPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SecurityCardPermissionPacket.java deleted file mode 100644 index 16a8f5353..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SecurityCardPermissionPacket.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.security.AbstractSecurityCardContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record SecurityCardPermissionPacket(ResourceLocation permissionId, boolean allowed) - implements CustomPacketPayload { - public static SecurityCardPermissionPacket decode(final FriendlyByteBuf buf) { - return new SecurityCardPermissionPacket(buf.readResourceLocation(), buf.readBoolean()); - } - - public static void handle(final SecurityCardPermissionPacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof AbstractSecurityCardContainerMenu securityCardContainerMenu) { - securityCardContainerMenu.setPermission(packet.permissionId, packet.allowed); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeResourceLocation(permissionId); - buf.writeBoolean(allowed); - } - - @Override - public ResourceLocation id() { - return PacketIds.SECURITY_CARD_PERMISSION; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SecurityCardResetPermissionPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SecurityCardResetPermissionPacket.java deleted file mode 100644 index 1831a87a1..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SecurityCardResetPermissionPacket.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.security.AbstractSecurityCardContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record SecurityCardResetPermissionPacket(ResourceLocation permissionId) implements CustomPacketPayload { - public static SecurityCardResetPermissionPacket decode(final FriendlyByteBuf buf) { - return new SecurityCardResetPermissionPacket(buf.readResourceLocation()); - } - - public static void handle(final SecurityCardResetPermissionPacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof AbstractSecurityCardContainerMenu securityCardContainerMenu) { - securityCardContainerMenu.resetPermission(packet.permissionId); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeResourceLocation(permissionId); - } - - @Override - public ResourceLocation id() { - return PacketIds.SECURITY_CARD_RESET_PERMISSION; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SingleAmountChangePacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SingleAmountChangePacket.java deleted file mode 100644 index 52e6e3213..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/SingleAmountChangePacket.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractSingleAmountContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record SingleAmountChangePacket(double amount) implements CustomPacketPayload { - public static SingleAmountChangePacket decode(final FriendlyByteBuf buf) { - return new SingleAmountChangePacket(buf.readDouble()); - } - - public static void handle(final SingleAmountChangePacket packet, final PlayPayloadContext context) { - context.player().ifPresent(player -> context.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof AbstractSingleAmountContainerMenu singleAmountContainerMenu) { - singleAmountContainerMenu.changeAmountOnServer(packet.amount()); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeDouble(amount); - } - - @Override - public ResourceLocation id() { - return PacketIds.SINGLE_AMOUNT_CHANGE; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/StorageInfoRequestPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/StorageInfoRequestPacket.java deleted file mode 100644 index a19cd1f10..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/StorageInfoRequestPacket.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.storage.StorageInfo; -import com.refinedmods.refinedstorage2.platform.common.Platform; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import java.util.UUID; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerPlayer; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record StorageInfoRequestPacket(UUID storageId) implements CustomPacketPayload { - public static StorageInfoRequestPacket decode(final FriendlyByteBuf buf) { - return new StorageInfoRequestPacket(buf.readUUID()); - } - - public static void handle(final StorageInfoRequestPacket packet, final PlayPayloadContext context) { - context.player().ifPresent(player -> context.workHandler().submitAsync(() -> { - final StorageInfo info = PlatformApi.INSTANCE - .getStorageRepository(player.getCommandSenderWorld()) - .getInfo(packet.storageId()); - Platform.INSTANCE.getServerToClientCommunications().sendStorageInfoResponse( - (ServerPlayer) player, - packet.storageId(), - info - ); - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeUUID(storageId); - } - - @Override - public ResourceLocation id() { - return PacketIds.STORAGE_INFO_REQUEST; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/UseNetworkBoundItemPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/UseNetworkBoundItemPacket.java deleted file mode 100644 index 52d344471..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/UseNetworkBoundItemPacket.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.support.energy.AbstractNetworkBoundEnergyItem; -import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.NetworkBoundItemSession; -import com.refinedmods.refinedstorage2.platform.api.support.network.bounditem.SlotReference; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import javax.annotation.Nullable; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.entity.player.Player; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -import static java.util.Objects.requireNonNull; - -public record UseNetworkBoundItemPacket(@Nullable SlotReference slotReference) implements CustomPacketPayload { - public static UseNetworkBoundItemPacket decode(final FriendlyByteBuf buf) { - return new UseNetworkBoundItemPacket(PlatformApi.INSTANCE.getSlotReference(buf).orElse(null)); - } - - public static void handle(final UseNetworkBoundItemPacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> doHandle(packet, player))); - } - - private static void doHandle(final UseNetworkBoundItemPacket packet, final Player player) { - if (packet.slotReference == null) { - return; - } - packet.slotReference.resolve(player).ifPresent(stack -> { - if (!(stack.getItem() instanceof AbstractNetworkBoundEnergyItem networkBoundItem)) { - return; - } - final NetworkBoundItemSession sess = PlatformApi.INSTANCE.getNetworkBoundItemHelper().openSession( - stack, - (ServerPlayer) player, - packet.slotReference - ); - networkBoundItem.use((ServerPlayer) player, packet.slotReference, sess); - }); - } - - @Override - public void write(final FriendlyByteBuf buf) { - PlatformApi.INSTANCE.writeSlotReference(requireNonNull(slotReference), buf); - } - - @Override - public ResourceLocation id() { - return PacketIds.USE_NETWORK_BOUND_ITEM; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/package-info.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/package-info.java deleted file mode 100644 index 2e5a53e4b..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/c2s/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -@ParametersAreNonnullByDefault -@FieldsAndMethodsAreNonnullByDefault -package com.refinedmods.refinedstorage2.platform.forge.support.packet.c2s; - -import com.refinedmods.refinedstorage2.api.core.FieldsAndMethodsAreNonnullByDefault; - -import javax.annotation.ParametersAreNonnullByDefault; diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/EnergyInfoPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/EnergyInfoPacket.java deleted file mode 100644 index 9fa311980..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/EnergyInfoPacket.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.common.support.energy.EnergyContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record EnergyInfoPacket(long stored, long capacity) implements CustomPacketPayload { - public static EnergyInfoPacket decode(final FriendlyByteBuf buf) { - return new EnergyInfoPacket(buf.readLong(), buf.readLong()); - } - - public static void handle(final EnergyInfoPacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - final AbstractContainerMenu menu = player.containerMenu; - if (menu instanceof EnergyContainerMenu energy) { - energy.getEnergyInfo().setEnergy(packet.stored, packet.capacity); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeLong(stored); - buf.writeLong(capacity); - } - - @Override - public ResourceLocation id() { - return PacketIds.ENERGY_INFO; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/GridActivePacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/GridActivePacket.java deleted file mode 100644 index 9be4a20b0..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/GridActivePacket.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c; - -import com.refinedmods.refinedstorage2.api.grid.watcher.GridWatcher; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record GridActivePacket(boolean active) implements CustomPacketPayload { - public static GridActivePacket decode(final FriendlyByteBuf buf) { - return new GridActivePacket(buf.readBoolean()); - } - - public static void handle(final GridActivePacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - final AbstractContainerMenu menu = player.containerMenu; - if (menu instanceof GridWatcher gridWatcher) { - gridWatcher.onActiveChanged(packet.active); - } - })); - } - - @Override - public void write(final FriendlyByteBuf friendlyByteBuf) { - friendlyByteBuf.writeBoolean(active); - } - - @Override - public ResourceLocation id() { - return PacketIds.GRID_ACTIVE; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/GridClearPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/GridClearPacket.java deleted file mode 100644 index 5728cbaff..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/GridClearPacket.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.common.grid.AbstractGridContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public class GridClearPacket implements CustomPacketPayload { - public static void handle(final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - final AbstractContainerMenu menu = player.containerMenu; - if (menu instanceof AbstractGridContainerMenu grid) { - grid.onClear(); - } - })); - } - - @Override - public void write(final FriendlyByteBuf friendlyByteBuf) { - // no op - } - - @Override - public ResourceLocation id() { - return PacketIds.GRID_CLEAR; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/GridUpdatePacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/GridUpdatePacket.java deleted file mode 100644 index 95257c1fd..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/GridUpdatePacket.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c; - -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import com.refinedmods.refinedstorage2.platform.common.grid.AbstractGridContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; -import com.refinedmods.refinedstorage2.platform.common.util.PacketUtil; - -import javax.annotation.Nullable; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record GridUpdatePacket( - ResourceLocation resourceTypeId, - PlatformResourceKey resource, - long amount, - @Nullable TrackedResource trackedResource -) implements CustomPacketPayload { - public static GridUpdatePacket decode(final FriendlyByteBuf buf) { - final ResourceLocation resourceTypeId = buf.readResourceLocation(); - final ResourceType resourceType = PlatformApi.INSTANCE - .getResourceTypeRegistry() - .get(resourceTypeId) - .orElseThrow(); - final PlatformResourceKey resource = resourceType.fromBuffer(buf); - final long amount = buf.readLong(); - final TrackedResource trackedResource = PacketUtil.readTrackedResource(buf); - return new GridUpdatePacket( - resourceTypeId, - resource, - amount, - trackedResource - ); - } - - public static void handle(final GridUpdatePacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof AbstractGridContainerMenu containerMenu) { - containerMenu.onResourceUpdate(packet.resource, packet.amount, packet.trackedResource); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeResourceLocation(resourceTypeId); - resource.toBuffer(buf); - buf.writeLong(amount); - PacketUtil.writeTrackedResource(buf, trackedResource); - } - - @Override - public ResourceLocation id() { - return PacketIds.GRID_UPDATE; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/NetworkTransmitterStatusPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/NetworkTransmitterStatusPacket.java deleted file mode 100644 index ace9ee7f7..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/NetworkTransmitterStatusPacket.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterStatus; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.chat.Component; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record NetworkTransmitterStatusPacket(boolean error, Component message) implements CustomPacketPayload { - public static NetworkTransmitterStatusPacket decode(final FriendlyByteBuf buf) { - return new NetworkTransmitterStatusPacket(buf.readBoolean(), buf.readComponent()); - } - - public static void handle(final NetworkTransmitterStatusPacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - final AbstractContainerMenu menu = player.containerMenu; - if (menu instanceof NetworkTransmitterContainerMenu containerMenu) { - containerMenu.setStatus(new NetworkTransmitterStatus(packet.error, packet.message)); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeBoolean(error); - buf.writeComponent(message); - } - - @Override - public ResourceLocation id() { - return PacketIds.NETWORK_TRANSMITTER_STATUS; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/NoPermissionPacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/NoPermissionPacket.java deleted file mode 100644 index b0afbb025..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/NoPermissionPacket.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; -import com.refinedmods.refinedstorage2.platform.common.util.SecurityToastHelper; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.chat.Component; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record NoPermissionPacket(Component component) implements CustomPacketPayload { - public static NoPermissionPacket decode(final FriendlyByteBuf buf) { - return new NoPermissionPacket(buf.readComponent()); - } - - public static void handle(final NoPermissionPacket packet, final PlayPayloadContext ctx) { - ctx.workHandler().submitAsync(() -> SecurityToastHelper.addNoPermissionToast(packet.component)); - } - - @Override - public void write(final FriendlyByteBuf friendlyByteBuf) { - friendlyByteBuf.writeComponent(component); - } - - @Override - public ResourceLocation id() { - return PacketIds.NO_PERMISSION; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/ResourceSlotUpdatePacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/ResourceSlotUpdatePacket.java deleted file mode 100644 index be78e9d68..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/ResourceSlotUpdatePacket.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c; - -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.api.support.resource.ResourceType; -import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import javax.annotation.Nullable; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record ResourceSlotUpdatePacket( - int slotIndex, - @Nullable ResourceAmount resourceAmount, - @Nullable ResourceLocation resourceTypeId -) implements CustomPacketPayload { - public static ResourceSlotUpdatePacket decode(final FriendlyByteBuf buf) { - final int slotIndex = buf.readInt(); - final boolean present = buf.readBoolean(); - if (!present) { - return new ResourceSlotUpdatePacket(slotIndex, null, null); - } - final ResourceLocation resourceTypeId = buf.readResourceLocation(); - return PlatformApi.INSTANCE.getResourceTypeRegistry().get(resourceTypeId).map( - resourceType -> decode(buf, slotIndex, resourceType) - ).orElseGet(() -> new ResourceSlotUpdatePacket(slotIndex, null, null)); - } - - private static ResourceSlotUpdatePacket decode(final FriendlyByteBuf buf, - final int slotIndex, - final ResourceType type) { - final PlatformResourceKey resource = type.fromBuffer(buf); - final long amount = buf.readLong(); - return new ResourceSlotUpdatePacket(slotIndex, new ResourceAmount(resource, amount), null); - } - - public static void handle(final ResourceSlotUpdatePacket packet, - final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof AbstractResourceContainerMenu containerMenu) { - containerMenu.handleResourceSlotUpdate(packet.slotIndex, packet.resourceAmount); - } - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeInt(slotIndex); - final boolean present = resourceAmount != null && resourceTypeId != null; - buf.writeBoolean(present); - if (present) { - buf.writeResourceLocation(resourceTypeId); - ((PlatformResourceKey) resourceAmount.getResource()).toBuffer(buf); - buf.writeLong(resourceAmount.getAmount()); - } - } - - @Override - public ResourceLocation id() { - return PacketIds.RESOURCE_SLOT_UPDATE; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/ServerToClientCommunicationsImpl.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/ServerToClientCommunicationsImpl.java deleted file mode 100644 index a57560624..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/ServerToClientCommunicationsImpl.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c; - -import com.refinedmods.refinedstorage2.api.resource.ResourceAmount; -import com.refinedmods.refinedstorage2.api.storage.tracked.TrackedResource; -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.api.storage.StorageInfo; -import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey; -import com.refinedmods.refinedstorage2.platform.common.networking.NetworkTransmitterStatus; -import com.refinedmods.refinedstorage2.platform.common.support.ServerToClientCommunications; - -import java.util.UUID; -import javax.annotation.Nullable; - -import net.minecraft.network.chat.Component; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.server.level.ServerPlayer; -import net.neoforged.neoforge.network.PacketDistributor; - -public class ServerToClientCommunicationsImpl implements ServerToClientCommunications { - private void sendToPlayer(final ServerPlayer player, final CustomPacketPayload packet) { - PacketDistributor.PLAYER.with(player).send(packet); - } - - @Override - public void sendEnergyInfo(final ServerPlayer player, final long stored, final long capacity) { - sendToPlayer(player, new EnergyInfoPacket(stored, capacity)); - } - - @Override - public void sendWirelessTransmitterRange(final ServerPlayer player, final int range) { - sendToPlayer(player, new WirelessTransmitterRangePacket(range)); - } - - @Override - public void sendGridActiveness(final ServerPlayer player, final boolean active) { - sendToPlayer(player, new GridActivePacket(active)); - } - - @Override - public void sendGridUpdate(final ServerPlayer player, - final PlatformResourceKey resource, - final long change, - @Nullable final TrackedResource trackedResource) { - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(resource.getResourceType()) - .ifPresent(id -> sendToPlayer(player, new GridUpdatePacket( - id, - resource, - change, - trackedResource - ))); - } - - @Override - public void sendGridClear(final ServerPlayer player) { - sendToPlayer(player, new GridClearPacket()); - } - - @Override - public void sendResourceSlotUpdate(final ServerPlayer player, - @Nullable final ResourceAmount resourceAmount, - final int slotIndex) { - if (resourceAmount != null && resourceAmount.getResource() instanceof PlatformResourceKey platformResource) { - PlatformApi.INSTANCE.getResourceTypeRegistry().getId(platformResource.getResourceType()) - .ifPresent(id -> sendToPlayer(player, new ResourceSlotUpdatePacket( - slotIndex, - resourceAmount, - id - ))); - } else { - sendToPlayer(player, new ResourceSlotUpdatePacket( - slotIndex, - null, - null - )); - } - } - - @Override - public void sendStorageInfoResponse(final ServerPlayer player, - final UUID id, - final StorageInfo storageInfo) { - sendToPlayer(player, new StorageInfoResponsePacket(id, storageInfo.stored(), storageInfo.capacity())); - } - - @Override - public void sendNetworkTransmitterStatus(final ServerPlayer player, final NetworkTransmitterStatus status) { - sendToPlayer(player, new NetworkTransmitterStatusPacket(status.error(), status.message())); - } - - @Override - public void sendNoPermission(final ServerPlayer player, final Component message) { - sendToPlayer(player, new NoPermissionPacket(message)); - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/StorageInfoResponsePacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/StorageInfoResponsePacket.java deleted file mode 100644 index b3c195102..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/StorageInfoResponsePacket.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.api.PlatformApi; -import com.refinedmods.refinedstorage2.platform.common.storage.ClientStorageRepository; -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; - -import java.util.UUID; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record StorageInfoResponsePacket(UUID storageId, long stored, long capacity) implements CustomPacketPayload { - public static StorageInfoResponsePacket decode(final FriendlyByteBuf buf) { - return new StorageInfoResponsePacket(buf.readUUID(), buf.readLong(), buf.readLong()); - } - - public static void handle(final StorageInfoResponsePacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - final ClientStorageRepository storageRepository = (ClientStorageRepository) - PlatformApi.INSTANCE.getStorageRepository(player.level()); - storageRepository.setInfo(packet.storageId, packet.stored, packet.capacity); - })); - } - - @Override - public void write(final FriendlyByteBuf buf) { - buf.writeUUID(storageId); - buf.writeLong(stored); - buf.writeLong(capacity); - } - - @Override - public ResourceLocation id() { - return PacketIds.STORAGE_INFO_RESPONSE; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/WirelessTransmitterRangePacket.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/WirelessTransmitterRangePacket.java deleted file mode 100644 index 82c9264b5..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/WirelessTransmitterRangePacket.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c; - -import com.refinedmods.refinedstorage2.platform.common.support.packet.PacketIds; -import com.refinedmods.refinedstorage2.platform.common.wirelesstransmitter.WirelessTransmitterContainerMenu; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.handling.PlayPayloadContext; - -public record WirelessTransmitterRangePacket(int range) implements CustomPacketPayload { - public static WirelessTransmitterRangePacket decode(final FriendlyByteBuf buf) { - return new WirelessTransmitterRangePacket(buf.readInt()); - } - - public static void handle(final WirelessTransmitterRangePacket packet, final PlayPayloadContext ctx) { - ctx.player().ifPresent(player -> ctx.workHandler().submitAsync(() -> { - if (player.containerMenu instanceof WirelessTransmitterContainerMenu containerMenu) { - containerMenu.setRange(packet.range); - } - })); - } - - @Override - public void write(final FriendlyByteBuf friendlyByteBuf) { - friendlyByteBuf.writeInt(range); - } - - @Override - public ResourceLocation id() { - return PacketIds.WIRELESS_TRANSMITTER_RANGE; - } -} diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/package-info.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/package-info.java deleted file mode 100644 index 26a5ccdc9..000000000 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/packet/s2c/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -@ParametersAreNonnullByDefault -@FieldsAndMethodsAreNonnullByDefault -package com.refinedmods.refinedstorage2.platform.forge.support.packet.s2c; - -import com.refinedmods.refinedstorage2.api.core.FieldsAndMethodsAreNonnullByDefault; - -import javax.annotation.ParametersAreNonnullByDefault; diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/render/FluidStackFluidRenderer.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/render/FluidStackFluidRenderer.java index 84df21784..e02d22965 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/render/FluidStackFluidRenderer.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/render/FluidStackFluidRenderer.java @@ -23,10 +23,15 @@ public class FluidStackFluidRenderer extends AbstractFluidRenderer { private final Map stackCache = new HashMap<>(); + @SuppressWarnings("deprecation") private FluidStack getFluidStackFromCache(final FluidResource fluidResource) { return stackCache.computeIfAbsent( fluidResource, - r -> new FluidStack(r.fluid(), FluidType.BUCKET_VOLUME, r.tag()) + r -> new FluidStack( + r.fluid().builtInRegistryHolder(), + FluidType.BUCKET_VOLUME, + r.components() + ) ); } @@ -73,6 +78,6 @@ private TextureAtlasSprite getStillFluidSprite(final IClientFluidTypeExtensions @Override public List getTooltip(final FluidResource fluidResource) { - return Collections.singletonList(getFluidStackFromCache(fluidResource).getDisplayName()); + return Collections.singletonList(getFluidStackFromCache(fluidResource).getHoverName()); } } diff --git a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/resource/VariantUtil.java b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/resource/VariantUtil.java index 27367bae7..bc880fd65 100644 --- a/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/resource/VariantUtil.java +++ b/refinedstorage2-platform-forge/src/main/java/com/refinedmods/refinedstorage2/platform/forge/support/resource/VariantUtil.java @@ -17,18 +17,26 @@ private VariantUtil() { } public static boolean isSame(final FluidResource resource, final FluidStack stack) { - return resource.fluid() == stack.getFluid() && Objects.equals(resource.tag(), stack.getTag()); + return resource.fluid() == stack.getFluid() && Objects.equals( + resource.components(), + stack.getComponents().asPatch() + ); } public static FluidResource ofFluidStack(final FluidStack fluidStack) { - return new FluidResource(fluidStack.getFluid(), fluidStack.getTag()); + return new FluidResource(fluidStack.getFluid(), fluidStack.getComponents().asPatch()); } + @SuppressWarnings("deprecation") public static FluidStack toFluidStack(final FluidResource fluidResource, final long amount) { if (amount > Integer.MAX_VALUE) { LOGGER.warn("Truncating too large amount for {} to fit into FluidStack {}", fluidResource, amount); } - return new FluidStack(fluidResource.fluid(), (int) amount, fluidResource.tag()); + return new FluidStack( + fluidResource.fluid().builtInRegistryHolder(), + (int) amount, + fluidResource.components() + ); } public static Action toAction(final IFluidHandler.FluidAction action) { diff --git a/refinedstorage2-platform-forge/src/main/resources/META-INF/mods.toml b/refinedstorage2-platform-forge/src/main/resources/META-INF/neoforge.mods.toml similarity index 100% rename from refinedstorage2-platform-forge/src/main/resources/META-INF/mods.toml rename to refinedstorage2-platform-forge/src/main/resources/META-INF/neoforge.mods.toml diff --git a/refinedstorage2-platform-forge/src/main/resources/pack.mcmeta b/refinedstorage2-platform-forge/src/main/resources/pack.mcmeta index 08cce3f92..42ed61f71 100644 --- a/refinedstorage2-platform-forge/src/main/resources/pack.mcmeta +++ b/refinedstorage2-platform-forge/src/main/resources/pack.mcmeta @@ -1,8 +1,8 @@ { "pack": { "description": { - "text": "Refined Storage 2 resources" + "text": "Refined Storage resources" }, - "pack_format": 18 + "pack_format": 34 } } diff --git a/refinedstorage2-platform-forge/src/test/java/com/refinedmods/refinedstorage2/platform/forge/GameTestUtil.java b/refinedstorage2-platform-forge/src/test/java/com/refinedmods/refinedstorage2/platform/forge/GameTestUtil.java index bdc9b4fe5..bd05d0bef 100644 --- a/refinedstorage2-platform-forge/src/test/java/com/refinedmods/refinedstorage2/platform/forge/GameTestUtil.java +++ b/refinedstorage2-platform-forge/src/test/java/com/refinedmods/refinedstorage2/platform/forge/GameTestUtil.java @@ -61,14 +61,14 @@ public static void insert(final GameTestHelper helper, final Network network, final Item resource, final long amount) { - insert(helper, network, new ItemResource(resource, null), amount); + insert(helper, network, new ItemResource(resource), amount); } public static void insert(final GameTestHelper helper, final Network network, final Fluid resource, final long amount) { - insert(helper, network, new FluidResource(resource, null), amount); + insert(helper, network, new FluidResource(resource), amount); } public static void insert(final GameTestHelper helper, @@ -117,22 +117,22 @@ public static Runnable containerContainsExactly(final GameTestHelper helper, return () -> { for (final ResourceAmount expectedStack : expected) { final boolean contains = IntStream.range(0, containerBlockEntity.getContainerSize()) - .mapToObj(containerBlockEntity::getItem) - .anyMatch(inContainer -> asResource(inContainer).equals(expectedStack.getResource()) - && inContainer.getCount() == expectedStack.getAmount()); + .mapToObj(containerBlockEntity::getItem) + .anyMatch(inContainer -> asResource(inContainer).equals(expectedStack.getResource()) + && inContainer.getCount() == expectedStack.getAmount()); helper.assertTrue(contains, "Expected resource is missing from storage: " - + expectedStack + " with count: " + expectedStack.getAmount()); + + expectedStack + " with count: " + expectedStack.getAmount()); } for (int i = 0; i < containerBlockEntity.getContainerSize(); i++) { final ItemStack inContainer = containerBlockEntity.getItem(i); if (inContainer.getItem() != Items.AIR) { final boolean wasExpected = Arrays.stream(expected).anyMatch( - expectedStack -> expectedStack.getResource().equals(asResource(inContainer)) - && expectedStack.getAmount() == inContainer.getCount() + expectedStack -> expectedStack.getResource().equals(asResource(inContainer)) + && expectedStack.getAmount() == inContainer.getCount() ); helper.assertTrue(wasExpected, "Unexpected resource found in storage: " - + inContainer.getDescriptionId() + " with count: " + inContainer.getCount()); + + inContainer.getDescriptionId() + " with count: " + inContainer.getCount()); } } }; @@ -161,14 +161,14 @@ public static Runnable storageContainsExactly(final GameTestHelper helper, } public static ItemResource asResource(final Item item) { - return new ItemResource(item, null); + return new ItemResource(item); } public static ItemResource asResource(final ItemStack itemStack) { - return new ItemResource(itemStack.getItem(), itemStack.getTag()); + return ItemResource.ofItemStack(itemStack); } public static FluidResource asResource(final Fluid fluid) { - return new FluidResource(fluid, null); + return new FluidResource(fluid); } } diff --git a/refinedstorage2-platform-forge/src/test/resources/data/refinedstorage2/structures/empty_15x15.nbt b/refinedstorage2-platform-forge/src/test/resources/data/refinedstorage2/structure/empty_15x15.nbt similarity index 100% rename from refinedstorage2-platform-forge/src/test/resources/data/refinedstorage2/structures/empty_15x15.nbt rename to refinedstorage2-platform-forge/src/test/resources/data/refinedstorage2/structure/empty_15x15.nbt diff --git a/settings.gradle b/settings.gradle index 6a50b6863..77b7e05d5 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ -gradle.ext.refinedArchitectVersion = "0.13.4" +gradle.ext.refinedArchitectVersion = "0.14.3" dependencyResolutionManagement { repositories {