askillsag

Bu proje, Paper 1

schedule
01

Genel Bakış

ArceniaSkills, Netherite Kılıç tabanlı 26 farklı özel yetenek sunan gelişmiş bir PvP/PvE beceri eklentisidir. Tüm beceri davranışları config.yml üzerinden hardcoding olmadan yönetilir; CustomModelData ile kılıçlara görsel modeller bağlanabilir. Müttefik ilişkileri SQLite veritabanında asenkron olarak saklanır ve sunucu performansını etkilemez.


02

Temel Özellikler

Beceri Sistemi

  • 26 hazır beceri üç kategori altında: BUFF, COMBAT, NERF
  • Tamamen config.yml üzerinden yönetilen beceriler — kod değişikliği gerekmez
  • Sağ tık tetikleme, pasif tetikleme ve projektil (hook, buz mızrağı) türleri
  • CustomModelData desteğiyle resource pack uyumlu kılıç görselleri
  • Yarıçap, süre, hasar, knockback, efekt zinciri, zincirleme saldırı gibi onlarca parametre

Müttefik (Ally) Sistemi

  • SQLite tabanlı asenkron müttefik yönetimi
  • Tek yönlü müttefik ilişkisi (Oyuncu A eklerse sadece A'nın buff'ları B'ye uygular)
  • Hızlı sorgu için player_uuid üzerinde index
  • Kılıçların exclude-allies parametresi ile müttefiklere zarar engellemesi

Klan Entegrasyonu

  • ClanIntegration üzerinden aynı klandaki oyuncular arası uyum kontrolleri
  • Aynı klandaki oyuncuların müttefiklikten çıkarılması engellenebilir

WorldGuard Entegrasyonu

  • WorldGuardIntegration ile belirli bölgelerde becerilerin engellenmesi
  • regions.yml üzerinden engellenen bölge listesi

Güvenli Bölge (Safezone) Sistemi

  • Wand aracı ile köşe seçimi (sol tık / sağ tık)
  • Dinamik safezone oluşturma, silme ve listeleme
  • Safezone'lar SQLite'de kalıcı olarak saklanır

GUI Arayüzü

  • Beceri Menüsü: Kategori renkleriyle (BUFF yeşil, COMBAT kırmızı, NERF mor) filtrelenebilir
  • Skill Editor GUI: Admin'lerin becerileri anlık düzenleyebildiği arayüz
  • 45 slotluk özelleştirilebilir envanter tasarımı

Charm (Eşya Büyüleme) Sistemi

  • Eşyalara PersistentDataContainer üzerinden potion efektleri yazılır
  • 1-255 arası kuvvet seviyesi desteği
  • EffectStackManager ile aynı anda birden fazla charm ve buff etkisi zincirlenebilir
  • Efekt lore satırlarına otomatik eklenir

Cooldown Sistemi

  • Her beceri için bağımsız cooldown yönetimi
  • Actionbar üzerinde geri sayım gösterimi
  • OP oyuncular için bypass seçeneği (op-bypass-cooldown)

03

Komutlar

/askills (aliases: /skills, /as)

Alt Komut Açıklama
(boş) Beceri menüsünü açar (admin)
liste Tüm yüklü becerileri listeler
ver <oyuncu> <beceri> Belirtilen oyuncuya beceri kılıcı verir
yenile Config'i yeniden yükler
bilgi <beceri> Becerinin detaylı bilgilerini gösterir
bagla <beceri> Eldeki eşyaya beceri bağlar
efekt <efekt_adı> <kuvvet> Eşyaya charm efekti ekler (1-255)
safezone <wand|create|delete|list> Safezone yönetimi

/muttefik (aliases: /ally, /müttefik)

Alt Komut Açıklama
ekle <oyuncu> Oyuncuyu müttefik olarak ekler
cikar <oyuncu> Müttefiği listeden çıkarır
liste Müttefik listesini gösterir

/unbreakable (aliases: /kirilmaz)

Eldeki eşyayı kırılmaz yapar.


04

İzinler

İzin Açıklama Varsayılan
arcenia.use Beceri sistemini kullanma Tüm oyuncular
arcenia.admin Admin komutları (reload, give, bind, efekt) OP
arcenia.safezone Safezone yönetimi OP

05

Mevcut Beceriler

BUFF Kategorisi (Müttefik/Kendine Destek)

  • Kartal Kılıcı — Size ve müttefiklere absorption
  • Şifa Dalgası Kılıcı — Anlık alan iyileştirmesi
  • Berserker Kılıcı — Strength + Speed buff
  • Donatello Kılıcı — Can fedası karşılığı Strength III + kill heal
  • Axolotl Kılıcı — Resistance buff'ı

COMBAT Kategorisi (Saldırı)

  • Şimşek Kılıcı — Düşmanlara yıldırım yağmuru
  • Bill / Ateş Fırtınası — Yangın hasarı
  • Şok Dalgası Kılıcı — Hasar + güçlü knockback
  • Poseidon / Buz Mızrağı — AoE patlamalı projektil
  • Bil Kılıcı — Tek hedef yıldırım
  • BlitzCrank Kılıcı — Hedefi çeken kanca (hook)
  • Kraken Kılıcı — Dokunaç AoE saldırısı
  • Kasırga Kılıcı — Hava dalgası + savurma
  • Bomba Kılıcı — Pasif: öldürdüğünde patlama

NERF Kategorisi (Düşmana Zayıflatma)

  • Yarasa / Kedi Kılıcı — Körlük
  • Dondurucu Kılıç — Slowness + Mining Fatigue
  • Arı Kılıcı — Zehirleme
  • Wither Kılıcı — Wither efekti
  • Vampir Kılıcı — Lifesteal + bleed (kanama)
  • Slime / Entropik Çözünme — Buff temizleme
  • Bowser Kılıcı — Golden apple engelleme
  • Cadı / Shulker Kılıcı — Levitation
  • Lanet Zinciri — Zincirleme lanet (chain)
  • Sessizlik Alanı — Skill engelleme
  • Örümcek Kılıcı — Örümcek ağı tuzağı

06

Config Yapılandırması

Tüm beceriler plugins/ArceniaSkills/config.yml üzerinden ayarlanır:

skills:
  ornek_beceri:
    enabled: true
    category: BUFF            # BUFF, COMBAT, NERF
    material: NETHERITE_SWORD
    display-name: "&cÖrnek Kılıç"
    custom-model-data: 1001
    radius: 10.0              # blok cinsinden
    duration: 300             # tick (20 tick = 1 saniye)
    cooldown: 70              # saniye
    effects:
      - type: ABSORPTION
        amplifier: 4
        duration: 300
    particles:
      type: HEART
      count: 30
    sound:
      type: ENTITY_PLAYER_LEVELUP
      volume: 1.0
      pitch: 1.0
    exclude-allies: false     # true ise müttefikler etkilenmez

Gelişmiş Parametreler

  • lightning-count, chain-count, chain-radius — zincirleme etkiler
  • projectile-speed, aoe-radius, aoe-damage — projektiller
  • health-cost, kill-heal, block-regen — self-cost mekanikleri
  • hook-pull, hurricane-launch, silence-skills — özel davranışlar
  • passive-on-kill, explosion-radius, explosion-damage — pasif tetiklemeler
  • block-golden-apple, strip-buffs, single-target — özel hedefleme

07

Kurulum

  1. mvn clean package ile eklentiyi derleyin
  2. target/ArceniaSkills-1.0.0.jar dosyasını sunucunun plugins/ klasörüne kopyalayın
  3. Gerekli bağımlılıklar:
    • Paper 1.21.4 (zorunlu)
    • WorldGuard 7.0.13+ (opsiyonel, bölge engelleme için)
  4. Sunucuyu yeniden başlatın
  5. plugins/ArceniaSkills/config.yml içindeki becerileri isteğinize göre düzenleyin
  6. /askills yenile ile config'i yeniden yükleyin

08

Teknik Detaylar

  • Java: 17
  • API: Paper 1.21
  • Veritabanı: SQLite (shaded, çakışma yok)
  • Derleme: Maven + maven-shade-plugin
  • Async: Tüm veritabanı işlemleri CompletableFuture ile asenkron

Proje Yapısı

src/main/java/com/arcenia/skills/
├── ArceniaSkills.java           # Ana plugin sınıfı
├── command/                     # Komut işleyicileri
├── database/                    # SQLite yöneticisi
├── gui/                         # GUI sistemleri
├── integration/                 # WorldGuard & Clan entegrasyonları
├── listener/                    # Olay dinleyicileri
├── manager/                     # Alt sistem yöneticileri
├── model/                       # Skill ve Safezone modelleri
├── skill/                       # SkillExecutor
└── util/                        # MessageUtil yardımcısı

09

Lisans ve Yazar