Как написать блок [1.7.10]

alexklatch, во-обще что-ли ни чего не изучал?
[merge_posts_bbcode]Добавлено: 23.01.2015 16:29:11[/merge_posts_bbcode]

В классе твоего мода, перед preInit'ом:
Код:
public static Block block_test;
В preInit'е:
Код:
block_test = new BlockTest();
GameRegistry.registerBlock(block_test, "block_test");
Создаём класс блока и даём ему материал:
Код:
public class BlockTest extends Block {

public BlockTest() {
super(Material.iron);
}

}
Вот и весь блок.
Но так-же это не всё, дальше ты сам должен добавлять что надо, но во-основном:
В конструктор можно добавить:
  • this.setStepSound(...); - звучание блока (при ходьбе на нём, при разрушении его), можно не указывать обычно звук берёт через материал - [переменная звучания],
  • this.setCreativeTab(...); - В какой креативной вкладке он будет - [путь до переменой креативной вкладки],
  • this.setHardness(...); - Насколько он твёрдый (на сколько долго его будут разрушать) - [в float значении],
  • this.setResistance(...); - Кокой силы взрыва он устаит - [в float значении],
  • this.setLightLevel(...); - Какой уровень свечения будет - [в float значении],
  • this.setLightOpacity(...); - Какой уровень света пропускает - [в int значении],
  • this.setBlockTextureName(...); - Какой путь к текстуре - [в String значении],
  • this.setBlockName(...); - Какое локализованное имя - [в String значении]...
Всё остальное ищи в исходниках Minecraft'а, а так-же можно и в исходниках Forge'а.
 
Главный класс:
Код:
public class core
{
    public static final String MODID = "Test";
    public static final String VERSION = "1.0";

 }

        public static Block Flint;


    @EventHandler
    public void preLoad(FMLPreInitializationEvent event)
    {
 
    }

    @EventHandler
    public void init(FMLInitializationEvent event)
    {
        Flint = new BlockFlint().setCreativeTab(core.Mechanism);
                GameRegistry.registerBlock(Flint, "Flint_Block");
                LanguageRegistry.addName(Flint, "Flint block")
    }

    @EventHandler
    public void postInit(FMLPostInitializationEvent event)
    {

        
        }
    @EventHandler
    public void serverStarting(FMLServerStartingEvent event)
    {
        
    }
}
Класс блока:
Код:
public class BlockFlint extends Block 

{
public BlockFlint() {
    super(Material.rock);
        this.setBlockName("Block Flint");
        this.setHardness(4F);
        this.setResistance(4F);
        this.setHarvestLevel("pickaxe", 1);
        this.setLightLevel(0F);
        this.setBlockTextureName("test:BlockFlint");
        }
}
Flint можно заменить другим
 
Куда бросать текстуру?
[merge_posts_bbcode]Добавлено: 25.01.2015 21:41:17[/merge_posts_bbcode]

Спасибо!
 
Назад
Сверху