درس تعليمي لواجهة برمجة تطبيقات tModLoader للمطورين 2025
درس تعليمي شامل لواجهة API يغطي ModItem وModNPC وتقنيات التطوير المتقدمة مع أمثلة عملية.
نظرة عامة على فئات API الأساسية
ModItem
إنشاء أسلحة وأدوات وإكسسوارات ومواد استهلاكية مخصصة
- • SetDefaults() - تعريف خصائص العنصر
- • AddRecipes() - إنشاء وصفات التصنيع
- • UseItem() - سلوك استخدام مخصص
ModNPC
إنشاء أعداء وشخصيات NPC في المدينة وزعماء بذكاء اصطناعي مخصص
- • SetDefaults() - إحصائيات وسلوك NPC
- • AI() - ذكاء اصطناعي مخصص
- • ModifyNPCLoot() - تعريف جداول الغنائم
مثال: إنشاء سلاح سحري متقدم
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
}
}
هذا ينشئ عصا تطلق 3 صواعق سحرية بنمط انتشاري، مما يوضح آليات المقذوفات المتقدمة.
أفضل ممارسات API لعام 2025
✅ افعل
- • استخدم ModContent.ItemType<T>() لمراجع العناصر
- • نفّذ فحص null بشكل صحيح
- • اتبع اصطلاحات تسمية C#
- • اختبر في بيئة اللعب الجماعي
- • وثّق الكود بالتعليقات
❌ لا تفعل
- • لا تضع معرّفات العناصر بشكل ثابت في الكود
- • لا تصل إلى Main.player مباشرة في اللعب الجماعي
- • لا تتجاهل تحذيرات المترجم
- • لا تستخدم عمليات ثقيلة في AI()
- • لا تعدّل المحتوى الأصلي بدون ضرورة
تابع التعلم
يغطي هذا الدرس الأساسيات. للحصول على توثيق API شامل وأمثلة متقدمة، اطلع على هذه الموارد: