- 6
- 2
У меня есть класс BlockStabilisator, в прелоаде из этого класса я создаю 4 блока с разными текстурами и разными названиями, для кажого из них мне нужно создать разные рецепты для крафта, я решил в ItemStack указать так
, но при крафте он крашнулся. Когда я указываю
, всё работает, но я не могу выбрать какой блок будет крафтиться потому что все блоки у меня имеют один и тот же класс и отличаются только в имени и текстуре. Подскажите что мне делать
Мой Main
Мой класс BlockStabilisator
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);
}
}
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);
}
}