Files
Barış Keser 2ad5efc038 ci: Folia testini dayaniklilastir (mevcut olmayan surumu zarifce atla) + README v1.4.0
- Folia API'sinde olmayan surumler (orn. 1.21.1) icin test artik hata
  vermek yerine atlaniyor; gercek Folia testleri (1.20.6, 1.21.4) calisiyor.
- README: 1.8.8-1.21.x + Folia destegi, CI matris testleri ve v1.4.0 notlari.
2026-06-06 19:28:46 +03:00

78 lines
5.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<p align="center">
<img src="bariskesertools.png" alt="BarisKeserTools Logo" width="300">
</p>
# BarisKeserTools-MC 🛠️💥
BarisKeserTools, Minecraft sunucuları için gelişmiş araçlar, hasar yönetimi, oyuncu etkileşimleri ve yıkıcı "Hava Saldırısı" mekanikleri sunan modüler bir yetkili eklentisidir! **Minecraft 1.8.8'den 1.21.x'e kadar TÜM sürümlerle** ve **Paper / Spigot / Purpur / Folia / Bukkit** sunucu yazılımlarıyla tek bir JAR ile uyumludur.
> ### 🆕 v1.4.0 — BÜYÜK GÜNCELLEME
> - 🧵 **Folia desteği!** Tüm zamanlanmış görevler Folia'nın bölgesel-thread (regionized) modeline uyarlandı (`Sched` uyumluluk katmanı). Folia'da `BukkitRunnable`/`Bukkit.getScheduler()` çalışmaz; eklenti artık doğru scheduler'ları (global / region / entity / async) kullanır.
> - ⏳ **1.8.8 → 1.21.x tam backport.** Bytecode Java 8 hedefli; sürüme özel tüm API'ler (Sound, Material, Particle, BossBar, NamespacedKey, PDC, Damageable, TNT fuse, biome…) reflection/fallback ile sürümden bağımsız hale getirildi.
> - 🌋 Yükselen lav için partikül + ses görselleri.
> - ✅ Her sürüm için otomatik **gerçek sunucu açılış testi** (GitHub Actions): Spigot 1.8.8/1.12.2, Paper 1.16.5–1.21.8, Folia 1.20.6–1.21.4.
## 🌟 Özellikler
- **Gelişmiş Hava Saldırısı Oltası (Orbital Strike):** Havadan çeşitli desen ve şekillerde TNT yağdırmanıza yarayan özel fırlatıcı. Sekiz farklı yayılma paterni destekler!
- **Otomatik Tab Tamamlama:** Tüm komutlarda akıllı tab tamamlama (TabCompleter) ile kullanım kolaylığı.
- **Toplu Temizleme Araçları:** Sunucuyu lag'dan kurtarmak için bekleyen devasa TNT kalıntılarını veya yere düşmüş eşyaları silen güçlü optimizasyon komutları.
- **Hasar Testi Araçları:** Oyuncuların envanterlerindeki eşyaların rastgele veya belirli oranda kırılmasını sağlayan (durability) test ve şaka komutları.
- **Otomatik Güncelleme Sistemi:** Github üzerinden gelen updateleri otomatik algılayıp yeni çıkan sürümleri Update klasörüne çeker!
---
## 👨‍💻 Komutlar & Kullanımlar
Tüm komutlar için gereken ana yetki (Permission): `bariskesertools.admin`
### 1- 🧨 Hava Saldırısı (/havasaldirisi)
Özel güçlendirilmiş bir olta ile belirli hedeflere havadan topçu atağı (TNT) yönlendirir. Oltayı sağ-tık ile savurduğunuz yere bağlı olarak devasa etki bırakır.
**Kullanım:** `/havasaldirisi [tntsayisi] [nekadarustte] [patlamasuresi_tick] [şekil] [oyuncuyahasar_miktari]`
**Desteklenen Şekiller (Paternler):**
- `tekblokiçinde`: Tüm TNT'ler tek sınırda doğar.
- `yuvarlak`: TNT'ler hedefin tepesinden devasa bir çember şeklinde yayılır.
- `dağınıkrasgele`: TNT'ler tamamen rastgele yerlere saçılır.
- `kare`: Düz bir ızgara-kare formatında inerler.
- `çizgi`: Art arda sıralanmış çizgi halinde düşerler.
- `yıldız`: Patlamadan önce yıldız düzeninde yayılırlar.
- `yağmur`: Kademeli ve sürekli düşen klasik bombardıman tarzı.
- `orbital`: İç içe geçen çemberler halinde dışarı doğru (velocity) itilirler!
*Not: "oyuncuyahasar_miktari" parametresi ile TNT'lerin patlama esnasında size veya diğer oyunculara vereceği tam matematiksel zararı belirtebilirsiniz.*
### 2- 🗑️ TNT Temizleme (/tntsil)
Dünyadaki (ve o an aktif olan) tüm patlamaya hazır (Primed) TNT'leri sunucudan silerek olası lag & çökmeleri anında durdurur.
### 3- 🧹 Eşya Temizleme (/itemsil)
Sunucuda yere düşmüş olan ve bekleyen bütün eşyaları siler. Lag engellemek için mükemmeldir.
### 4- 🗡️ Eşyaya Hasar Ver (/eşyayahasarver)
Oyuncunun sadece elinde tuttuğu hasar alabilen (durability sahibi) kazma, kılıç, zırh vb. ekipmana yazılan sayı kadar anında can azaltması uygular.
**Kullanım:** `/eşyayahasarver [hasar_miktarı]` *(Örn; `/eşyayahasarver 100`)*
### 5- 🎲 Tüm Envantere Rastgele Hasar (/tum-envantere-hasar-ver-rasgele)
Hedef oyuncunun envanterinde yer alan tüm eşyalara teker teker göz atar ve her birinin maksimum can miktarından yola çıkarak "kalan canına göre" rastgele oranda hasar vurur.
---
## ⚙️ Teknik Gereksinimler
- **Sunucu Sürümü:** Minecraft **1.8.8 – 1.21.x** (tüm ara sürümler). Bytecode **Java 8** hedefli derlendiğinden eski (Java 8) sunucularda da yüklenir; modern sürümlerde modern API'ler reflection ile aktiftir.
- **Sunucu Yazılımı:** Paper, Spigot, Purpur, **Folia** ve Bukkit/CraftBukkit forkları.
- **Çalışma Java'sı:** Sunucunuzun MC sürümünün gerektirdiği Java (1.8–1.16 → Java 8+, 1.17 → 16, 1.18–1.20.4 → 17, 1.20.5+ → 21).
- Geliştirici: Barış Keser
## 🔄 Otomatik Yayın & Test (CI/CD) Modülü
Bu depo (`barkeser2002/BarisKeserTools-MC`), kapsamlı bir **GitHub Actions** pipeline'ı ile donatılmıştır:
1. **Build** — JAR derlenir, bytecode'un Java 8 olduğu doğrulanır.
2. **Sunucu Testleri (matris)** — Her itişte gerçek sunucular indirilip **headless** başlatılır ve eklentinin hatasız yüklendiği log analiziyle doğrulanır:
- Spigot **1.8.8**, **1.12.2** (BuildTools)
- Paper **1.16.5, 1.17.1, 1.18.2, 1.19.4, 1.20.1, 1.20.4, 1.20.6, 1.21.1, 1.21.4, 1.21.8**
- Folia **1.20.6, 1.21.1, 1.21.4**
3. **Release** — Tüm testler geçerse otomatik olarak **GitHub Release** + **Modrinth** (paper / purpur / spigot / folia / bukkit) yayını yapılır.
Oyuna gömülü Updater sistemi de sunucu açılırken bu Release dosyasını otomatik algılar.