Вверх ↑
Ответов: 600
#1: 2012-12-30 14:14:35 ЛС | профиль | цитата
В этой теме мы будем программировать minecraft версию 1.3.2 (Без использования (Mod Loader))
Теперь начнем (подготовка) нам нужно скачать

1. Java Development 7 (JDK 7)
2. Notepad ++
3. Minecraft Coder Pack (MCP) версию 7.2 (важно! для клиента игры 1.3.2)
4. Стандартный чистый клиент minecraft 1.3.2

Когда все это скачали приступаем к установки

1. Создайте папку в любом удобном для вас месте, желательно, что бы в пути не было русских символов
2. Скопируйте содержимое архива (MCP) в эту папку
3. Скопируйте папку bin (из клиента) в папку jars (папка jars в (MCP) )
4. Откройте minecraft.jar с помощью архиватора, и удалите папку META-INF (если такая имеется)
5. Пропишите путь к javac.exe в системной переменной PATH
Безымянный.png
6. Пример строки смотрите правее (не забудьте : перед строчкой) ;C:\Program Files\Java\jdk1.7.0_07\bin
7. Если же у вас установлена другая версия JAVA, то сначала посмотрите путь в папке ProgramFiles, а потом измените в строке
8. Теперь если все правильно сделали заходим в вашу папку куда вы скинули файлы из (MCP) Зашли в папку ищем файл decompile (тип файла: Пакетный файл Windows (.bat) и запустите его ждите когда декомпиляция закончится

Часть 1 создание блока

Теперь мы все сделали и начнем создавать блок
Открываем Notepad ++
в Notepad ++ нажимаем новый (это создать новый файл) потом выше находим файл жмем туда потом сохранить как далее выбираем куда сохранить наш файл заходим в папку с MCP выбираем там /src-minecraft-net-minecraft-src потом пишем имя файла напишите к примеру BlockGreen.Java
Потом выбираем формат (тип файла) Java source file Жмем сохранить
когда сохранили файл в него вписываем код



package net.minecraft.src;
import java.util.Random;

public class BlockGreen extends Block
{
public BlockGreen(int par1, int par2)
{
super(par1, par2, Material.rock);
this.setCreativeTab(CreativeTabs.tabBlock);
}
/**
* Returns the ID of the items to drop on destruction.
*/
public int idDropped(int par1, Random par2Random, int par3)
{
return Block.greenBlock.blockID;
}
}


должно выглядить так
121.png
Тут параметры блока то есть возможность проходить через него или тип его можно добавить урон ему как у кактуса
но мы сделаем пока что обычный блок
этот файл сохраните обязательно
теперь его нужно воплотить в наш мир
открываем Notepad ++ нажимаем открыть если старый путь не сохранился то нам нужно опять в путь /src-minecraft-net-minecraft-src
находим файл Block.java и открываем его
ищем
public static final Block stairsWoodJungle = (new BlockStairs(136, planks, 3)).setBlockName("stairsWoodJungle").setRequiresSelfNotify();

после него вставляем код нашего блока

public static final Block greenBlock = (new BlockGreen(141, 25)).setHardness(1.0F).setResistance(1.0F).setStepSound(soundWoodFootstep).setBlockName("green").setRequiresSelfNotify();

141 - ID блока (свободные номера начинаются с 137)
25 - номер текстуры в terrain.png 25 номер это текстура изумрудного блока
setHardness(1.0F) - прочность ()
.setResistance(1F) - сопротивление
.setStepSound(soundWoodFootstep) - звук при разбивании
.setBlockName("green") - имя блока (для перевода через lang-файл)
.setLightValue(1.0F) - свечение блока

сохраняем и наш блок готов! Заходим в папку нашу куда кинули файлы из MCP так найдите файл recompile тип файла как у decompile запустите файл и ждите рекомпиляцию если не выдает ошибки то вы все правильно сделали
далее запустите файл startclient находится там же где и recompile ток по ниже
когда запустили startclient у вас включается игра. Создайте мир в режиме креатив чтобы проверить есть ли вообще блок в игре зайдите в панельку где все блоки там будет блок в виде изумрудного блока только он будет без названия вот скрин
2012-12-30_12.56.28.png

Часть 2 создание предмета

Ну тут полегче будет создать предмет
начнем
давайте сделаем железную палку
открываем Notepad++
в нем открываем файл Item.java
ищем строчку
public static ItemMap map = (ItemMap)(new ItemMap(102)).setIconCoord(12, 3).setItemName("map");
после нее вставляем
public static Item ironstick = (new Item(135)).setIconCoord(12, 6).setFull3D().setItemName("ironstick").setTabToDisplayOn(CreativeTabs.tabMaterials);

135 id предмета
.setIconCoord(12, 6) текстура вещи в итем файле который находится в bin/minecraft/gui/item у нас будет текстура желтой палки
(CreativeTabs.tabMaterials); это где он будет находится в панельке в режиме креатива
сохраняем и также как и с блоком включаем recompile если нету ошибки включаем startclient

Часть 3 генерация блока в мире
Открываем BiomeDecorator.java
ищем строчку
protected WorldGenerator dirtGen;
после вставляем
protected WorldGenerator greenGen;
потом ищем
this.dirtGen = new WorldGenMinable(Block.dirt.blockID, 32);
после вставляем
this.greenGen = new WorldGenMinable(Block.greenBlock.blockID, 5);
потом ищем
this.genStandardOre1(20, this.dirtGen, 0, 128);
после вставляем
this.genStandardOre1(20, this.greenGen, 0, 16);

Когда все сделали сохраните файл и запустите recompile если не будет ошибок включайте игру и проверяйте
Пример генерации блока
2012-12-30_15.03.29.png

Часть 4 создание рецепта

В этой части мы начнем создавать свой рецепт
откройте CraftingManager.java
найдите

this.addRecipe(new ItemStack(Block.enchantmentTable, 1), new Object[] {" B ", "D#D", "###", '#', Block.obsidian, 'B', Item.book, 'D', Item.diamond});

ниже вставьте

this.addRecipe(new ItemStack(Item.coal, 9), new Object[] {"U", 'U', Block.greenBlock});
после крафта мы получим 9 угля

Позже я добавлю рецепты и исправлю ошибки если найду, и допишу чего не хватает
карма: 22
ⓂⒸⒼⓁ
1
Голосовали:Mr.Fremmy, FESS75, Fabula