tModLoader Logo tModLoader / 博客 / 创建你的第一个模组
返回博客
开发 发布于 2025 年 9 月 23 日

2025 如何创建你的第一个 Terraria 模组

准备好加入模组开发者的行列了吗?这份全面的教程将引导你从设置到发布,创建你的第一个 Terraria 模组,附带实际示例和专业技巧。

你将学到

  • • 设置你的开发环境
  • • 创建具有独特属性的自定义武器
  • • 理解 tModLoader 的 C# API
  • • 测试和调试你的模组
  • • 发布到 Steam Workshop

前置条件

所需知识

  • • 基本 C# 编程(变量、方法、类)
  • • 熟悉 Terraria 游戏玩法
  • • 基本了解面向对象编程

所需软件

  • • 已安装并可正常运行的 tModLoader
  • • Visual Studio 2022(推荐)或 VS Code
  • • .NET 6.0 SDK 或更高版本

步骤 1:开发环境设置

创建模组模板

  1. 启动 tModLoader,前往"创意工坊" → "开发模组"
  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:构建和测试

使用构建 + 重载

tModLoader 对开发者最好的功能是"构建 + 重载"系统,让你可以即时测试更改:

  1. 在 tModLoader 中,前往"创意工坊" → "开发模组"
  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 模组!这只是开始 - tModLoader 的 API 能做到令人难以置信的事情。 接下来探索 NPC、弹幕、图块和世界生成吧。