Вверх ↑
Этот топик читают: Гость
Ответов: 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
Ответов: 12
#2: 2012-12-30 15:09:12 ЛС | профиль | цитата
Кто нибудь пробует что то создать предмет или блок?
карма: -3
0
Ответов: 3595
Eternity
Observers
#3: 2012-12-30 15:15:07 ЛС | профиль | цитата
Когда вы научитесь смотреть на ошибки других сначала?
карма: 73
0
Ответов: 236
#4: 2012-12-30 17:31:36 ЛС | профиль | цитата
Молодец) оформление супер. Тема наинтереснейшая) продолжай в томже духе, брат)
карма: 10
Что я несу?
1
Голосовали:gronks
Ответов: 154
#5: 2012-12-30 18:11:00 ЛС | профиль | цитата
Mr.Fremmy писал(а):
оформление супер. Тема наинтереснейшая

Оформление ужасное, читать не возможно. Из этого же выливается то, что она совершенно не интересна.
gronks, думаешь попросив соклановоца написать что нибудь в теме, она станет популярней?
карма: 14
0
Ответов: 495
#6: 2012-12-30 20:03:53 ЛС | профиль | цитата
У меня болят глаза,хотя тема отпадная)
карма: 3
0
Ответов: 56
Monte Carlo
Твинки
#7: 2012-12-30 20:05:54 ЛС | профиль | цитата
Где то я видела подобное, уж не слизали вы эту статью?
карма: 3
0
Ответов: 879
#8: 2012-12-30 20:49:58 ЛС | профиль | цитата
Молодец,хорошая тема,отличная вещь!,МОЛОРИК
карма: 27
Играть в Minecraft надо правильно!
0
Ответов: 391
Mafia
Участник
#9: 2012-12-30 21:19:10 ЛС | профиль | цитата
Слизал с minecraft.su но сделал под себя. Я так думаю
карма: -1
Armada вместо тысячи слов.
0
Ответов: 236
#10: 2012-12-31 04:08:23 ЛС | профиль | цитата
Много уважаемый unishift. Если вам это неинтересно то не надо читать. Просто отпишетиесь в другой теме. Зачем гнать на других? И что что я его соклан? это что то меняет? Тема мне интересна. Уже пробую создать блок нано-печки. Так что в следующий раз много уважаемый подумайте как следует прежде чем писать. От этого многое зависит.
Про оформление. Так оформление да трудновато читать. Но у меня скорость чтения 100 страниц в час. Так что. мне это никак не мешало.
Мне кажеться что это тема очень поможет игрокам, которые хотят предложить новый блок. Они здесь все сделают сразу текстурки и код предоставят. Это намного облегчик труд админов и хелперов!
карма: 10
Что я несу?
0
Ответов: 13
Circus
лидер
#11: 2012-12-31 04:24:46 ЛС | профиль | цитата
Поставил бы + только за содержание, и труд. А так нифига не в этом не смыслю, да и как то не нужно.
карма: 0
0
Ответов: 236
#12: 2012-12-31 10:37:21 ЛС | профиль | цитата
тортик) это на любителя)
карма: 10
Что я несу?
0
Ответов: 600
#13: 2012-12-31 11:11:28 ЛС | профиль | цитата
У кого нибудь получилось создать блок? или предмет?
карма: 22
ⓂⒸⒼⓁ
0
Ответов: 41
#14: 2012-12-31 12:26:14 ЛС | профиль | цитата
Гронкс молоток) Так держать !
карма: -1
Активность ? НЕ не слышал ...
1
Голосовали:gronks
Ответов: 391
Mafia
Участник
#15: 2013-01-01 21:34:17 ЛС | профиль | цитата
У меня получилось. Только 4месяца назад до этого туториала.
карма: -1
Armada вместо тысячи слов.
0
Ответов: 648
#16: 2013-01-01 21:35:15 ЛС | профиль | цитата
крут продолжай в том же духе)
карма: -7
0
Ответов: 514
#17: 2013-01-06 03:11:41 ЛС | профиль | цитата
Напиши как ещё свою текстуру подставлять под блок
И ты так написал ко будто куда то торопился.
карма: 4
0
Ответов: 2512
Bocker
лидер
#18: 2013-01-06 03:22:11 ЛС | профиль | цитата
SLU писала как создавать все блоки, еду и т.д.
карма: 7
Skype: fabula-gorg
0
Ответов: 13949
#19: 2013-01-06 05:09:59 ЛС | профиль | цитата
Fabula, для мод лоадера, а нам надо без мод лоадера.
карма: 56
steam: dtho_37 | | Origin: Valeryn4 | | twitter: @dtho47
0
Ответов: 2512
Bocker
лидер
#20: 2013-01-06 05:11:04 ЛС | профиль | цитата
Dtho_47, ок
а оно нам вообще надо?)
карма: 7
Skype: fabula-gorg
0
Ответов: 13949
#21: 2013-01-06 05:17:11 ЛС | профиль | цитата
нет. Есть сайт где более качественные и свежие гайды по моддингу. В основном все от туда и прут статьи.
карма: 56
steam: dtho_37 | | Origin: Valeryn4 | | twitter: @dtho47
0
Ответов: 514
#22: 2013-01-06 05:53:07 ЛС | профиль | цитата
А как текстуру добавлять свою для блока?
карма: 4
0
Ответов: 1893
#23: 2013-01-06 06:23:16 ЛС | профиль | цитата
gronks писал(а):
2. Notepad ++

))) hardcore mode on
карма: 325
0
Ответов: 1276
#24: 2013-01-06 06:24:55 ЛС | профиль | цитата
на eclipse пишут же вроде? Удобней.
Лучше начать изучении всей Java с Greenfoot)
карма: 32
0
Ответов: 13
#25: 2013-01-06 10:47:35 ЛС | профиль | цитата
Nasten писал(а):
this.addRecipe(new ItemStack(Item.coal, 9), new Object[] {"U", 'U', Block.greenBlock});
после крафта мы получим 9 угля
- спс
Nasten писал(а):
Где то я видела подобное, уж не слизали вы эту статью?

Вчера в инете видел -_-
карма: 0
0
25
Сообщение
...