Merge pull request #3267 from refinedmods/develop

v1.10.2
This commit is contained in:
Raoul
2022-03-26 12:26:18 +01:00
committed by GitHub
17 changed files with 125 additions and 60 deletions

View File

@@ -35,7 +35,7 @@ body:
description: |
If your Minecraft version isn't listed here, it means that it's no longer supported. In that case, don't create an issue.
options:
- Minecraft 1.18.1
- Minecraft 1.18.2
- Minecraft 1.16.5
validations:
required: true

View File

@@ -42,6 +42,8 @@ jobs:
run: ./gradlew publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CREEPERHOST_MAVEN_USERNAME: ${{ secrets.CREEPERHOST_MAVEN_USERNAME }}
CREEPERHOST_MAVEN_TOKEN: ${{ secrets.CREEPERHOST_MAVEN_TOKEN }}
RELEASE: ${{ steps.tagName.outputs.tag }}
- name: Retrieve changelog
id: changelog_reader

View File

@@ -7,9 +7,15 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Changed
- Ported to Minecraft 1.18.2.
## [v1.10.1] - 2022-03-26
### Fixed
- Fixed crash when opening alternatives screen
- Fixed crash when opening alternatives screen.
## [v1.10.0] - 2022-01-25

View File

@@ -1,6 +1,6 @@
# The MIT License (MIT)
Copyright © 2015 - 2021 Refined Mods
Copyright © 2015 - 2022 Refined Mods
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation

View File

@@ -33,7 +33,7 @@ apply plugin: 'maven-publish'
group = 'com.refinedmods'
archivesBaseName = 'refinedstorage'
version = '1.10.1'
version = '1.10.2'
if (System.getenv('GITHUB_SHA') != null) {
version += '+' + System.getenv('GITHUB_SHA').substring(0, 7)
@@ -50,7 +50,7 @@ tasks.withType(JavaCompile) {
}
minecraft {
mappings channel: 'official', version: '1.18.1'
mappings channel: 'official', version: '1.18.2'
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
runs {
@@ -102,17 +102,17 @@ processResources {
}
dependencies {
minecraft 'net.minecraftforge:forge:1.18.1-39.0.59'
minecraft 'net.minecraftforge:forge:1.18.2-40.0.32'
compileOnly fg.deobf("mezz.jei:jei-1.18.1:9.1.0.41:api")
runtimeOnly fg.deobf("mezz.jei:jei-1.18.1:9.1.0.41")
compileOnly fg.deobf("mezz.jei:jei-1.18.2:9.5.4.171:api")
runtimeOnly fg.deobf("mezz.jei:jei-1.18.2:9.5.4.171")
compileOnly fg.deobf('curse.maven:mouse-tweaks-60089:3546383')
compileOnly fg.deobf('curse.maven:mouse-tweaks-60089:3578801')
compileOnly fg.deobf('curse.maven:crafting-tweaks-233071:3545611')
compileOnly fg.deobf('curse.maven:crafting-tweaks-233071:3584842')
runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.18-5.0.2.4")
compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.18-5.0.2.4:api")
runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.18.2-5.0.6.3")
compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.18.2-5.0.6.3:api")
}
jar {
@@ -137,7 +137,7 @@ if (System.getenv("CURSEFORGE_TOKEN") != null) {
changelog = System.getenv("CHANGELOG")
changelogType = 'markdown'
releaseType = project.version.toString().contains('beta') ? 'beta' : (project.version.toString().contains('alpha') ? 'alpha' : 'release')
addGameVersion "1.18.1"
addGameVersion "1.18.2"
mainArtifact(jar) {
displayName = "v$project.version"
}
@@ -157,6 +157,14 @@ publishing {
password = System.getenv("GITHUB_TOKEN")
}
}
maven {
name = "CreeperHost"
url = uri("https://maven.creeperhost.net/release")
credentials {
username = System.getenv("CREEPERHOST_MAVEN_USERNAME")
password = System.getenv("CREEPERHOST_MAVEN_TOKEN")
}
}
}
publications {
gpr(MavenPublication) {

View File

@@ -48,7 +48,6 @@ public final class RS {
RSBlocks.register();
RSItems.register();
RSLootFunctions.register();
FMLJavaModLoadingContext.get().getModEventBus().addListener(CommonSetup::onCommonSetup);
FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(BlockEntityType.class, CommonSetup::onRegisterBlockEntities);

View File

@@ -10,9 +10,9 @@ import com.refinedmods.refinedstorage.util.ColorMap;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
import net.minecraftforge.common.Tags;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
@@ -58,7 +58,7 @@ public final class RSItems {
public static final Map<UpgradeItem.Type, RegistryObject<UpgradeItem>> UPGRADE_ITEMS = new EnumMap<>(UpgradeItem.Type.class);
public static final Map<Tags.IOptionalNamedTag<Item>, ColorMap<BlockItem>> COLORED_ITEM_TAGS = new HashMap<>();
public static final Map<TagKey<Item>, ColorMap<BlockItem>> COLORED_ITEM_TAGS = new HashMap<>();
private static final List<Runnable> LATE_REGISTRATION = new ArrayList<>();
@@ -162,7 +162,7 @@ public final class RSItems {
)
));
COLORED_ITEM_TAGS.put(ItemTags.createOptional(new ResourceLocation(RS.ID, CONTROLLER.get(ColorMap.DEFAULT_COLOR).getId().getPath())), CONTROLLER);
COLORED_ITEM_TAGS.put(ItemTags.create(new ResourceLocation(RS.ID, CONTROLLER.get(ColorMap.DEFAULT_COLOR).getId().getPath())), CONTROLLER);
LATE_REGISTRATION.add(() -> {
RSBlocks.CONTROLLER.forEach((color, block) -> {

View File

@@ -7,8 +7,7 @@ import com.refinedmods.refinedstorage.item.PatternItem;
import net.minecraft.core.NonNullList;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.FluidTags;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.inventory.CraftingContainer;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
@@ -17,9 +16,12 @@ import net.minecraft.world.item.crafting.RecipeType;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.material.Fluid;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.tags.IReverseTag;
import javax.annotation.Nullable;
import java.util.*;
import java.util.stream.Collectors;
public class CraftingPatternFactory {
public static final CraftingPatternFactory INSTANCE = new CraftingPatternFactory();
@@ -102,7 +104,13 @@ public class CraftingPatternFactory {
possibilities.add(input.copy());
if (allowedTagList != null) {
Collection<ResourceLocation> tagsOfItem = ItemTags.getAllTags().getMatchingTags(input.getItem());
Collection<ResourceLocation> tagsOfItem = ForgeRegistries.ITEMS
.tags()
.getReverseTag(input.getItem())
.stream()
.flatMap(IReverseTag::getTagKeys)
.map(TagKey::location)
.collect(Collectors.toSet());
Set<ResourceLocation> declaredAllowedTags = allowedTagList.getAllowedItemTags().get(i);
for (ResourceLocation declaredAllowedTag : declaredAllowedTags) {
@@ -115,7 +123,8 @@ public class CraftingPatternFactory {
)
);
} else {
for (Item element : ItemTags.getAllTags().getTag(declaredAllowedTag).getValues()) {
TagKey<Item> tagKey = TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), declaredAllowedTag);
for (Item element : ForgeRegistries.ITEMS.tags().getTag(tagKey)) {
possibilities.add(new ItemStack(element, input.getCount()));
}
}
@@ -141,7 +150,13 @@ public class CraftingPatternFactory {
possibilities.add(input.copy());
if (allowedTagList != null) {
Collection<ResourceLocation> tagsOfFluid = FluidTags.getAllTags().getMatchingTags(input.getFluid());
Collection<ResourceLocation> tagsOfFluid = ForgeRegistries.FLUIDS
.tags()
.getReverseTag(input.getFluid())
.stream()
.flatMap(IReverseTag::getTagKeys)
.map(TagKey::location)
.collect(Collectors.toSet());
Set<ResourceLocation> declaredAllowedTags = allowedTagList.getAllowedFluidTags().get(i);
for (ResourceLocation declaredAllowedTag : declaredAllowedTags) {
@@ -154,7 +169,8 @@ public class CraftingPatternFactory {
)
);
} else {
for (Fluid element : FluidTags.getAllTags().getTag(declaredAllowedTag).getValues()) {
TagKey<Fluid> tagKey = TagKey.create(ForgeRegistries.FLUIDS.getRegistryKey(), declaredAllowedTag);
for (Fluid element : ForgeRegistries.FLUIDS.tags().getTag(tagKey)) {
possibilities.add(new FluidStack(element, input.getAmount()));
}
}

View File

@@ -37,7 +37,7 @@ public class RecipeGenerator extends RecipeProvider {
RSItems.CRAFTING_GRID.forEach((color, item) -> ShapelessRecipeBuilder.shapeless(item.get())
.requires(RSItems.GRID.get(color).get())
.requires(RSItems.PROCESSORS.get(ProcessorItem.Type.ADVANCED).get())
.requires(ItemTags.bind("refinedstorage:crafting_tables"))
.requires(ItemTags.create(new ResourceLocation(RS.ID, "crafting_tables")))
.unlockedBy(GRID_ID, InventoryChangeTrigger.TriggerInstance.hasItems(RSItems.GRID.get(ColorMap.DEFAULT_COLOR).get()))
.save(recipeAcceptor, new ResourceLocation(RS.ID, "crafting_grid/" + item.getId().getPath()))
);

View File

@@ -18,6 +18,7 @@ import net.minecraft.world.level.block.Block;
import net.minecraftforge.common.Tags;
import net.minecraftforge.common.util.Size2i;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.tags.ITag;
import javax.annotation.Nullable;
import java.util.ArrayList;
@@ -47,7 +48,8 @@ public class CoverCraftingCategoryExtension implements ICustomCraftingCategoryEx
}
}
}
ingredients.setInputLists(VanillaTypes.ITEM, Arrays.asList(Tags.Items.NUGGETS_IRON.getValues().stream().map(ItemStack::new).collect(Collectors.toList()), input));
ITag<Item> nuggets = ForgeRegistries.ITEMS.tags().getTag(Tags.Items.NUGGETS_IRON);
ingredients.setInputLists(VanillaTypes.ITEM, Arrays.asList(nuggets.stream().map(ItemStack::new).collect(Collectors.toList()), input));
ingredients.setOutputs(VanillaTypes.ITEM, output);
}
@@ -65,13 +67,14 @@ public class CoverCraftingCategoryExtension implements ICustomCraftingCategoryEx
@Override
public void setRecipe(IRecipeLayout recipeLayout, IIngredients ingredients) {
ITag<Item> nuggets = ForgeRegistries.ITEMS.tags().getTag(Tags.Items.NUGGETS_IRON);
ItemStack stack = recipeLayout.getFocus(VanillaTypes.ITEM).getValue();
if (stack.getItem() instanceof CoverItem) {
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(4, Tags.Items.NUGGETS_IRON.getValues().stream().map(ItemStack::new).collect(Collectors.toList()));
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(4, nuggets.stream().map(ItemStack::new).collect(Collectors.toList()));
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(5, CoverItem.getItem(stack));
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(0, stack);
} else {
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(4, Tags.Items.NUGGETS_IRON.getValues().stream().map(ItemStack::new).collect(Collectors.toList()));
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(4, nuggets.stream().map(ItemStack::new).collect(Collectors.toList()));
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(5, stack);
ItemStack output = new ItemStack(RSItems.COVER.get());
CoverItem.setItem(output, stack);

View File

@@ -18,20 +18,19 @@ import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.FluidTags;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.material.Fluid;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.tags.IReverseTag;
import org.lwjgl.glfw.GLFW;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
public class AlternativesScreen extends BaseScreen<AlternativesContainerMenu> {
private static final int VISIBLE_ROWS = 5;
@@ -78,14 +77,21 @@ public class AlternativesScreen extends BaseScreen<AlternativesContainerMenu> {
if (item != null) {
lines.add(new ItemLine(item));
for (ResourceLocation owningTag : ItemTags.getAllTags().getMatchingTags(item.getItem())) {
lines.add(new TagLine(owningTag, GridBlockEntity.ALLOWED_ITEM_TAGS.getValue().get(slot).contains(owningTag)));
Collection<TagKey<Item>> tagsOfItem = ForgeRegistries.ITEMS
.tags()
.getReverseTag(item.getItem())
.stream()
.flatMap(IReverseTag::getTagKeys)
.collect(Collectors.toSet());
for (TagKey<Item> owningTag : tagsOfItem) {
lines.add(new TagLine(owningTag.location(), GridBlockEntity.ALLOWED_ITEM_TAGS.getValue().get(slot).contains(owningTag.location())));
int itemCount = 0;
ItemListLine line = new ItemListLine();
for (Item itemInTag : ItemTags.getAllTags().getTag(owningTag).getValues()) {
for (Item itemInTag : ForgeRegistries.ITEMS.tags().getTag(owningTag)) {
if (itemCount > 0 && itemCount % 8 == 0) {
lines.add(line);
line = new ItemListLine();
@@ -101,14 +107,21 @@ public class AlternativesScreen extends BaseScreen<AlternativesContainerMenu> {
} else if (fluid != null) {
lines.add(new FluidLine(fluid));
for (ResourceLocation owningTag : FluidTags.getAllTags().getMatchingTags(fluid.getFluid())) {
lines.add(new TagLine(owningTag, GridBlockEntity.ALLOWED_FLUID_TAGS.getValue().get(slot).contains(owningTag)));
Collection<TagKey<Fluid>> tagsOfFluid = ForgeRegistries.FLUIDS
.tags()
.getReverseTag(fluid.getFluid())
.stream()
.flatMap(IReverseTag::getTagKeys)
.collect(Collectors.toSet());
for (TagKey<Fluid> owningTag : tagsOfFluid) {
lines.add(new TagLine(owningTag.location(), GridBlockEntity.ALLOWED_FLUID_TAGS.getValue().get(slot).contains(owningTag.location())));
int fluidCount = 0;
FluidListLine line = new FluidListLine();
for (Fluid fluidInTag : FluidTags.getAllTags().getTag(owningTag).getValues()) {
for (Fluid fluidInTag : ForgeRegistries.FLUIDS.tags().getTag(owningTag)) {
if (fluidCount > 0 && fluidCount % 8 == 0) {
lines.add(line);
line = new FluidListLine();

View File

@@ -11,13 +11,18 @@ import net.minecraft.client.resources.language.I18n;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.FluidTags;
import net.minecraft.tags.TagKey;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.tags.IReverseTag;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import javax.annotation.Nullable;
import java.util.*;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors;
public class FluidGridStack implements IGridStack {
private static final String ERROR_PLACEHOLDER = "<Error>";
@@ -121,11 +126,14 @@ public class FluidGridStack implements IGridStack {
@Override
public Set<String> getTags() {
if (cachedTags == null) {
cachedTags = new HashSet<>();
for (ResourceLocation owningTag : FluidTags.getAllTags().getMatchingTags(stack.getFluid())) {
cachedTags.add(owningTag.getPath());
}
cachedTags = ForgeRegistries.FLUIDS
.tags()
.getReverseTag(stack.getFluid())
.stream()
.flatMap(IReverseTag::getTagKeys)
.map(TagKey::location)
.map(ResourceLocation::getPath)
.collect(Collectors.toSet());
}
return cachedTags;

View File

@@ -10,15 +10,18 @@ import net.minecraft.client.resources.language.I18n;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.fml.ModContainer;
import net.minecraftforge.fml.ModList;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.tags.IReverseTag;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import javax.annotation.Nullable;
import java.util.*;
import java.util.stream.Collectors;
public class ItemGridStack implements IGridStack {
private static final String ERROR_PLACEHOLDER = "<Error>";
@@ -133,11 +136,14 @@ public class ItemGridStack implements IGridStack {
@Override
public Set<String> getTags() {
if (cachedTags == null) {
cachedTags = new HashSet<>();
for (ResourceLocation owningTag : ItemTags.getAllTags().getMatchingTags(stack.getItem())) {
cachedTags.add(owningTag.getPath());
}
cachedTags = ForgeRegistries.ITEMS
.tags()
.getReverseTag(stack.getItem())
.stream()
.flatMap(IReverseTag::getTagKeys)
.map(TagKey::location)
.map(ResourceLocation::getPath)
.collect(Collectors.toSet());
}
return cachedTags;

View File

@@ -2,6 +2,7 @@ package com.refinedmods.refinedstorage.setup;
import com.refinedmods.refinedstorage.RS;
import com.refinedmods.refinedstorage.RSBlocks;
import com.refinedmods.refinedstorage.RSLootFunctions;
import com.refinedmods.refinedstorage.api.network.NetworkType;
import com.refinedmods.refinedstorage.api.network.grid.GridType;
import com.refinedmods.refinedstorage.api.network.node.INetworkNode;
@@ -30,6 +31,11 @@ import com.refinedmods.refinedstorage.apiimpl.storage.disk.factory.ItemStorageDi
import com.refinedmods.refinedstorage.apiimpl.storage.externalstorage.FluidExternalStorageProvider;
import com.refinedmods.refinedstorage.apiimpl.storage.externalstorage.ItemExternalStorageProvider;
import com.refinedmods.refinedstorage.block.BlockListener;
import com.refinedmods.refinedstorage.blockentity.*;
import com.refinedmods.refinedstorage.blockentity.craftingmonitor.CraftingMonitorBlockEntity;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationManager;
import com.refinedmods.refinedstorage.blockentity.grid.GridBlockEntity;
import com.refinedmods.refinedstorage.blockentity.grid.portable.PortableGridBlockEntity;
import com.refinedmods.refinedstorage.container.*;
import com.refinedmods.refinedstorage.container.factory.*;
import com.refinedmods.refinedstorage.integration.craftingtweaks.CraftingTweaksIntegration;
@@ -38,11 +44,6 @@ import com.refinedmods.refinedstorage.item.blockitem.PortableGridBlockItem;
import com.refinedmods.refinedstorage.recipe.CoverRecipe;
import com.refinedmods.refinedstorage.recipe.HollowCoverRecipe;
import com.refinedmods.refinedstorage.recipe.UpgradeWithEnchantedBookRecipeSerializer;
import com.refinedmods.refinedstorage.blockentity.*;
import com.refinedmods.refinedstorage.blockentity.craftingmonitor.CraftingMonitorBlockEntity;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationManager;
import com.refinedmods.refinedstorage.blockentity.grid.GridBlockEntity;
import com.refinedmods.refinedstorage.blockentity.grid.portable.PortableGridBlockEntity;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.resources.ResourceLocation;
@@ -158,6 +159,9 @@ public final class CommonSetup {
@SubscribeEvent
public static void onRegisterBlockEntities(RegistryEvent.Register<BlockEntityType<?>> e) {
// Register here, there seems to be no specific register event for loot function types.
RSLootFunctions.register();
e.getRegistry().register(registerSynchronizationParameters(BlockEntityType.Builder.of((pos, state) -> new ControllerBlockEntity(NetworkType.NORMAL, pos, state), RSBlocks.CONTROLLER.getBlocks()).build(null).setRegistryName(RS.ID, "controller")));
e.getRegistry().register(registerSynchronizationParameters(BlockEntityType.Builder.of((pos, state) -> new ControllerBlockEntity(NetworkType.CREATIVE, pos, state), RSBlocks.CREATIVE_CONTROLLER.getBlocks()).build(null).setRegistryName(RS.ID, "creative_controller")));
e.getRegistry().register(BlockEntityType.Builder.of(CableBlockEntity::new, RSBlocks.CABLE.get()).build(null).setRegistryName(RS.ID, "cable"));

View File

@@ -87,7 +87,7 @@ public class ColorMap<T extends IForgeRegistryEntry<? super T>> {
map.put(color, registerBlockItemFor(block, color, originalBlock));
}
}));
RSItems.COLORED_ITEM_TAGS.put(ItemTags.createOptional(new ResourceLocation(RS.ID, blockMap.get(DEFAULT_COLOR).getId().getPath())), (ColorMap<BlockItem>) this);
RSItems.COLORED_ITEM_TAGS.put(ItemTags.create(new ResourceLocation(RS.ID, blockMap.get(DEFAULT_COLOR).getId().getPath())), (ColorMap<BlockItem>) this);
}
private <S extends BaseBlock> RegistryObject<T> registerBlockItemFor(RegistryObject<S> block, DyeColor color, RegistryObject<S> translationBlock) {

View File

@@ -1,5 +1,5 @@
modLoader = "javafml"
loaderVersion = "[39,)"
loaderVersion = "[40,)"
issueTrackerURL = "https://github.com/refinedmods/refinedstorage"
license="MIT"
[[mods]]

View File

@@ -1,6 +1,6 @@
{
"pack": {
"description": "Refined Storage resources",
"pack_format": 8
"pack_format": 9
}
}