> For the complete documentation index, see [llms.txt](https://voseraproject.gitbook.io/voseraproject/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://voseraproject.gitbook.io/voseraproject/eklenti-hizmeti/randomitemchange/genel-bakis.md).

# Genel Bakış

**RandomItemChange (RIC)**, Spigot/Paper **1.21** sunucuları için geliştirilmiş, arena tabanlı bir mini-oyun eklentisidir. Oyuncular bir arenaya katılır ve belirli aralıklarla (varsayılan olarak her birkaç saniyede bir) tüm envanterleri **rastgele bir eşya ile değiştirilir**. Amaç, hayatta kalan son oyuncu (veya takım) olmaktır.

| Bilgi                 | Değer                         |
| --------------------- | ----------------------------- |
| Sürüm                 | `1.21 - 1.21.11`              |
| Geliştirici           | `byvoxar`                     |
| Web sitesi            | `voseraproject.tr`            |
| Hedef API             | `api-version: '1.21'`         |
| Yükleme zamanı        | `POSTWORLD`                   |
| Zorunlu bağımlılıklar | `PlaceholderAPI`, `WorldEdit` |

### Sınıf Mimarisi

Eklenti, tek sorumluluk prensibine göre ayrılmış **16 Java sınıfından** oluşuyor:

| Sınıf                   | Görev                                                                                  |
| ----------------------- | -------------------------------------------------------------------------------------- |
| `RandomItemChange`      | Ana plugin sınıfı, `onEnable`/`onDisable`, lisans kontrolü, dil dosyası yönetimi       |
| `Arena`                 | Tek bir arenanın tüm verisini tutan model sınıfı (sınırlar, oyuncular, durum, bossbar) |
| `ArenaManager`          | Arena oluşturma/silme/yükleme, config'e kaydetme                                       |
| `ArenaListener`         | Tüm oyun içi olayları (blok kırma, hasar, hareket, patlama vb.) yöneten dinleyici      |
| `ArenaGUI`              | Arenaya katılım için envanter tabanlı arayüz                                           |
| `WatchGUI`              | İzleyici modu için arena seçim arayüzü                                                 |
| `GameScheduler`         | Oyun döngüsü, geri sayım, rastgele eşya dağıtımı, sınır daralması                      |
| `GameState`             | Oyun durumlarını tutan enum                                                            |
| `DuelManager`           | 1v1 düello davet/kabul/red akışı                                                       |
| `RicCommand`            | `/ric`, `/lobby`, `/leave` komutlarının tüm işleyicisi ve tab-complete                 |
| `PlayerStatsManager`    | Kazanma/kaybetme/oynanan maç istatistikleri                                            |
| `ScoreboardManager`     | Yan panel (sidebar) skorbord                                                           |
| `TabManager`            | Tab listesi (header/footer, oyuncu görünürlüğü)                                        |
| `RicExpansion`          | PlaceholderAPI placeholder sağlayıcısı                                                 |
| `DiscordWebhookManager` | Discord webhook bildirimleri                                                           |
| `ColorUtil`             | `&` kodları ve hex renk (`&#RRGGBB`, `<#RRGGBB>`) çevirici                             |

### Öne Çıkan Özellikler

* Sınırsız sayıda, birbirinden bağımsız çoklu arena desteği
* WorldEdit ile görsel arena sınırı belirleme
* Blok bazlı arena "snapshot" alma ve maç sonunda haritayı otomatik eski haline getirme
* Matematiksel (world border kullanmayan) daralan sınır sistemi
* 1v1 düello modu
* İzleyici (spectator) sistemi ve GUI'ler
* PlaceholderAPI ve Discord webhook entegrasyonu
* Tam çok dilli alt yapı (TR/EN)
* Uzaktan lisans doğrulama


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://voseraproject.gitbook.io/voseraproject/eklenti-hizmeti/randomitemchange/genel-bakis.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
