Всё для Terraria » » Учебник по tModLoader API

Учебник по tModLoader API

Автор: FanKar от 17-12-2015, 17:08

2
Да-да, хоть Warten уже сделал некий "тутор", я дополню. Ибо я буду делать гайд подробным.

Сначала поговорим об IDE. Это спорный вопрос. Уже многие думают, что за IDE можно брать только "Microsoft Visual Studio", причём не редко спрашивают: "А если у меня MVS Express?", "А если у меня MVS *Да какой нибудь*".
За IDE можно взять обычный Notepad++. И не обязательно скачивать 11 ГБ. Но минус блокнота в том, что у него нету подсказок. Поэтому используют IDE. Из них можно использовать эти:
  • MonoDevelop [Windows, Mac OS X, Linux]
  • Microsoft Visual Studio (Community Edition хватит) [Windows, Mac OS X, Linux]
  • CLion (Работает с C/C++, но можно найти те же плагины) (Платно, но мы пираты...) [Windows, Mac OS X, Linux]
  • Notepad++ (Ну это если с интернетом всё очень плохо...) [Only Windows]

Сразу скажу - я нормально смог настроить только MVS...

Для того, чтобы начать работать с API нужно:


Сразу для ленивых жоп:
Вот эта штука называется "класс", основа всего - class.
Вот эта штука называется "размещение класса" - namespace (Альтернатива "package" из Java).
Вот эта штука называется "комментарий", то-есть некомпилируемые символы - // : коммент для всей строки. /* ... */ : коммент для определённого куска с символами. А вот это:
/**
* ...
**/
называется указательный комментарий. В C# он, к сожалению, используется как "/* ... */" :(
Вот эта штука называется "метод" - void.
У каждого метода и переменной есть свой тип:
  • public - делает * публичным, то-есть доступным в других классах/private - делает * доступным только в классе в котором он находится
  • static - нужен для использования в других методах. Делает * статичным (Не обязателен)
  • final - это уже сами учите, в принципе, не так уж и часто это будет нужно
  • float - это уже сами учите, в принципе, не так уж и часто это будет нужно


Также после класса можно унаследовать другой класс (чтобы не делать свой велосипед). Делают это так:

public class НазваниеКласса : КлассДляНаследования
{

}

В Java это выглядело бы так:
extends ... / implements I...



Кстати о методах! Если вы унаследуете другой класс, то вы можете "брать" методы из других классов, чтобы не изобретать свой велосипед (а вообще, по-другому даже с велосипедами нельзя). Для этого нужно использовать модификатор "override". Опять же, такая же штука есть в Java. Только там это аннотация "@Override", что немного удобнее, но ладно.

Пример:

public override void SetDefaults() 
{
       //Это из класса ModItem (ознакомимся позже). Как раз для этого нужно унаследовать ModItem. К сожалению, всегда можно использовать только 1 класс в качестве "родителя" в C#.
}


if - логический оператор, который проверяет значения.
Пример:

public static boolean isCode;

if(isCode)
{
print("Привет, я код.");
}



else - тоже логический оператор, который проверяет обратное значение
Пример:

public static boolean isCode;

if(isCode)
{
print("Привет, я код.");
}else
{
print("Ну я не код, так что пока детка.");
}


Или:

public static int a = 6;

if(a = 6)
{
print("Я шестёрка :(");
}else
{
print("Я не шестёрка :)");
}


Что ж, начнём моддинг.

Что делать?

А вот что:
  • Скачать IDE. Гугл в помощь.
  • Скачать tModLoader.
  • Скачать XnaFramework (ссылки в начале статьи)


Открываем IDE (В нашем случае MVS. И ДА, МОЖНО ИСПОЛЬЗОВАТЬ ЛЮБЫЕ ВЕРСИИ)
Делаем следующее:
  • Нажмите "File" (Файл)
  • Нажмите "New" (Новый)
  • Нажмите "Project" (Проект)
  • Нажмите "Templates" (Шаблоны. По умолчанию это уже сделано)
  • Нажмите "Other project types" (Другие типы проектов)
  • Нажмите "Visual Studio Solutions" (Решения Visual Studio)
  • Название сделайте таким: "Mod Sources" (Без кавычек) и укажите путь к "C:\Users\Ваш_Юзер\Documents\My Games\Terraria\ModLoader" и нажмите "ОК"
  • Нажмите по Mod Sources (А он справа) -> New Project (Новый проект) -> Windows -> Classic Desktop (Классический рабочий стол) -> Укажите название проекта в качестве названия вашего мода (Только латыница) -> Нажмите "ОК"
  • Нажмите по "References" (А он тоже справа) -> Add reference (Добавить ссылку) -> Overview (Обзор), а дальше:
  • Добавьте ваш "пропатченный" Terraria.exe (то-есть, с установленным tModLoader). Чтобы это сделать, просто нажмите "Overview..." (Обзор...) (тот, что снизу)

P.S. Вот "References":
Учебник по tModLoader API

P.S.S. Вот низ:
Учебник по tModLoader API


Дальше кликните по вашему проекту -> Нажмите "Add" (Добавить) -> Class (Класс).
Откроется окно. Там в окошке для названия впишите "название проекта.cs" (.cs это и есть сам класс).
P.S. Вот:
Учебник по tModLoader API


В классе впишите это:

using Terraria.ModLoader; //Используем библиотеки tModLoader'а.

namespace ВашПроект
{
    class ВашеНазвание : Mod //Это и есть унаследование
    {
        public override /* Вот пример для override */ void SetModInfo(out string name, ref ModProperties properties)
        {
            name = "НазваниеМода"; //Пишем такое же как и в build.txt
            properties.Autoload = true;
            properties.AutoloadGores = true;
            properties.AutoloadSounds = true;
        }
    }
}


Дальше создаём где-нибудь файл "build.txt"
Пишем в него следующее:

author = Автор
version = Версия
displayName = Имя для экранизации.

Хоть я и написал это кириллицей, но скажу одно: везде где только можно, нужно писать АНГЛИЙСКИМИ буквами. А в .txt файлах можно использовать и символы типа этих:
"@ ' ' * ^ : ! ) ( - _ = / +" и т. д.

Загружаем Terraria, а дальше делаем это:
  • Компилируем мод

Учебник по tModLoader API

Нажимаем "Build + Reload All"

Видим во вкладке "Mods" следующее:
Учебник по tModLoader API

На "Reload Required" не обращайте внимание, это у меня ошибка есть...









Пока думаю... всио.

С уважением, FanKar

Изменил: ghoul по причине: Добавил сказ о предметах

Информация
Чтобы оставить комментарий, войдите с помощью , зарегистрируйтесь либо войдите на сайт под своим логином.

Комментарии

  • Публикаций: 2
  • Комментариев: 93
  • Рейтинг: 31
Niko_Belli4 Посетитель
26 октября 2015 17:53
То чувство, когда немного знаешь Java.
  • Публикаций: 0
  • Комментариев: 27
  • Рейтинг: 2
Ravir Посетитель
29 октября 2015 17:23
Вышел всё-же =3

Добавить комментарий

Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.