Как создать свой первый мод для Terraria в 2025 году
Готовы присоединиться к рядам разработчиков модов? Этот подробный учебник проведёт вас через создание вашего первого мода Terraria от настройки до публикации, с практическими примерами и экспертными советами.
Что вы узнаете
- • Настройка среды разработки
- • Создание пользовательского меча с уникальными свойствами
- • Понимание API C# tModLoader
- • Тестирование и отладка вашего мода
- • Публикация в Steam Workshop
Предварительные требования
Необходимые знания
- • Базовое программирование на C# (переменные, методы, классы)
- • Знакомство с геймплеем Terraria
- • Базовое понимание объектно-ориентированного программирования
Необходимое ПО
- • Установленный и работающий tModLoader
- • Visual Studio 2022 (рекомендуется) или VS Code
- • .NET 6.0 SDK или новее
Шаг 1: Настройка среды разработки
Создание шаблона мода
- Запустите tModLoader и перейдите в «Workshop» → «Разработка модов»
- Нажмите «Создать мод»
- Введите название мода (например, «MyFirstMod» — без пробелов!)
- Заполните имя автора и описание
- Нажмите «Создать»
Это создаст шаблон мода в папке 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 для разработчиков — система «Сборка + Перезагрузка», которая позволяет мгновенно тестировать изменения:
- В tModLoader перейдите в «Workshop» → «Разработка модов»
- Найдите свой мод и нажмите «Сборка + Перезагрузка»
- Дождитесь компиляции (должно занять 5-10 секунд)
- Ваш мод автоматически перезагрузится с изменениями
- Протестируйте новый меч в игре!
Тестирование меча
Чтобы протестировать новый меч:
- 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
- Убедитесь, что мод компилируется без ошибок
- Добавьте файл icon.png (64x64 пикселей) в папку мода
- Напишите хороший description.txt, объясняющий, что делает ваш мод
- В «Разработка модов» нажмите «Опубликовать» рядом с модом
- Заполните форму Steam Workshop с тегами и описанием
- Загрузите скриншоты, показывающие мод в действии
- Нажмите «Опубликовать», чтобы сделать его доступным!
Советы для успешной публикации
- • Пишите чёткие, подробные описания
- • Включайте качественные скриншоты
- • Используйте релевантные теги для обнаруживаемости
- • Тщательно тестируйте перед публикацией
- • Отвечайте на отзывы и комментарии пользователей
Поздравляем! Теперь вы разработчик модов!
Вы создали свой первый мод Terraria! Это только начало — API tModLoader способен на невероятные вещи. Далее исследуйте NPC, снаряды, тайлы и генерацию мира.