ArCraftBlocker

Versiyon: 1.0.0 Platform: Paper 1.21.1+ Java Sürümü: 21

schedule
01

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.


02

Ö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.bypass iznine 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 reload komutu 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.

03

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).


04

Kurulum

  1. Projeyi derleyin veya hazır JAR dosyasını edinin (bkz. Derleme bölümü).
  2. Oluşan ArCraftBlocker-1.0.0.jar dosyasını sunucunuzun plugins/ klasörüne kopyalayın.
  3. Sunucuyu başlatın veya yeniden başlatın.
  4. Eklenti otomatik olarak plugins/ArCraftBlocker/config.yml dosyasını oluşturacaktır.
  5. Yapılandırmayı ihtiyacınıza göre düzenleyin ve /arcraftblocker reload komutu ile uygulayın.

05

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

06

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.

07

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 -- Örs
  • PrepareGrindstoneEvent -- 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.

auto_awesome Benzer Projeler