Перейти к содержимому


Фотография

[Tutorial] [Forge] Основы программирования Minecraft 1.4.6


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 345

#101 TheApKoT

TheApKoT

    Добытчик угля

  • Пользователи
  • Сообщений: 363
  • Откуда: The Earth Core

Написал 09.11.2012 - 20:39

Скрытый текст

От имен переменных ничего не зависит. Да, с названием я немного перепутал, но par1 и par2 - всего лишь результат декомпиляции. === Про Паскаль - разумеется, он не сравним с С-подобными языками. Но он незаменим при обучении благодаря простоте в понимании, плюс, синтаксис не так уж и отличается. === randomDisplayTick - рандомно вызываемый метод, работающий чуть ли не каждый(или даже каждый) тик. За генерацию частиц отвечает world.spawnParticle(args). С оружием - да, правильно, код смотрим по аналогии с луком и стрелой.
Скрытый текст

#102 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 20:43

Хм, а вот смену названия я и не заметил. Я тоже с начала не въехал, всё равно ведь происходит вызов этого метода. Спасибо! Впредь буду внимательнее.UPD: нашёл классы с gui, по-моему больше подходит GuiScreen.
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#103 mistaqur

mistaqur

    Алхимик

  • Главные модераторы
  • Сообщений: 4230
  • Откуда: Санкт-Петербург

Написал 09.11.2012 - 20:50

Фууууу! Паскаль( Унылое... Хотя какая разница. Мощности никакой фактически. На C++ всё гораздо проще: a+b=c И всё! А тут двоеточие. Нелепый знак в сочетании с равно.

Цыц, паскаль не обижать и холивар не разводить, я на паскале 5 лет просидел в школе, и знал его не хуже учителей. Это язык для обучения (в основном алгоритмизации), и для программирования программ под досом, для большего пытаться его применять не надо. И вообще, конструкция в обеих случаях неправильная, нельзя сумме присвоить значение.

#104 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 20:56

Блин. Ты прав. Но я паскаль не изучал. С 14 лет c++. Благо Герберт Шилдт писал так, что поймешь всё сразу (хотя где-то можно просто застопорится. А MSDN вообще халявят! Написать подробно ничего не могут, дурачки!) И вот мне 15, а я сделал такую грубую ошибку. Эх, мне вирус на семёрку!Нашёл нужный класс: Gui. GuiScreen - для окна при нажатии ESC. Так что можно уже делать окно, но ещё нужен евент кликанья по блоку.
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#105 TheApKoT

TheApKoT

    Добытчик угля

  • Пользователи
  • Сообщений: 363
  • Откуда: The Earth Core

Написал 09.11.2012 - 21:00

GUI печки, верстака и других подобных им блоков создавалось на основе GuiContainer. Разве что, тебе нужна только кнопочка - лично мне, для своего мода, понадобилось 2 слота. А они идут как раз от GuiContainer.
Скрытый текст

#106 mistaqur

mistaqur

    Алхимик

  • Главные модераторы
  • Сообщений: 4230
  • Откуда: Санкт-Петербург

Написал 09.11.2012 - 21:02

faserg1, пожалуйста, наследуй только GuiContainer для того, чтобы сделать какой-то GUI у блоков, он специально для этого сделан. NEI может работать только в окнах, которые наследуют данный класс, уже есть белая ворона Forestry, которая использует GuiScreen. Это конечно красиво, но неудобства доставляет.

#107 TheApKoT

TheApKoT

    Добытчик угля

  • Пользователи
  • Сообщений: 363
  • Откуда: The Earth Core

Написал 09.11.2012 - 21:04

Разве Forestry - open source?
Скрытый текст

#108 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 21:09

Не нашёл сначала. Или эклипс (хорошая жвачка, но компилятор - бревно [wood-pine]) Посмотрю-ка... Ага! Нашёл. Кстати использует GuiScreen. ))

Разве Forestry - open source?

декомпилятор)
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#109 mistaqur

mistaqur

    Алхимик

  • Главные модераторы
  • Сообщений: 4230
  • Откуда: Санкт-Петербург

Написал 09.11.2012 - 21:28

Разве Forestry - open source?

Сначала был декомпилятор, теперь исходники от автора [enderman]. Но основной источник знаний по прежнему декомпилятор.

#110 ga2mer

ga2mer

    Добытчик дерева

  • Пользователи
  • Сообщений: 184

Написал 09.11.2012 - 21:35

Скрытый текст

#111 mistaqur

mistaqur

    Алхимик

  • Главные модераторы
  • Сообщений: 4230
  • Откуда: Санкт-Петербург

Написал 09.11.2012 - 21:41

ga2mer, зачем же, JD-GUI + маленькая самопальная программка, которая позволяет узнавать оригинальное имя класса по обфусицированному. Аналогично и с полями класса. В особо сложных случаях просто декомпилирую, вставляя мод вместе с зависимостями в minecraft.jar, а после использую поиск по файлам для нахождения желаемого участка кода.

#112 ga2mer

ga2mer

    Добытчик дерева

  • Пользователи
  • Сообщений: 184

Написал 09.11.2012 - 21:51

ga2mer, зачем же, JD-GUI + маленькая самопальная программка, которая позволяет узнавать оригинальное имя класса по обфусицированному. Аналогично и с полями класса. В особо сложных случаях просто декомпилирую, вставляя мод вместе с зависимостями в minecraft.jar, а после использую поиск по файлам для нахождения желаемого участка кода.

Я слишком неопытен в самопальных программах, т.к могу только понимать код, а не писать его, а с этой программкой почитать исходники других модов легче, только она всё-же криво деобфусцирует, но зато у меня есть форестри апи для 1.4 Нотч

#113 Playermet

Playermet

    Олежа :3

  • Главные модераторы
  • Сообщений: 9368
  • Откуда: Макеевка, ул.Ленина,д.84/16

Написал 09.11.2012 - 23:06

ЭТО на КАКОМ языке?!! Причём тут двоеточие?!!

Это Паскаль.

Такая конструкция в паскале невозможна в принципе. Своим постом человек намекнул что "его знания на уровне возможности написать с ошибкой самое простое выражение".

Фууууу! Паскаль( Унылое... Хотя какая разница. Мощности никакой фактически. На C++ всё гораздо проще: a+b=c И всё! А тут двоеточие. Нелепый знак в сочетании с равно.

Мирнаясмерть. Паскаль для тебя тяжеловат. На С++ тоже с ошибкой написал, но дело не в сумме по левую сторону от оператора присваивания. А двоеточие было добавлено что-бы отличать арифметическое равенство и оператор присваивания.

А MSDN вообще халявят! Написать подробно ничего не могут, дурачки!)

Это справочник.

Для форумчан можно просто Олег.

Скрытый текст

#114 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 10.11.2012 - 11:29

Да, я же говорю, что снубил по полной программе. И даже если MSDN - справочник, то ни фига подобного. Почти всё, что нужно, отсутствует даже на английском языке! Кстати, вот что мне нужно:
У меня фиговая проблема, даже при подключении библиотек d3d9[что-то там ещё+ещё одна почти такая же].lib выбивает, что не разрешён символ Direct3DCreate9. Вот компилятор они делают точно сикось-накось. Нет, чтоб нормально и несложно сделать, а они туда понапихали, что даже чёрт клаву сломает.
Прошу прощения за оффтоп.

Теперь по теме. Вчера немного переделал Gui печки (в смысле, текстуру). Но код там был... TheApKoT, я тебя уважаю, можешь новому человеку объяснить, как сделать вот такую штучку:
Справа, как в BuildCraft и Forestry ёмкость (то есть, как бы её индикатор) с жидкостью (нефть, везде нефть!). Над ней и под ней эти, как их... Ну куда что-либо можно положить, в моём случае - ведро. Ну, немного я понял с анимацией окна (например, огонь в печке), но всё же не очень. Насколько я понял, там переменные со значением оставшегося огня, и законченности действия, которые отвечают за перекрытия "пустого" огня "горящим", и "пустой" стрелки с "...." (непонятно чем, в общем, "полной стрелкой"). Ну, процесс в принципе понятен, а код намудрили так, что... Ладно. Mojang есть Mojang. Спасибо за прочтение моей просьбы.


И всё же (опять оффтоп), MSDN - халявщики!


UPD:

Над ней и под ней эти, как их... Ну куда что-либо можно положить, в моём случае - ведро.

Вспомнил - слоты!
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#115 Zubodrobilko

Zubodrobilko

    Странник

  • Пользователи
  • Сообщений: 93

Написал 10.11.2012 - 11:39

2Playermet: Вот, получилось даже красноречивее, чем я планировал=)С факелом я сделал так: скопировал класс оригинального факела, но без метода randomDisplayTick. Теперь у меня есть факелы без света и партиклов, т.е. потухшие))Mission Accomplished

#116 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 10.11.2012 - 11:45

Насколько я понял, есть 2 вида факелов. А setLightValue делал?
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#117 Zubodrobilko

Zubodrobilko

    Странник

  • Пользователи
  • Сообщений: 93

Написал 10.11.2012 - 11:51

Насколько я понял, есть 2 вида факелов. А setLightValue делал?

Нет, при создании факела он дефолтно без света. Я поэтому и спрашивал про партиклы, т.к. в классе факела света нет, он ему присваивается где то в другом месте, может с партиклами также, ан нет.

#118 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 10.11.2012 - 11:55

Что значит дефолтно? setLightValue ставится в основном файле мода, или же в начале кода.^|Это если ты делаешь мод)
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#119 Zubodrobilko

Zubodrobilko

    Странник

  • Пользователи
  • Сообщений: 93

Написал 10.11.2012 - 11:58

Говорю, что вижу. Света у факела нет, если ему его не задать. Я каждое изменение в майне своими глазами проверяю, а то мало ли. В файле мода у меня пока только регистрация блоков и имен, все остальное я положил в файл блока.И да, я не по этому тутору делаю.У меня еще вопрос, а можно ли сделать при помощи метадаты 2 факела в одном, причем один с партиклами, а второй - нет? Т.е. как блоку по метадате приписать еще один метод?

#120 EnderBoy57

EnderBoy57

    Странник

  • Пользователи
  • Сообщений: 42
  • Откуда: The End

Написал 10.11.2012 - 19:32

а будет мини-глава как добать генерацию руды в End ?


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных