[Guide][1.9] Моддинг 1.9 #4 Blocks
- Автор: CheshirX
- Дата: 26-03-2016, 18:07
- Категория: Инструкции, гайды Minecraft
Доброго времени суток, уважаемые читатели! Сегодня я научу вас созданию блоков с помощью модификаций! .
Для начала создаём ТРИ папки, одна в главной директории - blocks, другая в ней - block и blocks в /никнейм\./мод\.client.render./тут!\. В папке blocks создаём класс 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 baseBlock;
public static void createBlocks() {
GameRegistry.registerBlock(baseBlock = new BaseBlock("base_block", Material.iron, 3, 15, "pickaxe", 1), "base_block");
}
}
Разборка:
public static Block baseBlock; - переменная типа Block.
GameRegistry.registerBlock(baseBlock = new BaseBlock("base_block", Material.iron, 3, 15, "pickaxe", 1), "base_block"); - регистрирует блок. baseBlock - наша переменная. BaseBlock - наш класс, который мы создадим. Material.iron - материал нашего блока это железо(через точку можно выбрать свой). Далее это скорость добычи и взрывоустойчивость, 3 - это скорость добычи 3 секунды. Далее идёт инструмент добычи. Может быть "pickaxe || shovel || axe" и название.[/spoiler]
Теперь там где подчёркнуто красным - BaseBlock, задерживаем курсор и выбираем create class там пишем вот это:
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);
this.setResistance(resistance);
this.setHarvestLevel(harvestT, harvestL);
}
}
Заходим в CommonProxy и в методе preInit пишем вот это - HEBlocks.createBlocks();
Теперь в оставшейся папке - render.blocks создаём класс с названием registerBlockRenderer. Там вписываем примерно это:
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.baseBlock);
}
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();
Всё! Вуаля! Блок создан! Такой фиолетово-чёрный
Осталось сделать для него модель и текстуру. Текстуру мы пихаем в новую папку - blocks которая находится в папке под названием textures.
А что делать с моделями? У блока 3 модели, как поставленный блок, как предмет и как блок.
В нашей директории(assets./modid\) создаём папку blockstates и файл base_block.json:
{
"variants": {
"normal": { "model": "/modid\:base_block" }
}
}
Далее в папке models создаём папку block а в ней файл base_block.json:
[spoiler]{
"parent": "block/cube_all",
"textures": {
"all": "/modid\:blocks/base_block[.png]"// без .пнг
}
}
И как предмет создаём в папке item файл base_block.json
{
"parent": "/modid\:block/base_block"
}
Теперь заходим в игру, и смотрим вкладку блоков, там появился наш! Если были какие-то проблемы сложности спрашивайте! Я не кусаюсь
Вам писал CheshirX, до скорого!Информация | |
Для написания комментария зарегистрируйся на сайте, это займет всего пару минут, голосуй за новости, зарабатывай репутацию. |
Последние сообщения с форума
Название темы | Автор | Статистика | Последнее сообщение |
---|---|---|---|
Есть ли мод для 1.18.2 forge который увеличивает количество руд в чанке либо даёт возможность без похода в шахту руды получать? Тема в разделе: Моддинг |
Coticnarcotic | Просмотров: 156 Ответов: 0 |
Автор: Coticnarcotic |
Крашится маинкрафт Тема в разделе: Ваши вопросы по Minecraft |
blessedgod | Просмотров: 769 Ответов: 2 |
Автор: blessedgod |
Набор игроков на сервер-эксперимент Тема в разделе: Частные, домашние, Hamachi сервера |
VICKTORON | Просмотров: 248 Ответов: 3 |
Автор: cat1967 |
Не заходит в рай AETHER Тема в разделе: Ваши вопросы по Minecraft |
aimiiyy | Просмотров: 213 Ответов: 0 |
Автор: aimiiyy |
Ищем кодеров, билдеров на сервер версия 1.12.2 Тема в разделе: Проекты |
Kvartal | Просмотров: 209 Ответов: 0 |
Автор: Kvartal |