Paper API ile Adventure Kitaplarıyla Etkileşimli Hikaye Nasıl Yazılır?

ali_yilmaz

Yeni Üye
Katılım
Eyl 2026
Konular
1
Mesajlar
1
Tepki puanı
0
Görüntülenme
0
Paper 1.18 ve üstü ile birlikte gelen Adventure API, net.kyori.adventure.text.Book nesneleriyle dinamik metinler oluşturmanıza izin verir.

  1. Plugin sınıfı
    Kod:
    public final class StoryPlugin extends JavaPlugin implements CommandExecutor {
        @Override
        public void onEnable() {
            this.getCommand("mystory").setExecutor(this);
        }
    }
  2. Kitabı oluşturmak
    Kod:
    Book book = Book.book()
        .author("Yazar")
        .title("Macera Kitabı")
        .pages(
            Component.text("Sayfa 1: Seçiminiz ne olacak? ")
                .append(Command.hoverEvent(
                    HoverEvent.showText(Component.text("Aşağıdaki linke tıklayın")),
                    ClickEvent.runCommand("/story choice1")
                )),
            Component.text("Sayfa 2: Başka bir yolculuk...")
        ).build();
    Bu yapıda Component ise Adventure API’deki metin bileşenidir.
  3. Kitabı oyuncuya vermek
    Kod:
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (sender instanceof Player player) {
            player.getInventory().addItem(new ItemStack(Material.WRITTEN_BOOK, 1, (short) 0, book));
            player.sendMessage("Hikayen başlıyor!");
            return true;
        }
        return false;
    }
  4. Etkinlikleri yakalamak – @EventHandler ile PlayerCommandPreprocessEventi dinleyip, /story choice1 gibi komutları işleyebilirsiniz.

Böylece okuyucu, kitap sayfalarına tıklayarak kendi kararlarını etkileyebilecek bir hikayede yer alır.

Soru: Siz, bir Adventure kitap hikayesinde hangi tür etkileşimleri (ör. eylem, seçim, bulmaca) daha çok tercih edersiniz?
 
Geri
En Üst