tModLoader Logo tModLoader / Блог / Создание первого мода
Назад к блогу
РАЗРАБОТКА Опубликовано 23 сентября 2025

Как создать свой первый мод для Terraria в 2025 году

Готовы присоединиться к рядам разработчиков модов? Этот подробный учебник проведёт вас через создание вашего первого мода Terraria от настройки до публикации, с практическими примерами и экспертными советами.

Что вы узнаете

  • • Настройка среды разработки
  • • Создание пользовательского меча с уникальными свойствами
  • • Понимание API C# tModLoader
  • • Тестирование и отладка вашего мода
  • • Публикация в Steam Workshop

Предварительные требования

Необходимые знания

  • • Базовое программирование на C# (переменные, методы, классы)
  • • Знакомство с геймплеем Terraria
  • • Базовое понимание объектно-ориентированного программирования

Необходимое ПО

  • • Установленный и работающий tModLoader
  • • Visual Studio 2022 (рекомендуется) или VS Code
  • • .NET 6.0 SDK или новее

Шаг 1: Настройка среды разработки

Создание шаблона мода

  1. Запустите tModLoader и перейдите в «Workshop» → «Разработка модов»
  2. Нажмите «Создать мод»
  3. Введите название мода (например, «MyFirstMod» — без пробелов!)
  4. Заполните имя автора и описание
  5. Нажмите «Создать»

Это создаст шаблон мода в папке ModSources со всеми необходимыми файлами.

Шаг 2: Создание пользовательского меча

Давайте создадим простой, но эффективный пользовательский меч. Это научит вас основам создания предметов.

Создание класса предмета

Create a new file: Items/BeginnerSword.cs

using Terraria;
using Terraria.ID;
using Terraria.ModLoader;

namespace MyFirstMod.Items
{
    public class BeginnerSword : ModItem
    {
        public override void SetDefaults()
        {
            // Basic item properties
            Item.damage = 45;                    // Damage value
            Item.DamageType = DamageClass.Melee; // Damage type
            Item.width = 40;                     // Hitbox width
            Item.height = 40;                    // Hitbox height
            Item.useTime = 20;                   // Use speed
            Item.useAnimation = 20;              // Animation speed
            Item.useStyle = ItemUseStyleID.Swing;// How it's used
            Item.knockBack = 6;                  // Knockback strength
            Item.value = Item.buyPrice(gold: 2); // Sell value
            Item.rare = ItemRarityID.Green;      // Rarity color
            Item.UseSound = SoundID.Item1;       // Use sound
            Item.autoReuse = true;               // Can auto-swing
        }

        public override void AddRecipes()
        {
            Recipe recipe = CreateRecipe();
            recipe.AddIngredient(ItemID.IronBar, 15);
            recipe.AddIngredient(ItemID.Wood, 10);
            recipe.AddTile(TileID.Anvils);
            recipe.Register();
        }
    }
}

Разбор кода

  • SetDefaults(): Определяет все свойства предмета: урон, размер и поведение
  • AddRecipes(): Создаёт рецепты крафта для вашего предмета
  • DamageClass.Melee: Масштабируется с бонусами урона ближнего боя
  • ItemRarityID.Green: Устанавливает цвет редкости (влияет на цвет названия предмета)

Шаг 3: Сборка и тестирование

Using Build + Reload

Лучшая функция tModLoader для разработчиков — система «Сборка + Перезагрузка», которая позволяет мгновенно тестировать изменения:

  1. В tModLoader перейдите в «Workshop» → «Разработка модов»
  2. Найдите свой мод и нажмите «Сборка + Перезагрузка»
  3. Дождитесь компиляции (должно занять 5-10 секунд)
  4. Ваш мод автоматически перезагрузится с изменениями
  5. Протестируйте новый меч в игре!

Тестирование меча

Чтобы протестировать новый меч:

  • 1. Откройте инвентарь и проверьте, можно ли его скрафтить (вам понадобятся железные слитки и дерево)
  • 2. Скрафтите меч и проверьте его урон на врагах
  • 3. Проверьте, что звуковой эффект и анимация работают правильно
  • 4. Убедитесь в работе автоматического взмаха

Добавление продвинутых функций

Пользовательские эффекты при попадании

Давайте добавим специальный эффект, когда ваш меч попадает по врагу:

public override void OnHitNPC(Player player, NPC target, NPC.HitInfo hit, int damageDone)
{
    // 20% chance to inflict fire debuff
    if (Main.rand.NextBool(5))
    {
        target.AddBuff(BuffID.OnFire, 180); // 3 seconds of fire
    }

    // Spawn some visual effects
    for (int i = 0; i < 10; i++)
    {
        Dust.NewDust(target.position, target.width, target.height, DustID.Fire);
    }
}

Это добавляет 20% шанс поджечь врагов и создаёт огненные эффекты частиц при попадании.

Пользовательская подсказка

Добавьте пользовательский текст в подсказку предмета:

public override void ModifyTooltips(List<TooltipLine> tooltips)
{
    TooltipLine line = new TooltipLine(Mod, "CustomTooltip", "A sword forged by a beginner modder!");
    line.OverrideColor = Color.Orange;
    tooltips.Add(line);
}

Публикация мода

Публикация в Steam Workshop

  1. Убедитесь, что мод компилируется без ошибок
  2. Добавьте файл icon.png (64x64 пикселей) в папку мода
  3. Напишите хороший description.txt, объясняющий, что делает ваш мод
  4. В «Разработка модов» нажмите «Опубликовать» рядом с модом
  5. Заполните форму Steam Workshop с тегами и описанием
  6. Загрузите скриншоты, показывающие мод в действии
  7. Нажмите «Опубликовать», чтобы сделать его доступным!

Советы для успешной публикации

  • • Пишите чёткие, подробные описания
  • • Включайте качественные скриншоты
  • • Используйте релевантные теги для обнаруживаемости
  • • Тщательно тестируйте перед публикацией
  • • Отвечайте на отзывы и комментарии пользователей

Поздравляем! Теперь вы разработчик модов!

Вы создали свой первый мод Terraria! Это только начало — API tModLoader способен на невероятные вещи. Далее исследуйте NPC, снаряды, тайлы и генерацию мира.