» » [MCP] Как добавить блок в игру?

[MCP] Как добавить блок в игру?

Категория: FAQ
Я решил начать серию уроков о MCP Хоть мой учебник и под 1.7.3, надеюсь что там и так будет всё понятно smile
До кого не доходит как это делать скриншоты внизу!!!

Глава 1. Добавление блока в игру


Внимание!!! Все файлы создавать в папке \src\minecraft\net\minecraft\src

Для начала давайте создадим новый файлик посредством нотепада. Называться он будет mod_gcc.java.
Он служит для складывания всей информации о блоках, рецептах, etc.

Впишем такую строчку (используйте Notepad++).

package net.minecraft.src;

Она включает магию которая даст возможность данному файлику работать с Кубокрафтом.
После чего добавим еще две строчечки, но сначала делаем пробел.

public class mod_gcc extends BaseMod{

Здесь мы создаем класс.

public static Block newblock = new BlockNew(101, 0).setHardness(0.5F).setResistance(1.0F).setBlockName("newblock");

Пишем в 5 строке вот такие словечки про наш кубик, тут мы его регистрируем.
Давайте попробуем разобрать данную неразбериху.

public static Block newblock

newblock - это название, точнее регистр блока (не путайте с обычным названием, или консоль ошибок покарает вас! trollface ).

new BlockNew(101, 0)

Ну а вот тут у нас как раз и обычное название.
Число 101 - айди блока.
Число 0 - не трогайте, это индексация текстуры по terrain.png, оно вообще не понадобится. Пусть стоит в фазе нуля.

setHardness(0.5F)

Тут у нас крепкость указана. На сколько силен блок, так сказать Вполне реально хватит и 0.5F если это блок похожий на землю (по скорости разрушения).

setResistance(0.3F)

Устойчивость от взрыва. 0.3F отлично вписывается.

setBlockName("newblock")

Сделан специально чтобы полностью до конца объявить регистр.

Сохраняем файл как java


Теперь давайте создадим специальный файлик BlockNew.java (по названию блока) который определит наш кубик в игре.
Вписываем в первую строчку магические буковки, опять.
package net.minecraft.src;



Затем импортируем еще одну магию которая даст нам возможность использовать переменную Random.
import java.util.Random;



Потом создаем публичный класс (не забудьте название).
public class BlockNew extends Block{



После чего копипастим вот это.
public BlockNew(int i, int j)                    {                        super(i, j, Material.ground);                    }


Тут у нас получается что мы объявляем блок, делаем его настоящим (материальным) и задаем свойство (каждое свойство имеет ряд своих особенностей, типа звуков и т.п).

Дальше объявляем выбрасывание и его ID.
public int idDropped(int i, int j)                    {                        return mod_gcc.newblock.blockID;                    }                    public int quantityDropped(Random random)                    {                            return 1;                    }}


сохраняем файл как java


Как добавить рецепт крафта???


открываем mod_gcc.java


Добавим четыре строчки для определения версии вашего мода.
public String Version()              {                      return "Ваша версия minecraft`а";              }



Ну а теперь перейдем непосредственно к написанию рецепта.
Запишем вот это:
public mod_gcc()              {



И начнем творить.
Регистрируем блок строкой:
ModLoader.RegisterBlock(newblock);



Добавляем название блока в игре.
ModLoader.AddName(newblock, "GCC");



И запюливаем сам рецептик.
ModLoader.AddRecipe(new ItemStack(newblock, 1), new Object[]{ "##", "##", Character.valueOf('#'), Block.dirt});



Разберем?

(new ItemStack(newblock, 1)


При крафте появляется newblock в количестве 1 (изменяйте как душе угодно до 64).

new Object[]{ "##", "##", Character.valueOf('#'), Block.dirt


Тут сложно объяснить, но надеюсь вы поймёте smile
Одна решетка обозначает одну ячейку сверху вниз (это может быть и верстак, если решеток более 3 в одной строке).
Т.е. в нашем случае мы заполняем обычной землей (Block.dirt) все крафт-ячейки в инвентаре (их 4).

Вот и всё! Хотя нет, надо ещё добавить текстуру для блока!

Добавляем текстуру


Сначала ищем картинку 16*16 пикселей. это и будет нашей текстурой.

Временно кидаем ее в папку jars/bin.

Заходим в папку bin, находим minecraft.jar, открываем ее посредством WinRar или 7-zip и создаем там папочку textures.
И в эту папочку кидаем нашу текстуру java.png.

Теперь открываем mod_gcc.java и добавляем строчки рядом с рецептом.
newblock.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/textures/java.png");


Разбираем.

newblock.blockIndexInTexture


Сразу предупреждаю, не забывайте изменять название регистра здесь.

ModLoader.addOverride("/terrain.png"


Не знаю зачем оно, но вроде индексирует размеры блоков внутри terrain.png. Оставляем как есть.

"/textures/java.png"


Ну а тут, непосредственно, указывается путь к текстуре. В нашем случае это java.png в папке textures.


Вот как бы и всё! Запускаем recompile.bat и проверяем на наличие ошибок. Если будут ошибки в коментарии не пишите!!! Recompile.bat точно показывает в какой строчке ошибка.
Если нет ошибок то запускаем startclient.bat и проверяем! Ну а когда вы точно решили что мод готов - запускайте reobfuscate.bat, проходите в папочку reobf и все содержимое кидайте в файл minecraft.jar специально подготовленной для этого игры.

Если вам понравилось ставте + smile если у большей части получилось то выложу как добавить предмет в игру)

Скриншоты


файл mod_gcc.java
[MCP] Как добавить блок в игру?

Внимание! На скриншоте написана версия 1.7_03. Измените её на вашу!!!

файл BlockNew.java
[MCP] Как добавить блок в игру?


То, что я использовал в качестве текстуры)))
[MCP] Как добавить блок в игру?


В игре
[MCP] Как добавить блок в игру?
Рейтинг
  • Нравится
  • 28
Поделиться в социальных сетях
Информация
  • Просмотров: 15 011
  • Комментариев: 29
  • Опубликовано: 27.09.2011
  1. Аватар SlavKo
    27 сентября 2011 22:02
    -
    0
    +
    Геморрой какой-то %)
  2. Аватар kis-kis
    27 сентября 2011 22:17
    -
    0
    +
    все это я усмею делать, только намного проще laughing
  3. Аватар psychosfiber
    27 сентября 2011 22:21
    о па он написан на пародию С
  4. Аватар Klive
    27 сентября 2011 22:23
    -
    0
    +
    Ай ай ай=\ Врать то не хорошо=\ Я уверен 100% в том, что это не ты сам придумал. Я сам эту статью давным давно на другом сайте видел=\ Ты просто некоторые фразы переделал. Хоть настоящего автора бы назвал=\
  5. Аватар markovka_fresh
    27 сентября 2011 22:27
    Klive даже если это так всё равно человек сторался.Не все это умеют и знают.
    Полезная вещь.
  6. Аватар 111vvvv1111
    27 сентября 2011 22:53
    я знал это же но сороно же прочитал +
  7. Аватар stalkerok
    27 сентября 2011 23:02
  8. Аватар pigman
    28 сентября 2011 00:46
  9. Аватар Fly_DozeR
    28 сентября 2011 02:47
    Прикольно =) надо попробывать))) держы +

    --------------------
  10. Аватар VAMPIRE
    28 сентября 2011 03:16
    -
    0
    +
    где скачать mcp для 1.7_3? дайте ссылку плиз.
  11. Аватар Terkor
    28 сентября 2011 07:47
    -
    +2
    +
    stalkerok,
    pigman,
    Klive,

    А где написано что я делал его сам???

    Klive, а ты не думал что у меня просто файл-учебник в котором не написан автор???

    --------------------
  12. Аватар zhidkovv
    28 сентября 2011 12:08
    Спасыбо, помох!
    А про скопиравонныю статью прав Клайв, но какая разница (за иключением выдачи работы за свою) всё равно помогает!
  13. Аватар Assassins
    28 сентября 2011 12:42
    Klive, +1 я тож это видел! кажется чет изменено
  14. Аватар Сиквел
    28 сентября 2011 16:28
    Возможно ли добавить блок на сервер, а не на сингл?

    --------------------
  15. Аватар Terkor
    28 сентября 2011 17:16
    -
    0
    +
    Сиквел,
    низнаю, я не проверял

    а, вспомнил! да,это возможно. Но такой учебничеГ я ещё не нашёл

    --------------------
  16. Аватар iliaS2D
    28 сентября 2011 17:27
    -
    0
    +
    Все скатал с minecrafting.ru wink

    --------------------
  17. Аватар Terkor
    28 сентября 2011 18:05
    -
    +1
    +
    iliaS2D,
    неа wink

    --------------------
  18. Аватар mainez622
    28 сентября 2011 19:14
    На 20% закончил Спасибоньки!

    ---------------------------------------------

    --------------------
  19. Аватар iliaS2D
    28 сентября 2011 19:31
    -
    0
    +
    Terkor,
    Лан, поверю)))

    --------------------
  20. Аватар Nikita809
    28 сентября 2011 19:36
    Да ну))) Мне и игровых блоков хватает))))

    --------------------
  21. Аватар КрасныйСлизень
    28 сентября 2011 23:18
    А Где пака в которой файл создавать?????7 (\src\minecraft\net\minecraft\src)
  22. Аватар Creeper Killer
    28 сентября 2011 23:21
    Плиз, скажите где находится папка scr

  23. Аватар Terkor
    29 сентября 2011 18:48
    -
    +1
    +
    чтобы появилась папка src скачайте mcp, клиент с мод лоадером (без всяких модов), и скиньте папки bin и resources в папку jars (папка jars находиться в mcp). потом запустите decompile.bat. Папка src появиться после прогрузки decompile.bat

    --------------------
  24. Аватар Tamozon
    18 октября 2011 01:21
    -
    0
    +
    Ай-яй-яй СКОПИПАСТЕНО С MASTER-MC.RU!!!!!!!!!!
  25. Аватар b5414
    2 декабря 2011 05:54
    -
    0
    +
    Помогите!

    Внимание! У Вас нет прав для просмотра скрытого текста.
  26. Аватар granix
    2 марта 2012 00:44
    -
    +1
    +
    Tamozon,
    www.master-mc.ru уже не существует!!! (существует но он хуже чем был fellow )
  27. Аватар Dragon700
    5 мая 2012 13:51
    Копипаст
    123456789
  28. Аватар DImaN01
    22 февраля 2013 00:00
  29. Аватар GTALLIHUK
    24 июня 2013 19:39
    У меня не работает!

    --------------------
Имя: * E-Mail: * File engine/modules/regger/frontend/construct.php not found.
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Введите два слова, показанных на изображении: *

Вверх
Вниз
Квадратная голова
Войти