Kelas ModNPC

Kelas dasar untuk membuat NPC, musuh, dan bos kustom.

Ringkasan

Kelas ModNPC memungkinkan Anda membuat karakter non-pemain kustom termasuk NPC ramah, musuh, dan bos dengan perilaku AI kustom. Ini dibangun berdasarkan konsep dari ModItem, jadi tinjau itu terlebih dahulu jika Anda baru dalam pengembangan tModLoader.

Contoh Musuh Dasar

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

namespace YourMod.NPCs
{
    public class ExampleEnemy : ModNPC
    {
        public override void SetStaticDefaults()
        {
            Main.npcFrameCount[Type] = 6; // Number of animation frames
        }

        public override void SetDefaults()
        {
            NPC.width = 40;
            NPC.height = 40;
            NPC.damage = 20;
            NPC.defense = 10;
            NPC.lifeMax = 100;
            NPC.HitSound = SoundID.NPCHit1;
            NPC.DeathSound = SoundID.NPCDeath1;
            NPC.value = 100f; // Money dropped
            NPC.knockBackResist = 0.5f;
            NPC.aiStyle = NPCAIStyleID.Fighter; // Zombie-like AI
        }

        public override float SpawnChance(NPCSpawnInfo spawnInfo)
        {
            return SpawnCondition.OverworldNightMonster.Chance * 0.1f;
        }
    }
}

Membuat Bos

Bos memerlukan pengaturan yang lebih kompleks dengan AI kustom:

public class ExampleBoss : ModNPC
{
    public override void SetStaticDefaults()
    {
        Main.npcFrameCount[Type] = 4;
        NPCID.Sets.BossBestiaryPriority.Add(Type);
    }

    public override void SetDefaults()
    {
        NPC.width = 100;
        NPC.height = 100;
        NPC.damage = 40;
        NPC.defense = 15;
        NPC.lifeMax = 5000;
        NPC.boss = true; // Mark as boss
        NPC.npcSlots = 10f;
        NPC.value = Item.buyPrice(gold: 5);
        NPC.knockBackResist = 0f; // Immune to knockback
        NPC.noGravity = true; // Flies
        NPC.noTileCollide = true;
        Music = MusicID.Boss1;
    }

    public override void AI()
    {
        // Custom AI code here
    }
}

Panduan Properti NPC

aiStyle

Pola AI bawaan:

  • • Fighter (seperti zombie)
  • • Flying (seperti kelelawar)
  • • Worm (bersegmen)
  • • Custom (buat sendiri)

boss

Tandai NPC sebagai bos:

  • • Menampilkan bar kesehatan
  • • Mencegah despawning
  • • Musik bos diputar
  • • Efek kematian khusus

Pelajari Lebih Lanjut

Untuk dokumentasi ModNPC lengkap dengan contoh AI:

Lihat Dokumentasi ModNPC Lengkap

Untuk dokumentasi ModNPC lengkap:

Lihat Dokumentasi Lengkap