You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TModLoader编译Mod报错CS1061:LocalizedText无SetDefault方法

问题原因与解决方案

核心原因

你的代码基于TModLoader旧版API编写,但你使用的**TModLoader 2023.9.3.3(适配Terraria 1.4.4.9)**已对API做了多处破坏性更新,导致旧代码无法兼容:

  • LocalizedText类型(对应DisplayName、Tooltip成员)移除了SetDefault方法,改用新的文本设置逻辑
  • 原实例字段item被替换为属性Item(首字母大写)
  • ModRecipe的构造参数规范变更,不再直接接受旧的mod字段

修复步骤

针对代码中的问题,逐一修改如下:

  1. 替换文本设置方式:将DisplayName.SetDefault(...)和Tooltip.SetDefault(...)改为DisplayName.Set(...)和Tooltip.Set(...)
  2. 替换实例访问成员:所有item.xxx调用替换为Item.xxx
  3. 修正ModRecipe构造:将new ModRecipe(mod)改为new ModRecipe(Mod)(利用ModItem内置的Mod属性)

完整修复代码

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

namespace FastPickaxe.Items
{
    public class FastPickaxe : ModItem
    {
        public override void SetStaticDefaults()
        {
            DisplayName.Set("Sixty-Nine Thousand Four Hundred Twenty times 2 Pickaxe");
            Tooltip.Set("Even the Damage is worth it! Hopefully your PC won't crash...");
        }

        public override void SetDefaults()
        {
            Item.damage = 69420;
            Item.melee = true;
            Item.width = 64;
            Item.height = 64;
            Item.useTime = 2;
            Item.useAnimation = 10;
            Item.pick = 69420;
            Item.useStyle = ItemUseStyleID.Swing;
            Item.knockBack = 2;
            Item.value = Item.buyPrice(0, 10, 0, 0);
            Item.rare = ItemRarityID.Purple;
            Item.UseSound = SoundID.Item1;
            Item.autoReuse = true;
        }

        public override void AddRecipes()
        {
            ModRecipe recipe = new ModRecipe(Mod);
            recipe.AddIngredient(ItemID.LifeCrystal, 99);
            recipe.AddIngredient(ItemID.LifeFruit, 99);
            recipe.AddTile(TileID.LunarCraftingStation);
            recipe.SetResult(this);
            recipe.AddRecipe();
        }
    }
}

额外优化:将硬编码数字替换为官方枚举常量,提升代码可读性与版本兼容性。

内容的提问来源于stack exchange,提问作者epicness tv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 10:43:28