Klasse ModItem

Basisklasse zum Erstellen benutzerdefinierter Gegenstände, Waffen, Werkzeuge und Zubehör.

Übersicht

Die Klasse ModItem wird verwendet, um benutzerdefinierte Gegenstände in tModLoader zu definieren. Durch Erweiterung dieser Klasse können Sie Waffen, Zubehör, Verbrauchsgegenstände und jeden anderen Gegenstandstyp erstellen. Praktische Beispiele finden Sie in unserem Tutorial zum Erstellen von Gegenständen.

Namespace

Terraria.ModLoader

Häufige Methoden

SetDefaults()

Gegenstandseigenschaften wie Schaden, Größe, Nutzungszeit usw. festlegen.

public override void SetDefaults()
{
    Item.damage = 50;
    Item.width = 40;
    Item.height = 40;
    Item.useTime = 20;
}

AddRecipes()

Herstellungsrezepte für Ihren Gegenstand definieren.

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

Fortgeschrittene Gegenstandsbeispiele

Fernkampfwaffe erstellen

public class ExampleBow : ModItem
{
    public override void SetDefaults()
    {
        Item.damage = 30;
        Item.DamageType = DamageClass.Ranged;
        Item.width = 16;
        Item.height = 32;
        Item.useTime = 25;
        Item.useAnimation = 25;
        Item.useStyle = ItemUseStyleID.Shoot;
        Item.noMelee = true; // Don't deal melee damage
        Item.knockBack = 2;
        Item.value = Item.sellPrice(silver: 30);
        Item.rare = ItemRarityID.Green;
        Item.UseSound = SoundID.Item5;
        Item.autoReuse = true;
        Item.shoot = ProjectileID.WoodenArrowFriendly;
        Item.shootSpeed = 10f;
        Item.useAmmo = AmmoID.Arrow; // Uses arrows as ammo
    }
}

Verbrauchsgegenstand erstellen

public class ExamplePotion : ModItem
{
    public override void SetDefaults()
    {
        Item.width = 20;
        Item.height = 26;
        Item.useStyle = ItemUseStyleID.DrinkLiquid;
        Item.useAnimation = 15;
        Item.useTime = 15;
        Item.useTurn = true;
        Item.UseSound = SoundID.Item3;
        Item.maxStack = 30;
        Item.consumable = true; // Item is consumed on use
        Item.rare = ItemRarityID.Orange;
        Item.value = Item.buyPrice(gold: 1);
        Item.buffType = BuffID.Ironskin; // Grants buff
        Item.buffTime = 5 * 60 * 60; // 5 minutes
    }
}

Zubehör erstellen

public class ExampleAccessory : ModItem
{
    public override void SetDefaults()
    {
        Item.width = 24;
        Item.height = 24;
        Item.value = Item.sellPrice(gold: 1);
        Item.rare = ItemRarityID.Orange;
        Item.accessory = true; // Mark as accessory
    }

    public override void UpdateAccessory(Player player, bool hideVisual)
    {
        player.moveSpeed += 0.15f; // +15% movement speed
        player.jumpSpeedBoost += 1.5f; // Better jumps
        player.GetDamage(DamageClass.Generic) += 0.08f; // +8% all damage
    }
}

Vollständige Eigenschaftsreferenz

Eigenschaft Typ Beschreibung Beispiel
damage int Basis-Schadenswert 50
useTime int Frames zwischen Nutzungen 20
knockBack float Rückstoß-Stärke 6.5f
autoReuse bool Automatisches Schwingen beim Halten true
maxStack int Maximale Stapelgröße 999
consumable bool Wird bei Nutzung verbraucht true

Externe Ressourcen