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 LengkapUntuk dokumentasi ModNPC lengkap:
Lihat Dokumentasi Lengkap