diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 5410d5be9..8a4ccb503 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'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 diff --git a/CHANGELOG.md b/CHANGELOG.md index 556698125..0a801a0a9 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,11 +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 diff --git a/LICENSE.md b/LICENSE.md index aa5a93b25..0ad0fa679 100755 --- a/LICENSE.md +++ b/LICENSE.md @@ -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 diff --git a/build.gradle b/build.gradle index da64d176c..3224c8ecf 100755 --- a/build.gradle +++ b/build.gradle @@ -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" } diff --git a/src/main/java/com/refinedmods/refinedstorage/RS.java b/src/main/java/com/refinedmods/refinedstorage/RS.java index a6a48c117..5c54ddc46 100644 --- a/src/main/java/com/refinedmods/refinedstorage/RS.java +++ b/src/main/java/com/refinedmods/refinedstorage/RS.java @@ -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); diff --git a/src/main/java/com/refinedmods/refinedstorage/RSItems.java b/src/main/java/com/refinedmods/refinedstorage/RSItems.java index b28a3b69c..dfef761f5 100644 --- a/src/main/java/com/refinedmods/refinedstorage/RSItems.java +++ b/src/main/java/com/refinedmods/refinedstorage/RSItems.java @@ -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> UPGRADE_ITEMS = new EnumMap<>(UpgradeItem.Type.class); - public static final Map, ColorMap> COLORED_ITEM_TAGS = new HashMap<>(); + public static final Map, ColorMap> COLORED_ITEM_TAGS = new HashMap<>(); private static final List 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) -> { diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/CraftingPatternFactory.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/CraftingPatternFactory.java index 48af388d4..3ef5fa45b 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/CraftingPatternFactory.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/CraftingPatternFactory.java @@ -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 tagsOfItem = ItemTags.getAllTags().getMatchingTags(input.getItem()); + Collection tagsOfItem = ForgeRegistries.ITEMS + .tags() + .getReverseTag(input.getItem()) + .stream() + .flatMap(IReverseTag::getTagKeys) + .map(TagKey::location) + .collect(Collectors.toSet()); Set 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 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 tagsOfFluid = FluidTags.getAllTags().getMatchingTags(input.getFluid()); + Collection tagsOfFluid = ForgeRegistries.FLUIDS + .tags() + .getReverseTag(input.getFluid()) + .stream() + .flatMap(IReverseTag::getTagKeys) + .map(TagKey::location) + .collect(Collectors.toSet()); Set 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 tagKey = TagKey.create(ForgeRegistries.FLUIDS.getRegistryKey(), declaredAllowedTag); + for (Fluid element : ForgeRegistries.FLUIDS.tags().getTag(tagKey)) { possibilities.add(new FluidStack(element, input.getAmount())); } } diff --git a/src/main/java/com/refinedmods/refinedstorage/datageneration/RecipeGenerator.java b/src/main/java/com/refinedmods/refinedstorage/datageneration/RecipeGenerator.java index 081d64835..87c1761a2 100644 --- a/src/main/java/com/refinedmods/refinedstorage/datageneration/RecipeGenerator.java +++ b/src/main/java/com/refinedmods/refinedstorage/datageneration/RecipeGenerator.java @@ -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())) ); diff --git a/src/main/java/com/refinedmods/refinedstorage/integration/jei/CoverCraftingCategoryExtension.java b/src/main/java/com/refinedmods/refinedstorage/integration/jei/CoverCraftingCategoryExtension.java index 8a56de826..95063fcd4 100644 --- a/src/main/java/com/refinedmods/refinedstorage/integration/jei/CoverCraftingCategoryExtension.java +++ b/src/main/java/com/refinedmods/refinedstorage/integration/jei/CoverCraftingCategoryExtension.java @@ -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 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 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); diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/AlternativesScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/AlternativesScreen.java index 784157da0..5a1f3cccc 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/AlternativesScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/AlternativesScreen.java @@ -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 { private static final int VISIBLE_ROWS = 5; @@ -78,14 +77,21 @@ public class AlternativesScreen extends BaseScreen { 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> tagsOfItem = ForgeRegistries.ITEMS + .tags() + .getReverseTag(item.getItem()) + .stream() + .flatMap(IReverseTag::getTagKeys) + .collect(Collectors.toSet()); + + for (TagKey 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 { } 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> tagsOfFluid = ForgeRegistries.FLUIDS + .tags() + .getReverseTag(fluid.getFluid()) + .stream() + .flatMap(IReverseTag::getTagKeys) + .collect(Collectors.toSet()); + + for (TagKey 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(); diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/FluidGridStack.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/FluidGridStack.java index 6d6c56bcb..f50908f24 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/FluidGridStack.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/FluidGridStack.java @@ -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 = ""; @@ -121,11 +126,14 @@ public class FluidGridStack implements IGridStack { @Override public Set 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; diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/ItemGridStack.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/ItemGridStack.java index 214274d99..1150e1d83 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/ItemGridStack.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/ItemGridStack.java @@ -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 = ""; @@ -133,11 +136,14 @@ public class ItemGridStack implements IGridStack { @Override public Set 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; diff --git a/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java b/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java index e851e4ba7..57d08073b 100644 --- a/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java +++ b/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java @@ -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> 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")); diff --git a/src/main/java/com/refinedmods/refinedstorage/util/ColorMap.java b/src/main/java/com/refinedmods/refinedstorage/util/ColorMap.java index 4884cd8d5..edba36433 100644 --- a/src/main/java/com/refinedmods/refinedstorage/util/ColorMap.java +++ b/src/main/java/com/refinedmods/refinedstorage/util/ColorMap.java @@ -87,7 +87,7 @@ public class ColorMap> { 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) this); + RSItems.COLORED_ITEM_TAGS.put(ItemTags.create(new ResourceLocation(RS.ID, blockMap.get(DEFAULT_COLOR).getId().getPath())), (ColorMap) this); } private RegistryObject registerBlockItemFor(RegistryObject block, DyeColor color, RegistryObject translationBlock) { diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 1c4360c7f..de6a82fec 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader = "javafml" -loaderVersion = "[39,)" +loaderVersion = "[40,)" issueTrackerURL = "https://github.com/refinedmods/refinedstorage" license="MIT" [[mods]] diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index b9d2c5b42..6918715ee 100644 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -1,6 +1,6 @@ { "pack": { "description": "Refined Storage resources", - "pack_format": 8 + "pack_format": 9 } }