FoliaTimber
FoliaTimber: Folia İçin Akıllı Ağaç Kesme Eklentisi
Bazen en basit fikirler, internette bulamadığınız çözümlerden doğar.
Bugün sizlerle uzun süredir üzerinde çalıştığım bir projeyi paylaşmak istiyorum: FoliaTimber artık Modrinth üzerinde yayında ve kullanıma hazır.
Sorunun Kaynağı
Minecraft'ta ağaç keserken hepimizin başına gelmiştir: Bir odunu kırarsınız, tüm ağaç devrilir... ama beraberinde köylü evinin duvarı da gider. Ya da saatlerce emek verdiğiniz ağaç evin bir kısmı, timber eklentisinin kurbanı olur.
Peki çözüm? Folia gibi çok çekirdekli, yüksek performanslı sunucu yazılımlarına uyumlu bir timber eklentisi bulmak. Ancak internette ne aradıysam, ya Folia desteği yoktu ya da yapı koruması düzgün çalışmıyordu. Sunucu başlatılırken "Folia uyumu bulunamadı" hatası veren eklentilerden bıkmıştım.
Sonunda karar verdim: Kendin pişir, kendin ye.
Arkasındaki Mantık
FoliaTimber'ın temel felsefesi basit ama etkili: Sadece doğal ağaçları kes, oyuncu yapılarına dokunma.
Peki bir bloğun doğal bir ağaca mı yoksa bir yapıya mı ait olduğunu nasıl anlıyoruz? İşte burada iki katmanlı bir koruma sistemi devreye giriyor:
Yaprak-Odun Oranı Analizi: Doğal ağaçların belirli bir yaprak-odun oranı vardır. Bir meşe ağacının kaç yaprağı ve kaç odunu olacağı tahmin edilebilir. Eğer kırdığınız bloğa bağlı yapıda bu oran tutmuyorsa, büyük ihtimalle bir oyuncu yapısıyla karşı karşıyasınız demektir.
CoreProtect Entegrasyonu: Sunucunuzda CoreProtect yüklüyse, FoliaTimber bu eklentiyle iletişime geçerek bloğun geçmişini sorgular. Eğer blok bir oyuncu tarafından yerleştirilmişse, timber özelliği o blok için devre dışı kalır.
Bu iki yöntemin birleşimi, hem false positive (yanlışlıkla yapı kırma) hem de false negative (ağacı kesmeme) oranlarını minimuma indiriyor.
Teknik Detaylar
FoliaTimber, Folia'nın bölge tabanlı zamanlama sistemini kullanarak yüksek performans sağlıyor. Geleneksel Bukkit eklentilerinin aksine, her işlem ilgili bölgenin thread'inde gerçekleştiriliyor. Bu sayede sunucu TPS'i etkilenmeden büyük ağaçlar bile kesilebiliyor.
Ek olarak:
Doğrudan Envanter Ekleme: Kesilen odunlar yere düşmek yerine doğrudan envantere eklenir. Bu, hem entity lag'ını önler hem de kayıp riski ortadan kalkar.
Akıllı Dayanıklılık: Balta dayanıklılığı yalnızca odunlar için harcanır; çürüyen yapraklar baltanızı yıpratmaz.
WorldGuard Desteği: Koruma altındaki bölgelerde timber özelliği otomatik olarak devre dışı kalır.
Sonuç
FoliaTimber, bir ihtiyaçtan doğan ve toplulukla paylaşılan açık kaynaklı bir projedir. MIT lisansı altında yayınlandı ve Modrinth tarafından güvenilir bulundu.
Eğer siz de Folia sunucunuzda güvenle kullanabileceğiniz bir timber eklentisi arıyorsanız, gönül rahatlığıyla deneyebilirsiniz.
Eklentiye erişmek için: https://modrinth.com/plugin/foliatimber