( +3.80 3,8 0.00 )

[Guide][1.9] Моддинг 1.9 #4 Blocks

Автор: CheshirX
Продолжать писать новости?

Да! - 18 (51,43%)
51,43%
Да - 8 (22,86%)
22,86%
Нет - 5 (14,29%)
14,29%
Нет! - 4 (11,43%)
11,43%

 

[Guide][1.9] Моддинг 1.9 #4 Blocks

Так сударь! Все коротко и НЕясно! Чтобы что-то понять прийдётся идти в эту кашу: тыкай уже!

 

Для начала много папок:

№ 1) в главной директории(blocks).

№ 2) в blocks(block).

№ 3) в client.render(block).

№ 4)в папке models(block).

№ 5) в директории resources(blockstates).

№ 6) в папке textures(blocks).

 

Теперь в папке № 2 создаём основу для всех будующих блоков(BaseBlock):

 

package .........blocks.block; //Вместо многоточия ваша директория

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;

public class BaseBlock extends Block{
     public BaseBlock(String unlocalizedName, Material material, float hardness, float resistance, String harvestT, int harvestL) {
            super(material);//материал
            this.setUnlocalizedName(unlocalizedName);// название в машине
            this.setCreativeTab(CreativeTabs.tabBlock);//вкладка в креативе
            this.setHardness(hardness);//скорость ломания блока 1 - 1 сек, 2 - 2 сек.
            this.setResistance(resistance);//сопротивление взрывам
            this.setHarvestLevel(harvestT, harvestL); // инструмент добычи.
        }
}

 

Далее в папке № 1 создаём финальный класс Blocks и пишем вот это:

 

package ..........blocks; // вместо точек ваша директория

import .........blocks.block.BaseBlock; // вместо точек ваша директория
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraftforge.fml.common.registry.GameRegistry;

public final class Blocks {


    public static Block copBlock;
    
    public static void createBlocks() {
         GameRegistry.registerBlock(copBlock = new BaseBlock("cop_block", Material.iron, 3, 15, "pickaxe", 1), "cop_block");
    }
}

BaseBlock - класс, "cop_block" - имя в машине, Material.iron -материал определяется через точку, далее прочность и взрывоустойчивость, "pickaxe", 1 - может быть pickaxe|shovel|axe , 1 - это уровень 0 - дерево, 1 - камень, 2 - железо, 3 - алмазый.

 

Потом в директории № 3 создаём финальный класс BlockRenderRegister:

package ........client.render.blocks;// ваша директория

import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import .............................; // главный файл мода
import ..................blocks.Blocks; // вместо точек директория

public final class BlockRenderRegister {
    public static void registerBlockRenderer() {
        reg(Blocks.copBlock);
        
    }
    
    public static String modid = ........modid;

    public static void reg(Block block) {
        Minecraft.getMinecraft().getRenderItem().getItemModelMesher()
        .register(Item.getItemFromBlock(block), 0, new ModelResourceLocation(modid + ":" + block.getUnlocalizedName().substring(5), "inventory"));
    }
}

Это всё регистрирует текстуры и модели блока.

Теперь идём в ClientProxy и в методе Init пишем это -        BlockRenderRegister.registerBlockRenderer();

Далее в CommonProxy метод preInit - HEBlocks.createBlocks();

 

Всё... Блок есть в игре... Но чёрно-фиоловый genius

 

Чтобы сделать его фиолово-чёрнымNewspaperGuyTear нужно сделать ему модель отвечающую за блок, за предмет как блок и за текстуру. Ну и саму текстуру. Наши порисульки переименовываем в cop_block и кидаем в папку № 6.

Теперь во всех папках моделей(№ 4, 5 и папке item(models)) создаём по cop_block.json

Тот что в папке blockstates:

{
    "variants": {
        "normal": { "model": "......:cop_block" } //вместо точек модид.
    }
}

Тот что в block:

{
    "parent": "block/cube_all",
    "textures": {
        "all": ".......:blocks/cop_block" //modid in ........
    }
}

И последний в item:

{
    "parent": ".....:block/cop_block" // банальщина.
}

 

Всё заходим в игру и ищем наш блок в вкладке блоков. Правда он теперь красивее? Имено за это и нужно поставить 5 мем!

 

Вам писал CheshirX, до скорых встреч!megayeah

 

 

 

  1. Олдфаги

    24 марта 2016 20:05

    0

    Вроде всё?
  2. Олдфаги

    24 марта 2016 20:10

    0

    Если я сейчас успею выложу гайд по локализации, создании свое вкладки, и комментариям в яве pizdyn
  3. ТруЪ Олдфаги-с

    24 марта 2016 20:42

    0

    Спойлеры теперь работают. 5
  4. Олдфаги

    24 марта 2016 20:54

    0

    Эти спойлеры блин (=)
  5. Посетители

    24 марта 2016 20:58

    +1

    ))0)0
  6. Олдфаги

    24 марта 2016 20:58

    0

    В общем сегодня не успеваю сделать гайд по локализации и вкладке в креативе. Будет завтра challenge-failed
  7. Просто хорошие люди

    24 марта 2016 21:10

    -1

    Я настолько туп , что ни единой буквы не понял rage-no-whyyy


    5 MEM
  8. Олдфаги

    24 марта 2016 21:26

    0

    Groover, Жалко no-whyyy
  9. Посетители

    25 марта 2016 00:12

    -4

    Что я только-что увидел? 3 мем
    Спойлеры нужны, чувак
    ну лан, 4. Информация-то полезная
    1. Олдфаги

      25 марта 2016 13:41

      0

      Спойлеры на момент написания были нерабочие =)
  10. Посетители

    25 марта 2016 07:22

    0

    Цитата: frity
    Что я только-что увидел? 3 мем
    Спойлеры нужны, чувак
    ну лан, 4. Информация-то полезная

    OhGod OhGod ruka-lico
  11. ТруЪ Олдфаги-с

    25 марта 2016 07:49

    +1

    лол
    1. Олдфаги

      25 марта 2016 14:22

      0

      Легко,
      Очень,
      Легко?
  12. Просто хорошие люди

    25 марта 2016 07:52

    0

    Без ролика почти нечего не понятно. Даже для меня а я поверхностно знаю javascrpit и саму java. А так 5 мем

    Всё ок. но будет легче взять mcreator и там исходные коды готовые взять.
    1. Олдфаги

      25 марта 2016 13:43

      0

      Могу делать с видео-гайдом, вот только не знаю с голосом || с текстовым редактором...
  13. Просто хорошие люди

    25 марта 2016 08:22

    0

    5 мем, но код пожалуйста справа, а то он вообще не читаем.
    1. Олдфаги

      25 марта 2016 13:44

      0

      Окей!
  14. Олдфаги

    25 марта 2016 15:40

    0

    А вот мы и на главной!
  15. Посетители

    26 марта 2016 18:20

    0

    Вы можете меня тут обасрать, но все это уже было десятки раз, но никто никогда не доходил до вкладок в креативе, пользовательском меню и уж темболее глобальных данных, аля голод и жажда. Так что надеюсь что хотя-бы этот автор закончит цикл.
    1. Олдфаги

      27 марта 2016 08:18

      0

      Я постараюсь. =)

      пользовательском меню - это Gui?
    2. Олдфаги

      27 марта 2016 08:33

      0

      Просто проблема только в том что писать всё это долго =(
      Хотя решение есть, видео-гайды...
  16. Олдфаги

    28 марта 2016 11:48

    0

    Цитата: Funcrafter_Pro
    Без ролика почти нечего не понятно. Даже для меня а я поверхностно знаю javascrpit и саму java. А так 5 мем

    Всё ок. но будет легче взять mcreator и там исходные коды готовые взять.


    Ну voobscheto его на 1.9 нету во первых.
    Во вторых, когда умеешь программировать в исходном коде, считаешь что опускаешься до низкого уровня когда программируешь в программе. Лично у меня так... Хотя программа mcreator хороша.
Для написания комментария зарегистрируйся на сайте, это займет всего пару минут, голосуй за новости, зарабатывай репутацию.

Последние сообщения с форума

Название темы
Статистика
Последнее сообщение

Просмотров: 7069

Ответов: 163

Просмотров: 52

Ответов: 0

Просмотров: 145328

Ответов: 693

Просмотров: 1235

Ответов: 14