Rehber
Plugin yeni bir Minecraft sürümüne nasıl güncellenir
18 Ekim 2026 güncellendi
Sunucun yeni bir Minecraft sürümüne geçtiğinde birçok plugin hiçbir değişiklik olmadan çalışmaya devam eder, çünkü Bukkit API'si kararlıdır. Diğerleri yüklenmeyi bırakır veya küçük şekillerde bozulur. Yazar bir plugin'i güncellemediyse ve kaynak kodu sendeyse onu kendin güncelleyebilirsin: işte neyin değiştiği ve hangi sırayla.
Yeni sürümde nasıl çalışması gerektiğini anlat.
Bunu Codexe ile oluşturAdım adım
1.Önce eski .jar'ı dene
Onu yeni sürümdeki bir test sunucusuna koy ve konsolu oku. Yükleniyor ve çalışıyorsa hiçbir şeyi değiştirmen gerekmeyebilir.
2.API bağımlılığını değiştir
pom.xmlveyabuild.gradleiçindepaper-apiya daspigot-apideğerini yeni sürüme ayarla.3.api-version'ı ve Java'yı güncelle
plugin.ymliçindeapi-versiondeğerini ayarla (örneğin'1.21') ve yeni sürümün ihtiyaç duyduğu Java için derle: 1.20.5'ten önce Java 17, 1.20.5'ten itibaren Java 21, 26.x için Java 25.4.Artık derlenmeyenleri düzelt
Derle ve hataların üzerinden geç: yeniden adlandırılan malzemeler, kaldırılan metotlar, değişen olay sınıfları. Derleyici onları dosya ve satırla listeler.
5.Bağımlılıkları güncelle
Plugin'inin kullandığı plugin'lerin (Vault, PlaceholderAPI, ProtocolLib, WorldGuard) de hem derleme dosyasında hem sunucuda yeni Minecraft sürümünü destekleyen sürümlere ihtiyacı vardır.
6.Yeni sürümde test et
Aynı plugin'lerle yeni sürümdeki bir sunucuda yükle ve yalnızca açılışı değil, her komutu ve özelliği dene.
Genellikle ne bozulur
- Malzeme ve enum adları: 1.13 güncellemesi eşyaların ve blokların çoğunu yeniden adlandırdı; sonraki sürümler bazılarını ekler, yeniden adlandırır veya kaldırır. Eski adları veya sayısal kimlikleri kullanan kod başarısız olur.
- Kaldırılan kullanımdan kalkmış metotlar: birkaç sürüm boyunca deprecated olarak işaretlenen metotlar sonunda ortadan kalkar.
- Eşya verileri: 1.20.5'ten itibaren eşya NBT'si yerini veri bileşenlerine bıraktı. Eşya NBT'sini doğrudan düzenleyen plugin'lerin o kısmının yeniden yazılması gerekir; normal
ItemMetaAPI'si çalışmaya devam eder. - NMS ve reflection: sunucunun iç sınıflarını kullanan kod neredeyse her sürümde bozulur. Mümkün olduğunda onu API ile ya da ProtocolLib gibi bir kütüphaneyle değiştir.
- Kütüphane sürümleri: eski bir Java için derlenmiş gömülü kütüphaneler yenisinde başarısız olabilir.
Birçok sürüm atlayarak güncelleme
1.8 veya 1.12'den 1.21'e geçmek bir güncellemeden çok, eşyalara, bloklara ve parçacıklara dokunan kısımların yeniden yazılmasına yakındır. Bunu sürüm sürüm değil, yeni API'ye karşı tek seferde yap ve yapılandırma dosyalarının da yeni malzeme adlarına ihtiyaç duyacağını bekle.
Plugin'in aynı anda birden fazla sürümü desteklemesi gerekiyorsa desteklediğin en eski sürüme karşı derle ve sonradan eklenen API'den kaçın ya da her sürüm için ayrı derlemeler kullan.
Codexe ile
Pro ve üzeri planlarda plugin'in kaynağını ZIP olarak içe aktarabilir ve örneğin "Bu benim Paper 1.20.4 plugin'im. Onu Paper 1.21.4'e güncelle" diyebilirsin. Codexe Minecraft sürümünü derleme dosyasından okur, o sürümün ihtiyaç duyduğu Java ile derler ve derleme hatalarını karşısında derlediği API'nin gerçek imzalarını kullanarak onarır. Codexe'te yaptığın bir plugin için yeni sürümü proje sohbetinde iste.
Derleme, plugin'in yeni API üzerinde derlendiğini kanıtlar. Sonra onu bir test sunucusunda dene, çünkü sürümler arasındaki davranış değişiklikleri derleme hatası olarak görünmez.
Sorular
Kaynak kodu olmadan bir plugin'i güncelleyebilir miyim?
Güvenilir bir şekilde değil. Bir .jar'ı decompile etmek bakımı zor bir kod verir ve yazarın lisansını ihlal edebilir. Önce güncellenmiş bir sürüm veya bakımı yapılan bir çatal ara.
Bir 1.21.1 plugin'i 1.21.4'te çalışır mı?
Aynı ana sürüm içinde, NMS veya değişmiş bir API kullanmıyorsa çoğu zaman evet. Ona güvenmeden önce test et.
Sunucu neden "Unsupported API version" diyor?
Bu tersi bir durumdur: plugin sunucudan daha yeni bir API'yi hedefliyor. Onu sunucunun sürümü için derle ya da sunucuyu güncelle.
Bir plugin'i kendi sürümün için yeniden derle
Bu prompt göndermeye hazır açılır:
“Spigot 1.12.2 plugin'im TreeFeller'ın Paper 1.21.4 sürümü: bir ağacın en alttaki kütüğünü baltayla kırmak tüm ağacı kırar, kütük başına dayanıklılık harcar, kiraz ve mangrov dahil 1.21'in tüm ağaç türlerinde çalışır, /treefeller ile açılıp kapanır, ayarlar config.yml içinde.”
Bunu Codexe ile oluştur