LtxProgrammer / Changed-Minecraft-Mod

A Changed experience in the world of Minecraft.
MIT License
26 stars 32 forks source link

code error[0.14.0] #942

Closed gengyoubo closed 2 weeks ago

gengyoubo commented 2 weeks ago

InfuserRecipeCategory.java `package net.ltxprogrammer.changed.extension.jei;

import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; import mezz.jei.api.gui.drawable.IDrawable; import mezz.jei.api.gui.ingredient.ICraftingGridHelper; import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.recipe.IFocusGroup; import mezz.jei.api.recipe.category.IRecipeCategory; import net.ltxprogrammer.changed.Changed; import net.ltxprogrammer.changed.init.ChangedBlocks; import net.ltxprogrammer.changed.recipe.InfuserRecipe; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack;

import java.util.ArrayList; import java.util.Arrays; import java.util.List;

public class InfuserRecipeCategory implements IRecipeCategory { private static final int craftOutputSlot = 0; private static final int craftInputSlot1 = 1;

public static final int WIDTH = 116;
public static final int HEIGHT = 54;

private final IDrawable background;
private final IDrawable icon;
private final TranslatableComponent localizedName;
private final ICraftingGridHelper craftingGridHelper;

public InfuserRecipeCategory(IGuiHelper guiHelper) {
    ResourceLocation location = new ResourceLocation("jei", "textures/gui/gui_vanilla.png");
    background = guiHelper.createDrawable(location, 0, 60, WIDTH, HEIGHT);
    icon = guiHelper.createDrawableIngredient(VanillaTypes.ITEM_STACK, new ItemStack(ChangedBlocks.INFUSER.get()));
    localizedName = new TranslatableComponent("container.changed.infuser");
    craftingGridHelper = guiHelper.createCraftingGridHelper(craftInputSlot1);
}

@Override
public Component getTitle() {
    return localizedName;
}

@Override
public IDrawable getBackground() {
    return background;
}

@Override
public IDrawable getIcon() {
    return icon;
}

@Override
public ResourceLocation **getUid**() {
    return Changed.modResource("infuser_recipe");
}

@Override
public Class<? extends InfuserRecipe> **getRecipeClass**() {
    return InfuserRecipe.class;
}

@Override
public void setRecipe(IRecipeLayoutBuilder builder, InfuserRecipe recipe, IFocusGroup focuses) {
    var ingredients = recipe.getIngredients();
    List<List<ItemStack>> grid = new ArrayList<>();

    for (int idx = 0; idx < ingredients.size(); ++idx)
        grid.add(Arrays.asList(ingredients.get(idx).getItems()));

    craftingGridHelper.setInputs(builder, VanillaTypes.ITEM_STACK, grid, 3, 3);
    craftingGridHelper.setOutputs(builder, VanillaTypes.ITEM_STACK, recipe.getPossibleResults());
}

} and PurifierRecipeCategory.java package net.ltxprogrammer.changed.extension.jei;

import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; import mezz.jei.api.gui.drawable.IDrawable; import mezz.jei.api.gui.ingredient.ICraftingGridHelper; import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.recipe.IFocusGroup; import mezz.jei.api.recipe.category.IRecipeCategory; import net.ltxprogrammer.changed.Changed; import net.ltxprogrammer.changed.init.ChangedBlocks; import net.ltxprogrammer.changed.recipe.PurifierRecipe; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack;

import java.util.Arrays; import java.util.List;

public class PurifierRecipeCategory implements IRecipeCategory { private static final int craftOutputSlot = 0; private static final int craftInputSlot1 = 1;

public static final int WIDTH = 116;
public static final int HEIGHT = 54;

private final IDrawable background;
private final IDrawable icon;
private final TranslatableComponent localizedName;
private final ICraftingGridHelper craftingGridHelper;

public PurifierRecipeCategory(IGuiHelper guiHelper) {
    ResourceLocation location = new ResourceLocation("jei", "textures/gui/gui_vanilla.png");
    background = guiHelper.createDrawable(location, 0, 60, WIDTH, HEIGHT);
    icon = guiHelper.createDrawableIngredient(VanillaTypes.ITEM_STACK, new ItemStack(ChangedBlocks.PURIFIER.get()));
    localizedName = new TranslatableComponent("container.changed.purifier");
    craftingGridHelper = guiHelper.createCraftingGridHelper(craftInputSlot1);
}

@Override
public Component getTitle() {
    return localizedName;
}

@Override
public IDrawable getBackground() {
    return background;
}

@Override
public IDrawable getIcon() {
    return icon;
}

@Override
public ResourceLocation getUid() {
    return Changed.modResource("purifier_recipe");
}

@Override
public Class<? extends PurifierRecipe> getRecipeClass() {
    return PurifierRecipe.class;
}

@Override
public void setRecipe(IRecipeLayoutBuilder builder, PurifierRecipe recipe, IFocusGroup focuses) {
    var ingredient = recipe.getIngredient();
    craftingGridHelper.setInputs(builder, VanillaTypes.ITEM_STACK, List.of(Arrays.asList(ingredient.getItems())), 1, 1);
    craftingGridHelper.setOutputs(builder, VanillaTypes.ITEM_STACK, List.of(new ItemStack(recipe.getResult())));
}

} ` (The error) IDEA says it's "Rewrite methods in 'mezz.jei.api.recipe.category.IRecipeCategory' that are deprecated and marked for removal", which doesn't affect play, but it's a good idea to fix it.

LtxProgrammer commented 2 weeks ago

There is no fix for this. I've already looked. It will have to be adjusted for different mc versions.