ArCraftBlocker
Versiyon: 1.0.0 Platform: Paper 1.21.1+ Java Sürümü: 21
Kısa Açıklama
ArCraftBlocker, Minecraft sunucularında tüm üretim (crafting), eritme (smelting), örs, taş kesici, bileme taşı, dokuma tezgahı ve haritacılık masası gibi sistemleri engelleyen bir Paper eklentisidir. Köylü ticareti (villager trading) bu engellemeden muaftır. Beyaz liste (whitelist) sistemi sayesinde belirli eşyaların üretimine izin verilebilir. Ek olarak, dupe (eşya kopyalama) koruması ile sunucu güvenliğini artırır.
Özellikler
- Tüm Üretim Sistemlerini Engelleme: Çalışma masası, fırın, yüksek fırın, dumanlayıcı, örs, demirci masası (smithing), taş kesici, bileme taşı, dokuma tezgahı ve haritacılık masası üzerinden yapılan üretimler engellenir.
- Kamp ateşi Engelleme: Kamp ateşi ve ruh kamp ateşi üzerinde pişirme işlemi engellenir.
- Köylü Ticareti Muafiyeti: Köylü ticaret arayüzü (Merchant GUI) engellemeden tamamen muaftır.
- Beyaz Liste Sistemi:
config.ymlüzerinden belirlenen eşyaların üretilmesine izin verilir. - Akıllı Fırın Yönetimi: Beyaz listedeki eşyaların hammaddelerini otomatik olarak tespit eder ve bu hammaddelerin fırında eritilmesine izin verir. Yakıt tüketimi de buna göre kontrol edilir.
- Bypass İzni:
arcraftblocker.bypassiznine sahip oyuncular tüm engellemelerden muaftır. - Özelleştirilebilir Mesajlar: Engelleme mesajı, renk kodları ile özelleştirilebilir. Action bar veya sohbet üzerinden gönderilebilir.
- Mesaj Spam Engelleme: Ayarlanabilir bekleme süresi (cooldown) ile mesaj spamı önlenir.
- Dupe Koruması:
- Hızlı tıklama limiti ile sonuç slotundan eşya kopyalamayı engeller.
- Envanter kapatıldığında imleç üzerindeki şüpheli eşyaları temizler.
- Oyuncu sunucudan ayrıldığında tıklama verilerini temizler.
- Anlık Açma/Kapama: Komut ile eklenti anında aktif veya deaktif yapılabilir.
- Canlı Yeniden Yükleme:
/arcraftblocker reloadkomutu ile yapılandırma sunucu yeniden başlatılmadan yenilenir. - Tab Tamamlama: Komutlar için otomatik tab tamamlama desteği.
- Çok Katmanlı Engelleme: Prepare eventleri (görsel bastırma), GUI tıklama engelleme ve CraftItemEvent gibi birden fazla katmanda koruma sağlar.
Gereksinimler
| Gereksinim | Minimum Sürüm |
|---|---|
| Minecraft Sunucusu | Paper 1.21.1 veya üzeri |
| Java | 21 |
| Maven (derleme için) | 3.x |
Not: Bu eklenti Paper API'ye özeldir. Spigot veya CraftBukkit üzerinde çalışmayabilir (Adventure API bağımlılığı nedeniyle).
Kurulum
- Projeyi derleyin veya hazır JAR dosyasını edinin (bkz. Derleme bölümü).
- Oluşan
ArCraftBlocker-1.0.0.jardosyasını sunucunuzunplugins/klasörüne kopyalayın. - Sunucuyu başlatın veya yeniden başlatın.
- Eklenti otomatik olarak
plugins/ArCraftBlocker/config.ymldosyasını oluşturacaktır. - Yapılandırmayı ihtiyacınıza göre düzenleyin ve
/arcraftblocker reloadkomutu ile uygulayın.
Komutlar ve İzinler
Komutlar
| Komut | Açıklama |
|---|---|
/arcraftblocker reload |
Yapılandırma dosyasını yeniden yükler. |
/arcraftblocker toggle |
Eklentiyi açar veya kapatır (değişiklik config.yml dosyasına kaydedilir). |
/arcraftblocker status |
Eklentinin şu anki durumunu (aktif/deaktif) gösterir. |
İzinler
| İzin | Açıklama | Varsayılan |
|---|---|---|
arcraftblocker.admin |
Yönetici komutlarını kullanma izni (reload, toggle, status). |
OP |
arcraftblocker.bypass |
Tüm üretim engellemelerini atlama izni. Bu izne sahip oyuncular normal şekilde üretim yapabilir. | OP |
Yapılandırma (config.yml)
# ArCraftBlocker Configuration
# Eklenti durumu (Ana anahtar)
# true = tüm engellemeler aktif, false = eklenti devre dışı
enabled: true
message:
# Oyuncu engellenmiş bir eşya üretmeye çalıştığında gösterilecek mesaj
# Renk kodları desteklenir (& ile, örn: &c = kırmızı, &a = yeşil)
text: "&cMalesef bu eşyayı üretemessin!"
# Mesajı Action Bar'da mı (true) yoksa sohbette mi (false) göster
actionbar: true
# Mesaj bekleme süresi (milisaniye) - Aynı mesajın tekrar gösterilmesi için
# geçmesi gereken süre. Spam engellemek için kullanılır.
cooldown-ms: 700
# Beyaz liste - Üretilmesine izin verilen eşyalar
# Buraya Minecraft material adlarını büyük harfle yazın.
# Tam liste: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
whitelist:
- "OAK_BUTTON"
# Dupe (Eşya Kopyalama) Koruması Ayarları
dupe-protection:
# Dupe korumasını aç/kapat
enabled: true
# Hızlı tıklama limiti (milisaniye)
# Sonuç slotuna art arda yapılan tıklamalar arasında geçmesi gereken
# minimum süre. Düşük değer = daha sıkı koruma.
click-limit-ms: 10
# Envanter kapatıldığında imleç üzerindeki eşyayı temizle
# Crafting GUI'den çıkarken imleçte kalan şüpheli eşyaları siler.
clear-cursor-on-close: true
Yapılandırma Açıklamaları
| Anahtar | Tür | Varsayılan | Açıklama |
|---|---|---|---|
enabled |
boolean | true |
Eklentinin ana anahtarı. false yapıldığında hiçbir engelleme uygulanmaz. |
message.text |
string | "&cMalesef bu eşyayı üretemessin!" |
Engelleme mesajı. & ile renk kodları desteklenir. |
message.actionbar |
boolean | true |
true ise mesaj Action Bar'da, false ise sohbette gösterilir. |
message.cooldown-ms |
long | 700 |
Aynı oyuncuya mesajın tekrar gösterilmesi için geçmesi gereken süre (ms). |
whitelist |
liste | ["OAK_BUTTON"] |
Üretilmesine izin verilen eşyaların Material adları listesi. |
dupe-protection.enabled |
boolean | true |
Dupe korumasını etkinleştirir veya devre dışı bırakır. |
dupe-protection.click-limit-ms |
long | 10 |
Sonuç slotuna yapılan tıklamalar arasındaki minimum süre (ms). |
dupe-protection.clear-cursor-on-close |
boolean | true |
Crafting GUI kapatıldığında imleçteki eşyayı temizler. |
Nasıl Çalışır
ArCraftBlocker, çok katmanlı bir engelleme mimarisi kullanarak üretim sistemlerini kontrol altına alır:
1. Görsel Bastırma (Prepare Events)
Oyuncu malzemeleri yerleştirdiği anda sonuç slotu boşaltılır. Bu sayede oyuncu engellenmiş bir eşyanın sonucunu bile göremez. Kapsanan olaylar:
PrepareItemCraftEvent-- Çalışma masası ve oyuncu envanteri crafting alanıPrepareSmithingEvent-- Demirci masasıPrepareAnvilEvent-- ÖrsPrepareGrindstoneEvent-- Bileme taşı
2. GUI Etkileşim Engelleme (InventoryClickEvent)
Sonuç slotuna yapılan tıklamalar yakalanır ve iptal edilir. Bu katman şu envanter türlerini kapsar:
WORKBENCH/CRAFTING(çalışma masası / oyuncu envanteri)FURNACE/BLAST_FURNACE/SMOKER(fırın / yüksek fırın / dumanlayıcı)ANVIL/SMITHING/STONECUTTER(örs / demirci masası / taş kesici)GRINDSTONE/LOOM/CARTOGRAPHY(bileme taşı / dokuma tezgahı / haritacılık masası)
Köylü ticareti (MERCHANT) bu kontrolden muaftır.
3. Otomatik Sistem Engelleme
- BlockCookEvent: Fırın, yüksek fırın ve dumanlayıcıda otomatik pişirme/eritme işlemini engeller.
- FurnaceBurnEvent: Beyaz listede olmayan eşyalar için yakıt tüketimini engeller.
- PlayerInteractEvent: Kamp ateşi ve ruh kamp ateşi ile etkileşimi engeller.
4. Son Savunma Hattı (CraftItemEvent)
Diğer katmanları bir şekilde atlayan üretim girişimlerini yakalayan son güvenlik katmanıdır.
5. Beyaz Liste ve Fırın Akıllı Eşleme
RecipeManager sınıfı, sunucu tariflerini tarayarak beyaz listedeki eşyaların hammaddelerini otomatik olarak belirler. Örneğin beyaz listede bir yemek varsa, o yemeğin çiğ hali fırında pişirilmeye otomatik olarak izin verilir.
6. Dupe Koruması
DupeProtectionListener sınıfı ayrı bir katman olarak çalışır:
- Sonuç slotuna art arda yapılan hızlı tıklamaları tespit eder ve engeller.
- Crafting GUI kapatıldığında imleçte kalan (potansiyel olarak hatalı şekilde alınmış) eşyaları temizler.
- Oyuncu sunucudan ayrıldığında ilgili verileri bellekten temizler.