[Без ModLoader] Основы программирования для Minecraft
#1
Написал 18.01.2011 - 22:27
Здесь мы с Помидоркой будем рассказывать, как модифицировать Майнкрафт.
MCP - главный инструмент моддинга. С его помощью вы сможете декомпилировать майнкрафт, компилировать, тестировать и внедрять моды прямо в чистую игру.
Ссылка на релизы: http://mcp.ocean-lab...hp/MCP_Releases
Тема на официальном форуме: http://www.minecraft... ... oder-pack/
Надо будет скачать свежайший стабильный релиз и распаковать в любую угодную вам папку. Bin и resources надо будет кинуть в папку jars. Затем запускайте файл decompile.bat. Если вы все сделали правильно, то все декомпилится без ошибок. Если у вас возникли проблемы - обращайтесь к нам в конфочку.
Сырцы появятся здесь: MCP\sources\minecraft\net\minecraft\src
После обновления MCP под новую версию вам надо будет лишь скопировать измененные сырцы и вставить в новую версию.
Скоро переведу и кину в тему мануалы по добавлению нового блока в игру, Помидорка напишет мануал по добавлению блока в генератор и по добавлению своего итема.
По всем возникшим проблемам отписываться сюда или идти в нашу джаббер-конференцию.
viewtopic.php?f=16&t=1032 - Здесь подробно описано, как туда войти.
Прочитайте, пожалуйста, внимательно всё, что написано ниже. Задавайте вопрос ТОЛЬКО ЕСЛИ вы уверены, что все требования соблюдены и на ваш вопрос нет ответа. Если же вы не последуете этому, то в конфочке вам скорее всего либо ответят в грубой форме (с матами и унижениями), либо не ответят вовсе.
Итак, требования:
1. Java Development Kit 6 (JDK6). Обязательно. http://www.oracle.co... ... 46242.html
2. Minecraft Coder Pack (последняя версия)
3. EditPlus/Notepad++ (Текстовый редактор с подсветкой синтаксиса)
4. Голова на плечах.
5. И желательно, но не обязательно - минимальное знание английского языка.
Установка и использование MCP:
1. Создаём где угодно папку, называем её как хотим.
2. Копируем туда файлы из архива, который скачали Вопросы и ответы:
Вопрос: Куда установить MCP?
Ответ: В любую папку.
Вопрос: Запускаю recompile.bat, выдает что-то про PATH... Не могу понять, что ему нужно.
Ответ: Начиная от версии 2.9, нужно добавить переменную PATH в ваш Windows. Выше мы уже написали про это, читайте внимательнее.
Вопрос: Я так и не понял, куда нужно добавить bin и resources... Объясните, что к чему.
Ответ: В папку jars, которая, в свою очередь, находится в папке MCP.
Вопрос: А где находятся файлы уже декомпиленного майнкрафта?
Ответ: В папке sources.
Вопрос: Я хочу декомпилить сервер. Куда мне скопировать minecraft_server.jar?
Ответ: В папку jars.
- Поблагодарил: ClintonNus
#2
Написал 18.01.2011 - 22:47
Оригинал: http://www.minecraft... ... try1502412
В этом туториале я объясню вам, как добавить свой блок в Майнкрафт и как добавить возможность его крафта. В итоге у нас выйдет блок, похожий на камень.
Создание нового блока
1. Вам нужно создать новый файл под именем BlockExample.java в папке src.
2. Вот базовая структура этого файла:
package net[paste][/paste]minecraft[paste][/paste]src;import java[paste][/paste]util[paste][/paste]Random;public class BlockExample extends Block{ public BlockExample(int i, int j) { super(i, j, Material[paste][/paste]rock);//j - текстура, i - ID блока, от материала зависят различные свойства блока }}3. Теперь вам надо добавить этот блок конкретно в игру. Чтобы это сделать, откройте файл Block.java
4. Вы увидите объявления переменных в конце файла. Добавьте туда новую строчку:
public static final Block example;5. После объявлений переменных, вы должны увидеть определения этих переменных. Добавьте туда эту строчку:
example = (new BlockExample(98, 1))[paste][/paste]setHardness(1[paste][/paste]5F)[paste][/paste]setResistance(10F)[paste][/paste]setStepSound(soundStoneFootstep);Как упоминалось ранее, этот код создает блок, похожий на камень.
new BlockExample(98, 1) создает новый блок, первая цифра - ID блока. ID блока должен быть уникален! Вторая цифра присваивает блоку текстуру камня - 1.
setHardness(1.5F) - Твердость. 1.5 - такая же твердость, как и у камня.
setResistance(10F) - устойчивость к взрывам.
setStepSound(soundStoneFootstep) - звук шага по блоку.
Поздравляю! Вы только что создали новый блок. Чтобы использовать этот блок, вам нужно его сначала получить. Это может быть сделано с помощью мода Single Player Commands: "/give 98".
Совет: посмотрите на файлы других блоков и итемов, это поможет вам добавить вашему блоку уникальные характеристики.
Следующий туториал посвящен добавлению нового рецепта крафта, чтобы вы смогли протестировать ваш новый блок не прибегая к использованию сторонних программ или модов.
#3
Написал 18.01.2011 - 22:55
1. Откройте CraftingManager.java
2. Вы должны увидеть конструктор для класса. Новые рецепты добавляются посредством функции AddRecipe
3. Промотайте примерно до середины файла и добавьте туда новую строчку:
addRecipe(new ItemStack(Block[paste][/paste]example, 1), new Object[] {"##", "##", Character[paste][/paste]valueOf('#'), Block[paste][/paste]dirt});Итак, вы добавили новый рецепт. Примерно так он выглядит:
В итоге вы получите BlockExample.
addRecipe - это функция добавления нового рецепта.
new ItemStack(Block.example, 1) - Вместо Block.example вы можете подставить любой нужный вам блок или итем. Для того, чтобы добавить итем (вещь) напишите там:
new ItemStack(Item[paste][/paste]нужный вам итем, 1)Цифра 1 здесь означает количество этих блоков или итемов после окончания крафтинга.
Вместо # здесь может быть любой символ, эти символы расшифровываются в Character.valueOf('введенный вами символ') Для крафта в верстаке вам надо лишь указать три таких символа, например:
addRecipe(new ItemStack(Block[paste][/paste]example, 1), new Object[] { "###", "###", "###", Character[paste][/paste]valueOf('#'), Block[paste][/paste]dirt });
#4
Написал 18.01.2011 - 23:40
Look like th' innocent flower,
But be the serpent under 't.
#5
Написал 19.01.2011 - 15:55
#6
Написал 19.01.2011 - 18:38
В этом уроке я подробно объясню, как добавить ваш предмет в игру.
Важная информация: Сложность этого урока низкая. Вам необязательно знать язык java, но хорошее знание последнего увеличит ваши шансы на успешное добавление предмета в игру.
Для начала нам понадобится декомпиленная версия нашей любимой игры - кубокрафта. Подразумевается, что читатель уже имеет декомпилированный клиент.
Начинаем: Редактирование Item.java
Давайте откроем файл item.java (Советую в редактировании использовать Notepad++ , т.к. в нём есть подсветка синтаксиса и много других вкусностей).Этот файл находится в X:\MCP\sources\minecraft\net\minecraft\src
Открыв файл, вы увидите много всяких строчек, буков, цифр и прочих символов. Оставим их, прокрутим файл немножко ниже, до вот этой строки:
public static Item recordCat = (new ItemRecord(2001, "cat"))[paste][/paste]func_20010_a(1, 15)[paste][/paste]func_20011_a("record");В этой строке находятся данные о предмете с идентификатором 2001. Получить его в игре можно прописав /give 2257. Т.е. ID предмета, который вы добавите, будет 101 + 256 = 357. Вместо 101 берите ID вашего предмета, который вы добавите в этом уроке.
Перейдем непосредственно к добавлению нового предмета:
public static Item example = (new Item(101))[paste][/paste]func_20010_a(13, 0)[paste][/paste]func_20011_a("example");Возьмите этот код и вставьте его в файл, чтобы у вас получилось примерно вот так:
Если вы сделали все правильно, то можете немедленно запускать компилятор и проверять, нет ли ошибок.
И не забывайте: предмет появился в игре, но вам еще нужно его как-нибудь добыть\скрафтить!
Поэтому смотрите урок по добавлению нового рецепта в игру от WD-куна. Думаю, разберетесь, что к чему.
ВАЖНО:
Если вы хотите настроить свой предмет как следует, без этого никак, то гляньте-ка сюда:
теги:minecraft моддинг,minecraft уроки,minecraft туториалы
Look like th' innocent flower,
But be the serpent under 't.
#7
Написал 19.01.2011 - 18:57
#9
Написал 20.01.2011 - 02:24
#10
Написал 20.01.2011 - 08:49
#11
Написал 20.01.2011 - 19:06
На что ты намекаешь?
Я утверждаю что туторы очень скучные и без шуток.Если кто смотрел Фейри Тейл в озвучке Анкорда тот поймет.
Тутор и не должен быть смешным.
Кому как.Я просто засыпаю от большого количества букв, если там все очень серьезно или нету сюжета.
#12
Написал 20.01.2011 - 19:11
#13
Написал 20.01.2011 - 22:57
#14
Написал 23.01.2011 - 15:24
#15
Написал 23.01.2011 - 15:55
#16
Написал 23.01.2011 - 15:59
#17
Написал 23.01.2011 - 16:41
Да я вчера пробовал это все сделать. И пробовал не один. Но ничего у нас не вышло, к сожалению.Интересный вопрос, при добавлении собственной текстуры уникального блока, без изменения terrain.png не обойтись без лишней головной боли?
Look like th' innocent flower,
But be the serpent under 't.
#18
Написал 23.01.2011 - 19:21
#19
Написал 24.01.2011 - 19:51
#20
Написал 24.01.2011 - 20:05
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных