Создание крафта

У меня есть класс BlockStabilisator, в прелоаде из этого класса я создаю 4 блока с разными текстурами и разными названиями, для кажого из них мне нужно создать разные рецепты для крафта, я решил в ItemStack указать так
Java:
GameRegistry.addRecipe(new ItemStack(Block.getBlockFromName("BlockStabilisationRuneGreen"), 1)
, но при крафте он крашнулся. Когда я указываю
Java:
GameRegistry.addRecipe(new ItemStack(Main.BlockStabilisator, 1)
, всё работает, но я не могу выбрать какой блок будет крафтиться потому что все блоки у меня имеют один и тот же класс и отличаются только в имени и текстуре. Подскажите что мне делать
Мой Main
Java:
package ru.posaydone.thaumicinspiration;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import ru.posaydone.thaumicinspiration.Blocks.StabilisationRunes.BlockStabilisator;

@Mod(modid = Main.MODID, name = Main.MODNAME, version = Main.VERSION)

public class Main {
    public static final String MODID = "Thaumic Inspiration";
    public static final String MODNAME = "Thaumic Inspiration";
    public static final String VERSION = "1.0.0";
    public static final CreativeTabs tabThaumicInspiration = new CreativeTabs("tabThaumicInspiration") {
        public Item getTabIconItem() {
            return Item.getItemFromBlock(Blocks.command_block);
        }
    };
    public static Block BlockStabilisator;

        @EventHandler
        public void preLoad(FMLPreInitializationEvent event) {
            ThaumonomiconTab.setup();
            BlockStabilisator = new BlockStabilisator(Material.rock, "BlockStabilisationRuneBlue", "StabilisationRuneBlue");
            BlockStabilisator = new BlockStabilisator(Material.rock, "BlockStabilisationRuneRed", "StabilisationRuneRed");
            BlockStabilisator = new BlockStabilisator(Material.rock, "BlockStabilisationRunePurple", "StabilisationRunePurple");
        BlockStabilisator = new BlockStabilisator(Material.rock, "BlockStabilisationRuneGreen", "StabilisationRuneGreen");
            GameRegistry.addRecipe(new ItemStack(Block.getBlockFromName("BlockStabilisationRuneGreen"), 1),
                    "###", "XYX", "###",

                    ('X'), Blocks.gravel,
                    ('#'), Items.iron_ingot,
                    ('Y'), Blocks.obsidian);
        }
}
Мой класс BlockStabilisator
Java:
package ru.posaydone.thaumicinspiration.Blocks.StabilisationRunes;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.world.World;
import ru.posaydone.thaumicinspiration.Main;
import thaumcraft.api.crafting.IInfusionStabiliser;
public class BlockStabilisator extends Block implements IInfusionStabiliser {
    public boolean canStabaliseInfusion(World world, int x, int y, int z) {
        return true;
    }
    public BlockStabilisator(Material p_i45394_1_, String name, String texture) {
        super(p_i45394_1_);
        this.setBlockName(name);
        this.setCreativeTab(Main.tabThaumicInspiration);
        this.setHardness(3.0F);
        this.setStepSound(soundTypeStone);
        this.setResistance(10.0F);
        this.setHarvestLevel("pickaxe", 3);
        this.setLightLevel(0.0F);
        this.setLightOpacity(10);
        this.setBlockTextureName(Main.MODID + ":" + texture);
        GameRegistry.registerBlock(this, name);

    }
}
 
145
7
31
BlockStabilisator = new BlockStabilisator(Material.rock, "BlockStabilisationRuneBlue", "StabilisationRuneBlue"); BlockStabilisator = new BlockStabilisator(Material.rock, "BlockStabilisationRuneRed", "StabilisationRuneRed"); BlockStabilisator = new BlockStabilisator(Material.rock, "BlockStabilisationRunePurple", "StabilisationRunePurple"); BlockStabilisator = new BlockStabilisator(Material.rock, "BlockStabilisationRuneGreen", "StabilisationRuneGreen");
Где названия объектов?
 
Последнее редактирование:
Сверху