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 |