[Tutorial] [Forge] Основы программирования Minecraft 1.4.6
#62
Написал 03.11.2012 - 18:20
private int harvestLevel = 3; private int maxUses = 128; private float efficiencyOnProperMaterial = 100F; private int damageVsEntity = 2; private int enchantability = 100;покажите мне человека, который разгреб ЭТО - я хочу замеры для памятника сделать, блин.... Извините, накипело Но я реально не понимаю как сделать топор на основе этого урока. Я понял все что в уроках показывалось, в принципе, в создании бессмысленных кубиков и заваливании моего компа лишним мусором нет необходимости... Но я все равно могу сделать только кирку - ни меч, ни топор, ни лопату, ни плуг я создать не в состоянии... Я бы еще понял что у меня кривые руки и нет мозга - если бы я не делал моды для игр раньше вообще. Но ведь делал же, пусть немного, но делал. А тут я вообще просто - в полнейшем ступоре... что за что отвечает, что зачем написано... Моя единственная надежда - API, который обещают сделать, будет хоть немного понятнее этого и я смогу использовать его, чтобы хоть немного разобраться в моддинге майна... И да, возник такой вопрос при просмотре урока по кирке - не было строки критического урона - значит ли это что он не фиксированный и не прописывается отдельно(нельзя сделать меч который будет бить на пол сердечка, но критовать на все 10) или же это как то настраивается? ПЛюс не было строки, описывающей то, какие материалы добывает кирка - значит ли это что оно прописано в ItemPickaxe каким либо образом? Еще вопрос: ItemSword является по сути родительским, а мне надо было смотреть параметры конктретного меча(Железный меч например или там каменный)? тогда вопрос: как ориентироваться в этой стене файлов и найти файлик отдельного "железного меча" - CTRL+F работает только в тексте, в списке слева он отказывается как либо реагировать на эту комбинацию.
Грустняшам - файерболом по щачлу!
Остальные свободны.
#63
Написал 04.11.2012 - 23:14
private int damageVsEntity = 2Чем тебе не одно сердечко?
#64
Написал 05.11.2012 - 01:38
В том то вся проблема, что это параметр кирки, а мне надо параметры меча. Из моего материала. С обычными свойствами. И да, я не понимаю почему для создания своего мода я должен изучать абсолютно левую инфу которая мне больше никогда не пригодится?0_о И почему вы сразу не отправляете меня учить паскаль несколько лет, чтобы сделать мод для майнкрафта - для меня эти "посылы к модлоадеру" примерно равнозначны этому, ибо я уже пытался в свое время по модлоадеру хоть что-то создать, правда с тем же результатом что и сейчас(тоже там бугуртил по страшному). Я просто не понимаю почему в игре про кубы, где по моим представлениям должен быть элементарнейший код все настолько сложно к модифицированию - кучи классов, кучи систем взаимодействующих, чтобы добавить предмет - надо сделать не меньше 2 файлов, плюс файл текстуры - вот например в зомбоиде. Те же самые айтемы, только разрешение в 2 раза больше(32*32). И они там создаются в 10 строчках параметров(просто пишешь item, его айди, его параметры) и 1 текстурке. В майнкрафте же та же самая операция просто неподъемна(при чем параметров у того же меча в 10 раз меньше чем у биты в зомбоиде) - я даже не думаю о том как добавлять к моим мечам какие то баффы/дебаффы как изначально планировалось - там наверное проще с нуля игру написать чем подобную жесть провернуть.... И да, бешусь потому что на вопрос в том же зомбоиде мне отвечают "напиши вот это в начале, напиши список параметров айтема и добавь текстурку. вуаля" а в майне начинают рассказывать про массивы переменных, типы хранения данных, системы классов, публичные/приватные типы классов и т.д. И я перечислил только то что понял в итоге долгих изысканий и общения с людьми которые в этом шарят, и этого все равно ни капли не хватает чтобы сделать свой мод в майне. Это меня демотивирует и бьет по моей самооценке1. За пониманием оригинального кода тебе в тему про ModLoader. Там все хорошо описано. 2. Даже просто зная английский можно вырвать из тех 5 строчек нужную тебе инфу.
private int damageVsEntity = 2Чем тебе не одно сердечко?
Грустняшам - файерболом по щачлу!
Остальные свободны.
#65
Написал 05.11.2012 - 14:10
> Running MCPMergerjava[paste][/paste]util[paste][/paste]zip[paste][/paste]ZipException: duplicate entry: cpw/mods/fml/common/asm/SideOnly[paste][/paste]class at java[paste][/paste]util[paste][/paste]zip[paste][/paste]ZipOutputStream[paste][/paste]putNextEntry(ZipOutputStream[paste][/paste]java:215) at cpw[paste][/paste]mods[paste][/paste]fml[paste][/paste]common[paste][/paste]asm[paste][/paste]transformers[paste][/paste]MCPMerger[paste][/paste]processJar(MCPMerger[paste][/paste]java:255) at cpw[paste][/paste]mods[paste][/paste]fml[paste][/paste]common[paste][/paste]asm[paste][/paste]transformers[paste][/paste]MCPMerger[paste][/paste]main(MCPMerger[paste][/paste]java:107)Decompile Exception: 1
ЧЕЕЕЕЕЕЕЕЕЕЕЕН! ^_,^
#66
Написал 05.11.2012 - 15:34
#67
Написал 05.11.2012 - 15:37
ЧЕЕЕЕЕЕЕЕЕЕЕЕН! ^_,^
#68
Написал 05.11.2012 - 16:16
#69
Написал 05.11.2012 - 18:03
[paste][/paste]setIconCoord(0, 0)Устанавливаем координату, по которой находится иконка предмета[paste][/paste] Вопреки всем законам математики, первое значение - y, второе - x[paste][/paste]Неправда. Секай только что проверил и первое значение это х, а второе у
ЧЕЕЕЕЕЕЕЕЕЕЕЕН! ^_,^
#70
Написал 05.11.2012 - 20:40
#71
Написал 05.11.2012 - 20:55
#72
Написал 05.11.2012 - 21:24
#73
Написал 05.11.2012 - 22:14
Это надстройка над MCP, которая модифицирует процесс декомпиляции исходников игры, модифицируя доступность некоторых полей в стандартных классах, а так же применяя патчи к исходному коду немодифицированного minecraft.Так это даже еще проще. Просто насколько я понял, он декомпилирует фордж в MCP
Заного в jars закинь чистые версии minecraft.jar и minecraft_server.jar. Forge их модифицирует, поэтому при повторной попытки установить Forge может возникать такая ошибка.При декомпиле форджа вылетает вот такая вот ошибка. ЧСДНТ?
Это же Mojang. У него код до сих пор обфусируется, что мешает совместимости модов между разными версиями minecraft (если бы её не было, то многие моды от 1.3.2 спокойно бы работали и на 1.4.2), да и код не самый оптимальный. А уж о том, что делает Forge с этим кодом, я умолчу. Но зато оно работает, и довольно неплохо.Скрытый текст
Это общий класс для любого оружия.Вот скажите, как мне вот это вот:
.... Должно сказать что в игре есть 5 мечей - из дерева, камня, железа, золота и алмаза? Да я тут даже слово Wood или Stone в упор не наблюдаю.... Это ж лютый звиздец какой то
this[paste][/paste]weaponDamage = 4 + par2EnumToolMaterial[paste][/paste]getDamageVsEntity();Должно было привести тебя к рассмотрению EnumToolMaterial, которое бы тебе и дало информацию о нескольких видах материалов, которые как-то различаются. А изучение Item.java дало бы тебе информацию о том, сколько же мечей в игре на самом деле (поиск по содержимому файлов с именем класса никто не отменял).
Никакого файла со списком параметров мечей\брони\кирки\топора\и т.д. нет, ибо они бессмысленны. Для Mojang - т.к. они не предполагают модификации этих параметров, а для моддеров - ибо они и так вынуждены использовать Java для создания мода, чтобы что-то изменить в игре, и им проще унаследовать стандартный класс, это кстати им позволяет добавить дополнительный функционал, если им нужно будет.
Я кстати видел какой-то мод для старой версии майна, который как раз таки позволял добавлять в игру свои предметы, считывая параметры из текстового файла. Имя его не помню.
#74
Написал 05.11.2012 - 22:20
В Eclipse это возможно? Если да, то как? Это намного бы упростило поиск методов в стандартных классах, даже если понятия не имеешь, где метод может встречаться.поиск по содержимому файлов с именем класса никто не отменял
CustomStuff?Я кстати видел какой-то мод для старой версии майна, который как раз таки позволял добавлять в игру свои предметы, считывая параметры из текстового файла. Имя его не помню.
#75
Написал 05.11.2012 - 22:24
ЧЕЕЕЕЕЕЕЕЕЕЕЕН! ^_,^
#76
Написал 05.11.2012 - 22:34
Простой поиск по файлам в Workspace. Так же вроде выделяешь имя класса в его объявлении, ПКМ по выделению, дальше References->Workspace.В Eclipse это возможно? Если да, то как? Это намного бы упростило поиск методов в стандартных классах, даже если понятия не имеешь, где метод может встречаться.
Сам я Eclipse почти не пользуюсь, т.к. мне проще делать мелкие фиксы блокнотом (а точнее программой Bred3), да и рабочих сред у меня много (т.к. часто декомпилирую и компилирую чужие моды). Разбираться с Eclipse пока не хочу.
Да вроде он.CustomStuff?
Т.е. ты распаковывал чистый mcp, кидал в его папку jars необходимые файлы, качал исходники нужного Forge именно под требуемый minecraft (forge 6.2 для 1.4.3 уже), распаковывал его в папку Forge в mcp и запускал Forge\install.cmd? Если у тебя и после этого ничего не получилось, то кинь logs\mcp.log на pastebin.com и запость сюда.Думаешь Секай не пытался? Он несколько раз полностью удалял мцп и ставил его заново вместе с майном и чистым форджем, но ничего
#77
Написал 05.11.2012 - 22:36
#78
Написал 06.11.2012 - 10:05
Секай надеется что это была шутка потому что фордж сам умеет регистрировать новые измерения. А если все таки автор не в курсе, то вот область в которую нужно копать: net/minecraftforge/common/DimensionManager.java Но там не все так просто, одного урока явно не хватитНовое измерение тоже, но там уже будет нужен Dimension API.
разбор кода енчата брони, очевидно опечатка "не необходимы" или "не нужны"после if() необходимы фигурные скобки только, если после него должна считываться одна строка.
ЧЕЕЕЕЕЕЕЕЕЕЕЕН! ^_,^
#79
Написал 07.11.2012 - 14:16
#80
Написал 09.11.2012 - 13:36
Кто знает Sword Art Online?
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных