Karşılaştırma

Datapack ve plugin

18 Ekim 2026 güncellendi

Bir datapack, vanilla Minecraft'ın okuduğu JSON ve .mcfunction dosyalarından oluşan bir klasördür: tarifler, ganimet, başarımlar ve komutlar. Bir plugin ise bir Paper veya Spigot sunucusunun çalıştırdığı Java kodudur. Birçok fikir iki şekilde de yapılabilir; doğru seçim nerede çalışması gerektiğine ve mantığın ne kadar karmaşık olduğuna bağlıdır.

Bir datapack'e çok uyan bir örnek.

Bunu Codexe ile oluştur

Yan yana

DatapackPlugin
GerekenlerHiçbir şey: vanilla yeterliPaper, Spigot veya bir çatalı
Tek oyunculuEvetHayır
Yazıldığı dilJSON ve Minecraft komutlarıJava veya Kotlin
İyi olduğu konularTarifler, ganimet tabloları, başarımlar, etiketler, dünya oluşturma, komut mekanikleriArgümanlı komutlar, GUI'ler, ekonomiler, veritabanları, olaylar, izinler
Olaylara tepki vermeSınırlı: başarımlar, predicate'ler ve her tick çalışan fonksiyonlarYüzlerce olay: blok kırma, sohbet, hasar, envanter tıklamaları ve daha fazlası
Veri saklamaDünyada skor tabloları ve storage NBTDosyalar, SQLite, MySQL, Java'nın kullanabildiği her şey
Sürümler arasındaBiçimler sık değişir; paketlerin güncellenmesi gerekirAPI kararlıdır; birçok plugin çalışmaya devam eder
Kurulduğu yerworld/datapacks/plugins/

Datapack'in daha iyi seçim olduğu durumlar

  • Tek oyunculu modda veya vanilla bir sunucuda çalışması gerekiyor ya da oyuncular onu bir dünya eklentisi olarak paylaşacak.
  • Fikir büyük ölçüde veriden ibaret: yeni tarifler, değiştirilmiş ganimet, bir başarım ağacı, özel dünya oluşturma.
  • Hiç sunucu yazılımı ve Java derlemesi istemiyorsun.

Plugin'in daha iyi seçim olduğu durumlar

  • Argümanlı komutlara, izinlere, GUI'lere veya bir mağazaya ihtiyacın var.
  • Veriler oyuncu başına bir dosyaya veya veritabanına kaydedilmeli ya da bir web sitesi veya Discord ile paylaşılmalı.
  • Mantık birçok olaya tepki veriyor ya da her tick çalışan çok sayıda fonksiyon gerektiriyor; bu da bir datapack'te performansa mal olur.
  • Başka plugin'ler kullanıyorsun: Vault, LuckPerms, PlaceholderAPI, WorldGuard.
  • Java ve derleme olmadan sunucu mantığı istiyorsan bir orta yol var: Skript.

Tek bir sunucuda ikisini birden kullanmak

Paper ve Spigot datapack'leri vanilla gibi dünya klasöründen yükler, bu yüzden tüm sunucu için seçim yapmak zorunda değilsin. Yaygın bir ayrım: düz veri oldukları ve düzenlemesi kolay olduğu için tarifler, ganimet tabloları, başarımlar ve dünya oluşturma bir datapack'te; komutlar, GUI'ler, ekonomi ve oyuncu başına saklanan her şey bir plugin'de. Bir datapack'in tek bir dünyaya ait olduğunu, bir plugin'in ise sunucudaki her dünyaya uygulandığını unutma.

İkisi de Codexe'te

Codexe ikisini de yapar. Bir datapack Hazır olmadan önce gerçek bir Minecraft sunucusunda yüklenir ve günlük hatalar için okunur; bir plugin derlenir. İkisi de kendi oyunundan bir özel test sunucusunda oynanabilir; dünya oluşturmayı değiştiren bir datapack de arazisini görebilmen için yeni oluşturulmuş bir dünyası olan bir sunucu alır. Datapack'ler 1.20.1'den 26.3'e kadar sürümlerde test amaçlı yüklenir; plugin'ler 1.8.8'den 26.3'e kadar sürümleri hedefleyebilir.

Sorular

Bir datapack yeni eşyalar ekleyebilir mi?

Gerçekten yeni olanları değil. Var olan eşyalara özel adlar, bileşenler ve modeller (bir kaynak paketiyle) verebilir, ama komutların izin verdiğinin ötesinde yeni davranış veremez.

Datapack'ler Paper sunucularında çalışır mı?

Evet. Paper datapack'leri vanilla gibi dünya klasöründen yükler, bu yüzden aynı sunucuda datapack'leri ve plugin'leri birlikte kullanabilirsin.

Hangisi daha hızlı?

Küçük şeyler için ikisi de iyidir. Her oyuncuyu her tick kontrol eden ağır tick fonksiyonları, tek bir olayı dinleyen bir plugin'den daha pahalıya mal olur.

Bir datapack'i sonradan plugin'e dönüştürebilir miyim?

Evet, mantığını Java'da yeniden yazarak. Paper ikisini de yüklediği için tarifler, ganimet tabloları ve başarımlar plugin'in yanında bir datapack'te kalabilir bile.

Datapack veya plugin olarak yap

Bu prompt göndermeye hazır açılır:

“Minecraft 1.21.4 için bir datapack, namespace "hunt": bir zombi, bir iskelet, bir creeper, bir enderman, bir cadı ve Ender Ejderhası'nı öldürmek için her biri XP veren 6 başarımlı bir "Monster Hunter" başarım ağacı ve bir öldürme skor tablosu ekleyen bir load fonksiyonu.”

Bunu Codexe ile oluştur
Datapack ve plugin: fikrin hangisine ihtiyaç duyuyor? | Codexe