Добавления мода в ModTweaker

Статус
В этой теме нельзя размещать новые ответы.
Версия Minecraft
1.7.10
29
1
2
Дело токое, нужно написать код чтоб можно было изменять рецепты в компрессоре галактик крафта в скриптах ModTweaker. Я кое что написал, но при загрузке скриптов в чат пишет ошибку
LmGgq1GcRlkDYm.jpg

Сам код:
Код:
package modtweaker2.mods.galacticcraft;

import minetweaker.MineTweakerAPI;
import modtweaker2.mods.galacticcraft.handlers.Compressor;

public class GalacticCraft {
    public GalacticCraft() {
        
        MineTweakerAPI.registerClass(Compressor.class);
        
    }

}
Код:
package modtweaker2.mods.galacticcraft;

import java.util.List;

import micdoodle8.mods.galacticraft.api.recipe.CompressorRecipes;
import modtweaker2.helpers.LogHelper;
import net.minecraft.item.crafting.IRecipe;

public class GalacticCraftHelper {

    public static List<IRecipe> compressor = null;
    static {
        
        try{
            
            compressor = CompressorRecipes.getRecipeList();
            
        } catch (Exception e) { LogHelper.logError("Error in GalacticCraftHelper", e); }
        
        }
        
    private GalacticCraftHelper() {}
    
    }
Код:
package modtweaker2.mods.galacticcraft.commands;

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

import net.minecraft.item.crafting.IRecipe;

import minetweaker.MineTweakerAPI;
import minetweaker.MineTweakerImplementationAPI;
import minetweaker.api.player.IPlayer;
import minetweaker.api.server.ICommandFunction;
import modtweaker2.helpers.LogHelper;
import modtweaker2.helpers.StringHelper;
import modtweaker2.mods.galacticcraft.GalacticCraftHelper;

public class GalacticCraftLogger implements ICommandFunction {

    private static final List<String> validArguments = new LinkedList<String>();
    
    static {
        validArguments.add("Compressor");
    }
    
    @Override
    public void execute(String[] arguments, IPlayer player) {
        List<String> args = StringHelper.toLowerCase(Arrays.asList(arguments));
        
        if(!validArguments.containsAll(args)) {
            if(player != null) {
                player.sendChat(MineTweakerImplementationAPI.platform.getMessage("Invalid atguments for command. Valid arguments: " + StringHelper.join(validArguments, ", ")));
            }
        } else {
            if(args.isEmpty() || args.contains("Compressor")) {
                for(IRecipe recipe : GalacticCraftHelper.compressor) {
                    MineTweakerAPI.logCommand(String.format("mods.galacticcraft.Compressor.addRecipe(%s, %s);",
                            LogHelper.getStackDescription(recipe.getRecipeOutput()),
                            LogHelper.getCraftingDescription(recipe)));
                }
            }
            if (player != null) {
                player.sendChat(MineTweakerImplementationAPI.platform.getMessage("List generated; see minetweaker.log in your minecraft dir"));
            }
        }
    }
    
}
Код:
package modtweaker2.mods.galacticcraft.handlers;

import static modtweaker2.helpers.InputHelper.toObjects;
import static modtweaker2.helpers.InputHelper.toShapedObjects;
import static modtweaker2.helpers.InputHelper.toStack;

import java.util.List;

import minetweaker.MineTweakerAPI;
import minetweaker.api.item.IIngredient;
import minetweaker.api.item.IItemStack;
import modtweaker2.helpers.LogHelper;
import modtweaker2.mods.galacticcraft.GalacticCraftHelper;
import modtweaker2.utils.BaseCraftingAddition;
import modtweaker2.utils.BaseCraftingRemoval;
import net.minecraft.item.crafting.IRecipe;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;

@ZenClass("mods.galacticcraft.Compressor")
public class Compressor {

    public static final String name = "Galactic Craft Compressor";
    
    ///////////////////////////////////////////////////////////////////////////////////////////////
    
    @ZenMethod
    public static void addShaped(IItemStack output, IIngredient[][] ingredients) {
        MineTweakerAPI.apply(new Add(new ShapedOreRecipe(toStack(output), toShapedObjects(ingredients))));
    }
    
    @ZenMethod
    public static void addShapeless(IItemStack output, IIngredient[] ingredients) {
        MineTweakerAPI.apply(new Add(new ShapelessOreRecipe(toStack(output), toObjects(ingredients))));
    }

    private static class Add extends BaseCraftingAddition {
        public Add(IRecipe recipe) {
            super(Compressor.name, GalacticCraftHelper.compressor);
            recipes.add(recipe);
        }
    }
    
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    @ZenMethod
    public static void removeRecipe(IIngredient ingredient) {
        List<IRecipe> recipes = BaseCraftingRemoval.getRecipes(GalacticCraftHelper.compressor, ingredient);

        if(!recipes.isEmpty()) {
            MineTweakerAPI.apply(new Remove(recipes));
        } else {
            LogHelper.logWarning(String.format("No %s Recipes found for %s. Command ignored!", Compressor.name, ingredient.toString()));
        }
    }

    private static class Remove extends BaseCraftingRemoval {
        public Remove(List<IRecipe> recipes) {
            super(Compressor.name, GalacticCraftHelper.compressor, recipes);
        }
    }
    }
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху