MCP (Mod Coder Pack)

Uyarı

These docs were written for SpongeAPI 7 and are likely out of date. If you feel like you can help update them, please submit a PR!

Mod Coder Pack (kısa MCP) başlangıçta Minecraft için modların geliştirilmesini kolaylaştırmak için senaryoların, araçların ve eşleşmelerin bir koleksiyonu olarak yaratılmıştır. Minecraft açık kaynak olmadığı ve çoğunlukla karmaşık olduğu için, orijinal kod neredeyse okunaklı olmadığından gelişmeler kötü durumdaydı. MCP, geliştiricilerin decompiled, deobuscated (insani okunabilir) Minecraft kodunu kullanarak mod oluşturabileceği bir çalışma alanı olarak tasarlandı.

İş Akışı

MCP’yi kullanmak, eklentileri geliştirme iş akışına ek adımlar ekleyerek aşağıda basitleştirilmiştir:

  • MCP çalışma alanını ayarla
    • Minecraft istemci/sunucu dosyalarını indirin

    • Deobfüssiyon kodunu (okunamayan isimleri okunabilir olanlara çevirin)

    • Decompile kod çözme (ikili sınıflardan kaynak dosyalar üretme)

  • Deobfuscated Minecraft kaynak kullanarak bir eklenti oluşturun

  • Re-obfuscate the plugin code so it can be used with the obfuscated code at runtime

Eşleşmeler

MCP, çalışma alanı kurulumu sırasında ayrı olarak uygulanan iki eşleme kümesi kullanır. Notch *, * Searge * ve * MCP * eşlemeleri arasındaki fark aşağıdaki örnekte görülebilir:

// Notch
boolean a(rw ☃);

// Searge
boolean func_72838_d(Entity p_72838_1_);

// MCP
boolean spawnEntityInWorld(Entity entityIn);
  • ** Notch eşlemeleri **, obfuscated Minecraft ikili dosyasındaki orijinal adlardır. Yeni Minecraft sürümleriyle düzenli olarak değişirler.

  • ** Searge eşlemeleri **, obfuscated yöntemler, alanlar ve parametreler ile sınıflar için okunabilir isimler için benzersiz adlar içerir. Notch eşleştirmelerinin aksine, yöntem imzaları değişmedikçe genellikle Minecraft güncellemelerinde aynı kalırlar. SpongeVanilla ve SpongeForge için ayrıca üretimde (IDE’nizin dışında) kullanılırlar.

  • ** MCP eşlemeleri **, çoğunlukla topluluk tarafından katkıda bulunan okunabilir isimleri içerir. Genellikle yalnızca geliştirme ortamında kullanılırlar ve daha sonra Searge veya Notch eşlemelerine tekrar okunamaz hale getirilirler.

Not

When you create a plugin, you work with MCP mappings in your development environment. To run the plugin in production (outside of your IDE) you need to re-obfuscate it to Searge mappings.

MCPBot’u kullanma

The MCPBot is available in the Sponge and MCP IRC channels, or in the #bot-spam channel on Discord, and allows you to lookup MCP mappings or contribute new names. You can send commands to the bot by sending messages in one of the supported channels (e.g. #spongedev).

Tüyo

Mevcut tüm komutların bir listesi için MCPBot help page sayfasına göz atın.

Yeni isimlere katkıda bulunmak

Hâlâ adlandırılmamış sınıf üyeleri için adlar da katkıda bulunabilirsiniz. Daha fazla talimat için MCPBot yardım sayfasını gözden geçirin.

Not

Mevcut isimleri değiştiremezsiniz. Mevcut bir eşlemeyi değiştirmeyi öneriyorsanız, GitHub’daki MCPBot sorun izleyicisinde yeni bir konu oluşturun <https://github.com/ModCoderPack/MCPBot-Issues/issues>`_.

Ayrıca bakınız

Mod Kodlayıcı Paketi

Mod Coder Pack’in resmi internet sitesi.

MCPBot yardım sayfası

MCPBot kullanımı hakkında daha fazla bilgi.