Added cover recipes
This commit is contained in:
@@ -0,0 +1,84 @@
|
|||||||
|
package com.refinedmods.refinedstorage.integration.jei;
|
||||||
|
|
||||||
|
import com.refinedmods.refinedstorage.RSItems;
|
||||||
|
import com.refinedmods.refinedstorage.apiimpl.network.node.cover.CoverManager;
|
||||||
|
import com.refinedmods.refinedstorage.item.CoverItem;
|
||||||
|
import com.refinedmods.refinedstorage.recipe.CoverRecipe;
|
||||||
|
import mezz.jei.api.constants.VanillaTypes;
|
||||||
|
import mezz.jei.api.gui.IRecipeLayout;
|
||||||
|
import mezz.jei.api.ingredients.IIngredients;
|
||||||
|
import mezz.jei.api.recipe.category.extensions.vanilla.crafting.ICraftingCategoryExtension;
|
||||||
|
import mezz.jei.api.recipe.category.extensions.vanilla.crafting.ICustomCraftingCategoryExtension;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.Blocks;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemGroup;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.Items;
|
||||||
|
import net.minecraft.util.NonNullList;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import net.minecraftforge.common.Tags;
|
||||||
|
import net.minecraftforge.common.util.Size2i;
|
||||||
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
public class CoverCraftingCategoryExtension implements ICustomCraftingCategoryExtension {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setIngredients(IIngredients ingredients) {
|
||||||
|
List<ItemStack> input = new ArrayList<>();
|
||||||
|
List<ItemStack> output = new ArrayList<>();
|
||||||
|
for (Block block : ForgeRegistries.BLOCKS.getValues()) {
|
||||||
|
Item item = Item.getItemFromBlock(block);
|
||||||
|
if (item == Items.AIR) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
NonNullList<ItemStack> subBlocks = NonNullList.create();
|
||||||
|
block.fillItemGroup(ItemGroup.SEARCH, subBlocks);
|
||||||
|
for (ItemStack subBlock : subBlocks) {
|
||||||
|
if (CoverManager.isValidCover(subBlock)) {
|
||||||
|
input.add(subBlock);
|
||||||
|
ItemStack stack = new ItemStack(RSItems.COVER.get());
|
||||||
|
CoverItem.setItem(stack, subBlock);
|
||||||
|
output.add(stack);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ingredients.setInputLists(VanillaTypes.ITEM, Arrays.asList(Tags.Items.NUGGETS_IRON.getAllElements().stream().map(ItemStack::new).collect(Collectors.toList()), input));
|
||||||
|
ingredients.setOutputs(VanillaTypes.ITEM, output);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public Size2i getSize() {
|
||||||
|
return new Size2i(2, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getRegistryName() {
|
||||||
|
return CoverRecipe.SERIALIZER.getRegistryName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setRecipe(IRecipeLayout recipeLayout, IIngredients ingredients) {
|
||||||
|
ItemStack stack = recipeLayout.getFocus(VanillaTypes.ITEM).getValue();
|
||||||
|
if (stack.getItem() instanceof CoverItem){
|
||||||
|
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(4, Tags.Items.NUGGETS_IRON.getAllElements().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.getAllElements().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);
|
||||||
|
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(0, output);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,67 @@
|
|||||||
|
package com.refinedmods.refinedstorage.integration.jei;
|
||||||
|
|
||||||
|
import com.refinedmods.refinedstorage.RSItems;
|
||||||
|
import com.refinedmods.refinedstorage.apiimpl.network.node.cover.CoverManager;
|
||||||
|
import com.refinedmods.refinedstorage.item.CoverItem;
|
||||||
|
import com.refinedmods.refinedstorage.recipe.CoverRecipe;
|
||||||
|
import com.refinedmods.refinedstorage.recipe.HollowCoverRecipe;
|
||||||
|
import mezz.jei.api.constants.VanillaTypes;
|
||||||
|
import mezz.jei.api.gui.IRecipeLayout;
|
||||||
|
import mezz.jei.api.ingredients.IIngredients;
|
||||||
|
import mezz.jei.api.recipe.category.extensions.vanilla.crafting.ICustomCraftingCategoryExtension;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemGroup;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.Items;
|
||||||
|
import net.minecraft.util.NonNullList;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import net.minecraftforge.common.Tags;
|
||||||
|
import net.minecraftforge.common.util.Size2i;
|
||||||
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
public class HollowCoverCraftingCategoryExtension implements ICustomCraftingCategoryExtension {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setIngredients(IIngredients ingredients) {
|
||||||
|
ingredients.setInput(VanillaTypes.ITEM, new ItemStack(RSItems.COVER.get()));
|
||||||
|
ingredients.setOutput(VanillaTypes.ITEM, new ItemStack(RSItems.HOLLOW_COVER.get()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public Size2i getSize() {
|
||||||
|
return new Size2i(2, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getRegistryName() {
|
||||||
|
return HollowCoverRecipe.SERIALIZER.getRegistryName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setRecipe(IRecipeLayout recipeLayout, IIngredients ingredients) {
|
||||||
|
ItemStack stack = recipeLayout.getFocus(VanillaTypes.ITEM).getValue();
|
||||||
|
|
||||||
|
if (stack.getItem() == RSItems.COVER.get()){
|
||||||
|
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(5, stack);
|
||||||
|
ItemStack output = new ItemStack(RSItems.HOLLOW_COVER.get());
|
||||||
|
CoverItem.setItem(output, CoverItem.getItem(stack));
|
||||||
|
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(0, output);
|
||||||
|
}else {
|
||||||
|
ItemStack input = new ItemStack(RSItems.COVER.get());
|
||||||
|
CoverItem.setItem(input, CoverItem.getItem(stack));
|
||||||
|
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(5, input);
|
||||||
|
|
||||||
|
recipeLayout.getIngredientsGroup(VanillaTypes.ITEM).set(0, stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@@ -2,15 +2,18 @@ package com.refinedmods.refinedstorage.integration.jei;
|
|||||||
|
|
||||||
import com.refinedmods.refinedstorage.RS;
|
import com.refinedmods.refinedstorage.RS;
|
||||||
import com.refinedmods.refinedstorage.RSItems;
|
import com.refinedmods.refinedstorage.RSItems;
|
||||||
|
import com.refinedmods.refinedstorage.recipe.CoverRecipe;
|
||||||
|
import com.refinedmods.refinedstorage.recipe.HollowCoverRecipe;
|
||||||
import com.refinedmods.refinedstorage.screen.BaseScreen;
|
import com.refinedmods.refinedstorage.screen.BaseScreen;
|
||||||
import mezz.jei.api.IModPlugin;
|
import mezz.jei.api.IModPlugin;
|
||||||
import mezz.jei.api.JeiPlugin;
|
import mezz.jei.api.JeiPlugin;
|
||||||
import mezz.jei.api.registration.IGuiHandlerRegistration;
|
import mezz.jei.api.constants.VanillaRecipeCategoryUid;
|
||||||
import mezz.jei.api.registration.IRecipeTransferRegistration;
|
import mezz.jei.api.registration.*;
|
||||||
import mezz.jei.api.registration.ISubtypeRegistration;
|
|
||||||
import mezz.jei.api.runtime.IJeiRuntime;
|
import mezz.jei.api.runtime.IJeiRuntime;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
@JeiPlugin
|
@JeiPlugin
|
||||||
public class RSJeiPlugin implements IModPlugin {
|
public class RSJeiPlugin implements IModPlugin {
|
||||||
private static final ResourceLocation ID = new ResourceLocation(RS.ID, "plugin");
|
private static final ResourceLocation ID = new ResourceLocation(RS.ID, "plugin");
|
||||||
@@ -46,4 +49,10 @@ public class RSJeiPlugin implements IModPlugin {
|
|||||||
public void registerItemSubtypes(ISubtypeRegistration registration) {
|
public void registerItemSubtypes(ISubtypeRegistration registration) {
|
||||||
registration.useNbtForSubtypes(RSItems.COVER.get(), RSItems.HOLLOW_COVER.get());
|
registration.useNbtForSubtypes(RSItems.COVER.get(), RSItems.HOLLOW_COVER.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerVanillaCategoryExtensions(IVanillaCategoryExtensionRegistration registration) {
|
||||||
|
registration.getCraftingCategory().addCategoryExtension(CoverRecipe.class, (cover) -> new CoverCraftingCategoryExtension());
|
||||||
|
registration.getCraftingCategory().addCategoryExtension(HollowCoverRecipe.class, (cover) -> new HollowCoverCraftingCategoryExtension());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -21,6 +21,8 @@ import net.minecraft.util.Direction;
|
|||||||
import net.minecraft.util.NonNullList;
|
import net.minecraft.util.NonNullList;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.text.ITextComponent;
|
import net.minecraft.util.text.ITextComponent;
|
||||||
|
import net.minecraft.util.text.TextComponent;
|
||||||
|
import net.minecraft.util.text.TextFormatting;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.server.ServerWorld;
|
import net.minecraft.world.server.ServerWorld;
|
||||||
import net.minecraftforge.client.model.ModelDataManager;
|
import net.minecraftforge.client.model.ModelDataManager;
|
||||||
@@ -45,8 +47,9 @@ public class CoverItem extends Item {
|
|||||||
if (!cover.hasTag()) {
|
if (!cover.hasTag()) {
|
||||||
cover.setTag(new CompoundNBT());
|
cover.setTag(new CompoundNBT());
|
||||||
}
|
}
|
||||||
|
ItemStack result = item.copy();
|
||||||
cover.getTag().put(NBT_ITEM, item.serializeNBT());
|
result.setCount(1);
|
||||||
|
cover.getTag().put(NBT_ITEM, result.serializeNBT());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
@@ -64,7 +67,7 @@ public class CoverItem extends Item {
|
|||||||
ItemStack item = getItem(stack);
|
ItemStack item = getItem(stack);
|
||||||
|
|
||||||
if (!item.isEmpty()) {
|
if (!item.isEmpty()) {
|
||||||
tooltip.add(item.getItem().getDisplayName(item));
|
tooltip.add(((TextComponent)item.getItem().getDisplayName(item)).mergeStyle(TextFormatting.GRAY));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -0,0 +1,111 @@
|
|||||||
|
package com.refinedmods.refinedstorage.recipe;
|
||||||
|
|
||||||
|
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
|
import com.refinedmods.refinedstorage.RSItems;
|
||||||
|
import com.refinedmods.refinedstorage.apiimpl.network.node.cover.Cover;
|
||||||
|
import com.refinedmods.refinedstorage.apiimpl.network.node.cover.CoverManager;
|
||||||
|
import com.refinedmods.refinedstorage.item.CoverItem;
|
||||||
|
import com.refinedmods.refinedstorage.item.WrenchItem;
|
||||||
|
import net.minecraft.inventory.CraftingInventory;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.crafting.IRecipeSerializer;
|
||||||
|
import net.minecraft.item.crafting.SpecialRecipe;
|
||||||
|
import net.minecraft.item.crafting.SpecialRecipeSerializer;
|
||||||
|
import net.minecraft.tags.ItemTags;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.Tags;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class CoverRecipe extends SpecialRecipe {
|
||||||
|
|
||||||
|
public static IRecipeSerializer<CoverRecipe> SERIALIZER = new SpecialRecipeSerializer<>(CoverRecipe::new);
|
||||||
|
|
||||||
|
public CoverRecipe(ResourceLocation idIn) {
|
||||||
|
super(idIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean stackMatches(ItemStack first) {
|
||||||
|
return CoverManager.isValidCover(first);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean matches(List<ItemStack> list) {
|
||||||
|
return list.size() == 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemStack getResult(List<ItemStack> list) {
|
||||||
|
if (list.size() == 2) {
|
||||||
|
ItemStack first = list.get(0);
|
||||||
|
ItemStack second = list.get(1);
|
||||||
|
return getResult(first, second);
|
||||||
|
}
|
||||||
|
return ItemStack.EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemStack getResult(ItemStack first, ItemStack second){
|
||||||
|
if (first.getItem().isIn(Tags.Items.NUGGETS_IRON)){
|
||||||
|
ItemStack stack = new ItemStack(RSItems.COVER.get());
|
||||||
|
CoverItem.setItem(stack, second);
|
||||||
|
stack.setCount(6);
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
|
if (second.getItem().isIn(Tags.Items.NUGGETS_IRON)){
|
||||||
|
ItemStack stack = new ItemStack(RSItems.COVER.get());
|
||||||
|
CoverItem.setItem(stack, first);
|
||||||
|
stack.setCount(6);
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
|
return ItemStack.EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean matches(CraftingInventory inv, World worldIn) {
|
||||||
|
List<ItemStack> list = Lists.newArrayList();
|
||||||
|
int ingots = 0;
|
||||||
|
for (int i = 0; i < inv.getSizeInventory(); ++i) {
|
||||||
|
ItemStack itemstack = inv.getStackInSlot(i);
|
||||||
|
if (!itemstack.isEmpty()) {
|
||||||
|
list.add(itemstack);
|
||||||
|
if (itemstack.getItem().isIn(Tags.Items.NUGGETS_IRON)){
|
||||||
|
++ingots;
|
||||||
|
} else if (!stackMatches(itemstack)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return matches(list) && ingots == 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack getCraftingResult(CraftingInventory inv) {
|
||||||
|
List<ItemStack> list = Lists.newArrayList();
|
||||||
|
int ingots = 0;
|
||||||
|
for (int i = 0; i < inv.getSizeInventory(); ++i) {
|
||||||
|
ItemStack itemstack = inv.getStackInSlot(i);
|
||||||
|
if (!itemstack.isEmpty()) {
|
||||||
|
list.add(itemstack);
|
||||||
|
if (itemstack.getItem().isIn(Tags.Items.NUGGETS_IRON)){
|
||||||
|
++ingots;
|
||||||
|
} else if (!stackMatches(itemstack)){
|
||||||
|
return ItemStack.EMPTY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ingots > 1){
|
||||||
|
return ItemStack.EMPTY;
|
||||||
|
}
|
||||||
|
return getResult(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canFit(int width, int height) {
|
||||||
|
return width * height >= 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IRecipeSerializer<?> getSerializer() {
|
||||||
|
return SERIALIZER;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,89 @@
|
|||||||
|
package com.refinedmods.refinedstorage.recipe;
|
||||||
|
|
||||||
|
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
|
import com.refinedmods.refinedstorage.RSItems;
|
||||||
|
import com.refinedmods.refinedstorage.apiimpl.network.node.cover.CoverManager;
|
||||||
|
import com.refinedmods.refinedstorage.item.CoverItem;
|
||||||
|
import net.minecraft.inventory.CraftingInventory;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.crafting.IRecipeSerializer;
|
||||||
|
import net.minecraft.item.crafting.SpecialRecipe;
|
||||||
|
import net.minecraft.item.crafting.SpecialRecipeSerializer;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.Tags;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class HollowCoverRecipe extends SpecialRecipe {
|
||||||
|
|
||||||
|
public static IRecipeSerializer<HollowCoverRecipe> SERIALIZER = new SpecialRecipeSerializer<>(HollowCoverRecipe::new);
|
||||||
|
|
||||||
|
public HollowCoverRecipe(ResourceLocation idIn) {
|
||||||
|
super(idIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean stackMatches(ItemStack first) {
|
||||||
|
return first.getItem() == RSItems.COVER.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean matches(List<ItemStack> list) {
|
||||||
|
return list.size() == 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemStack getResult(List<ItemStack> list) {
|
||||||
|
if (list.size() == 1) {
|
||||||
|
ItemStack first = list.get(0);
|
||||||
|
return getResult(first);
|
||||||
|
}
|
||||||
|
return ItemStack.EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemStack getResult(ItemStack first){
|
||||||
|
ItemStack stack = CoverItem.getItem(first);
|
||||||
|
ItemStack result = new ItemStack(RSItems.HOLLOW_COVER.get());
|
||||||
|
CoverItem.setItem(result, stack);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean matches(CraftingInventory inv, World worldIn) {
|
||||||
|
List<ItemStack> list = Lists.newArrayList();
|
||||||
|
for (int i = 0; i < inv.getSizeInventory(); ++i) {
|
||||||
|
ItemStack itemstack = inv.getStackInSlot(i);
|
||||||
|
if (!itemstack.isEmpty()) {
|
||||||
|
list.add(itemstack);
|
||||||
|
if (!stackMatches(itemstack)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return matches(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack getCraftingResult(CraftingInventory inv) {
|
||||||
|
List<ItemStack> list = Lists.newArrayList();
|
||||||
|
for (int i = 0; i < inv.getSizeInventory(); ++i) {
|
||||||
|
ItemStack itemstack = inv.getStackInSlot(i);
|
||||||
|
if (!itemstack.isEmpty()) {
|
||||||
|
list.add(itemstack);
|
||||||
|
if (!stackMatches(itemstack)){
|
||||||
|
return ItemStack.EMPTY;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return getResult(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canFit(int width, int height) {
|
||||||
|
return width * height >= 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IRecipeSerializer<?> getSerializer() {
|
||||||
|
return SERIALIZER;
|
||||||
|
}
|
||||||
|
}
|
@@ -35,6 +35,8 @@ import com.refinedmods.refinedstorage.container.factory.*;
|
|||||||
import com.refinedmods.refinedstorage.integration.craftingtweaks.CraftingTweaksIntegration;
|
import com.refinedmods.refinedstorage.integration.craftingtweaks.CraftingTweaksIntegration;
|
||||||
import com.refinedmods.refinedstorage.integration.inventorysorter.InventorySorterIntegration;
|
import com.refinedmods.refinedstorage.integration.inventorysorter.InventorySorterIntegration;
|
||||||
import com.refinedmods.refinedstorage.item.blockitem.PortableGridBlockItem;
|
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.recipe.UpgradeWithEnchantedBookRecipeSerializer;
|
||||||
import com.refinedmods.refinedstorage.tile.*;
|
import com.refinedmods.refinedstorage.tile.*;
|
||||||
import com.refinedmods.refinedstorage.tile.craftingmonitor.CraftingMonitorTile;
|
import com.refinedmods.refinedstorage.tile.craftingmonitor.CraftingMonitorTile;
|
||||||
@@ -46,6 +48,7 @@ import net.minecraft.item.crafting.IRecipeSerializer;
|
|||||||
import net.minecraft.nbt.CompoundNBT;
|
import net.minecraft.nbt.CompoundNBT;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.tileentity.TileEntityType;
|
import net.minecraft.tileentity.TileEntityType;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.common.extensions.IForgeContainerType;
|
import net.minecraftforge.common.extensions.IForgeContainerType;
|
||||||
import net.minecraftforge.event.RegistryEvent;
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
@@ -141,6 +144,8 @@ public class CommonSetup {
|
|||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onRegisterRecipeSerializers(RegistryEvent.Register<IRecipeSerializer<?>> e) {
|
public void onRegisterRecipeSerializers(RegistryEvent.Register<IRecipeSerializer<?>> e) {
|
||||||
e.getRegistry().register(new UpgradeWithEnchantedBookRecipeSerializer().setRegistryName(RS.ID, "upgrade_with_enchanted_book"));
|
e.getRegistry().register(new UpgradeWithEnchantedBookRecipeSerializer().setRegistryName(RS.ID, "upgrade_with_enchanted_book"));
|
||||||
|
e.getRegistry().register(CoverRecipe.SERIALIZER.setRegistryName(new ResourceLocation(RS.ID, "cover_recipe")));
|
||||||
|
e.getRegistry().register(HollowCoverRecipe.SERIALIZER.setRegistryName(new ResourceLocation(RS.ID, "hollow_cover_recipe")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
|
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"type": "refinedstorage:cover_recipe"
|
||||||
|
}
|
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"type": "refinedstorage:hollow_cover_recipe"
|
||||||
|
}
|
Reference in New Issue
Block a user