API-TUTORIAL

tModLoader API-Tutorial fأ¼r Entwickler 2025

Umfassendes API-Tutorial zu ModItem, ModNPC und fortgeschrittenen Entwicklungstechniken mit praktischen Beispielen.

أœbersicht der Kern-API-Klassen

ModItem

Erstelle benutzerdefinierte Waffen, Werkzeuge, Accessoires und Verbrauchsgأ¼ter

  • • SetDefaults() - Item-Eigenschaften definieren
  • • AddRecipes() - Herstellungsrezepte erstellen
  • • UseItem() - Benutzerdefiniertes Nutzungsverhalten

ModNPC

Erstelle Feinde, Stadt-NPCs und Bosse mit benutzerdefinierter KI

  • • SetDefaults() - NPC-Statistiken und Verhalten
  • • AI() - Benutzerdefinierte kأ¼nstliche Intelligenz
  • • ModifyNPCLoot() - Beutetabellen definieren

Beispiel: Eine fortgeschrittene Magiewaffe erstellen

public class AdvancedStaff : ModItem
{
    public override void SetDefaults()
    {
        Item.damage = 75;
        Item.DamageType = DamageClass.Magic;
        Item.mana = 15;
        Item.width = 40;
        Item.height = 40;
        Item.useTime = 30;
        Item.useAnimation = 30;
        Item.useStyle = ItemUseStyleID.Shoot;
        Item.knockBack = 5;
        Item.value = Item.buyPrice(gold: 10);
        Item.rare = ItemRarityID.Pink;
        Item.UseSound = SoundID.Item20;
        Item.autoReuse = true;
        Item.shoot = ModContent.ProjectileType<MagicBolt>();
        Item.shootSpeed = 16f;
    }

    public override bool Shoot(Player player, EntitySource_ItemUse_WithAmmo source,
                              Vector2 position, Vector2 velocity, int type, int damage, float knockback)
    {
        // Shoot 3 projectiles in a spread
        for (int i = 0; i < 3; i++)
        {
            Vector2 newVelocity = velocity.RotatedByRandom(MathHelper.ToRadians(15));
            Projectile.NewProjectile(source, position, newVelocity, type, damage, knockback, player.whoAmI);
        }
        return false; // Don't shoot the default projectile
    }
}

Dies erstellt einen Stab, der 3 Magiebolzen in einem Streumuster schieأںt und fortgeschrittene Projektilmechaniken demonstriert.

API Best Practices 2025

✅ Do's

  • • Verwende ModContent.ItemType<T>() for item references
  • • Implementiere ordentliche Null-Prأ¼fungen
  • • Folge C#-Namenskonventionen
  • • Teste in Mehrspieler-Umgebung
  • • Dokumentiere deinen Code mit Kommentaren

❌ Don'ts

  • • Keine Item-IDs fest kodieren
  • • Nicht direkt auf Main.player im MP zugreifen
  • • Compiler-Warnungen nicht ignorieren
  • • Keine aufwأ¤ndigen Operationen in AI() verwenden
  • • Vanilla-Inhalte nicht unnأ¶tig أ¤ndern

Weiterlernen

Dieses Tutorial deckt die Grundlagen ab. Fأ¼r umfassende API-Dokumentation und fortgeschrittene Beispiele schaue dir diese Ressourcen an: