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..82dab60c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,18 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added + +- Ported to Minecraft 1.21. + +### Fixed + +- Regulator Upgrade having wrong GUI title. + +### 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..939a01ac6 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; @@ -103,15 +117,18 @@ 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 +137,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 +224,7 @@ protected final void initializePlatformApi() { registerNetworkComponents(); registerWirelessTransmitterRangeModifiers(); registerPermissions(); - registerSlotReferenceProvider(); + registerInventorySlotReference(); } private void registerStorageTypes() { @@ -676,120 +700,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 +836,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..b30ac77e4 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; @@ -46,13 +46,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..a4b69dfe4 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 @@ -15,6 +15,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,6 +23,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; import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeType; @@ -58,13 +60,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 +79,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); } @@ -93,7 +96,7 @@ NonNullList getRemainingItems(final Player player) { if (level == null || currentRecipe == null) { return NonNullList.create(); } - return Platform.INSTANCE.getRemainingCraftingItems(player, currentRecipe, craftingMatrix); + return Platform.INSTANCE.getRemainingCraftingItems(player, currentRecipe, craftingMatrix.asCraftInput()); } @Override @@ -108,16 +111,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); } } 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..724fa79a3 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 @@ -30,7 +30,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(); } @@ -69,7 +69,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/CraftingGridSourceImpl.java b/refinedstorage2-platform-common/src/main/java/com/refinedmods/refinedstorage2/platform/common/grid/CraftingGridSourceImpl.java index 7fad1dd98..cce23e779 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 @@ -117,7 +117,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..7f3b47ed6 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 @@ -80,11 +80,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; } 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/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..7c1c51cc2 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 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..149e3e7f6 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 @@ -19,6 +19,8 @@ import javax.annotation.Nullable; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.component.DataComponents; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; @@ -26,6 +28,7 @@ import net.minecraft.world.entity.player.Player; 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; @@ -37,15 +40,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 +57,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 +109,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 +138,26 @@ 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; } 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 +166,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/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/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..0ad421b9b 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,8 +1,8 @@ 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.common.content.Items; import com.refinedmods.refinedstorage2.platform.common.storage.FluidStorageType; @@ -36,7 +36,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); } 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..e5bda4f4d 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,8 +1,8 @@ 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.common.content.Items; @@ -36,7 +36,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); } 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..56b982f76 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 @@ -14,8 +14,9 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; 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.ItemStack; import net.minecraft.world.level.ClipContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.EntityBlock; @@ -53,19 +54,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 +70,7 @@ public InteractionResult use(final BlockState state, storageMonitor.insert(player, hand); } } - return InteractionResult.SUCCESS; + return ItemInteractionResult.SUCCESS; } @Override 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/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/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/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/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/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/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 {