Classe ModItem
Classe de base pour créer des objets, armes, outils et accessoires personnalisés.
Aperçu
La classe ModItem est utilisée pour définir des objets personnalisés dans tModLoader. En étendant cette classe, vous pouvez créer des armes, des accessoires, des consommables et tout autre type d'objet. Consultez des exemples pratiques dans notre tutoriel de Création d'Objets.
Namespace
Terraria.ModLoader
Méthodes Courantes
SetDefaults()
Définir les propriétés de l'objet comme les dégâts, la taille, le temps d'utilisation, etc.
public override void SetDefaults()
{
Item.damage = 50;
Item.width = 40;
Item.height = 40;
Item.useTime = 20;
}
AddRecipes()
Définir les recettes de fabrication pour votre objet.
public override void AddRecipes()
{
Recipe recipe = CreateRecipe();
recipe.AddIngredient(ItemID.Wood, 10);
recipe.AddTile(TileID.WorkBenches);
recipe.Register();
}
Exemples Avancés d'Objets
Créer une Arme à Distance
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
}
}
Créer un Objet Consommable
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
}
}
Créer un Accessoire
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
}
}
Référence Complète des Propriétés
| Propriété | Type | Description | Exemple |
|---|---|---|---|
| damage | int | Valeur de dégâts de base | 50 |
| useTime | int | Images entre les utilisations | 20 |
| knockBack | float | Force de recul | 6.5f |
| autoReuse | bool | Frappe automatique en maintenant | true |
| maxStack | int | Taille maximale de la pile | 999 |
| consumable | bool | Consommé à l'utilisation | true |