// Paket adını değiştir
package com.lifemcserver.examples;
// Importlar kalsın hata verir ise
// eclipse: CTRL + SHIFT + O
// intellij: ALT + ENTER
// yine olmaz ise build path veya libraries'e
// bukkiti veya spigotu eklemeyi unutma.
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
// Class ismini değiştirebilirsin fakat dosya adı ile aynı olmalı
public final class BlockBreakListener implements Listener {
// Bu methodu pluginin ana classından çağır
// BlockBreakListener.register(this);
// bu şekilde çağırabilirsin.
public final static void register(final JavaPlugin plugin) {
Bukkit.getPluginManager().registerEvents(new BlockBreakListener(), plugin);
}
// Bu method event tetiklendiğinde yürütülüyor otomatik olarak,
// priority = bu methodun event işleme sırasındaki önceliği,
// biz event ile alakalı bir şey değiştirmiyoruz sadece itemi kontrol edip
// başka bir item veriyoruz yani başka pluginlerin itemi HIGHEST ile listenlayıp
// değiştirmesine karşılık stoneu yine doğru algılaması için MONITOR kullandık.
// ignoreCancelled true ise iptal edilen eventlerin bu methodu tetiklemesini engelliyor.
@EventHandler(priority=EventPriority.MONITOR, ignoreCancelled=true)
public final void onBlockBreak(final BlockBreakEvent e) {
// eğer kırılan blok stone (taş) ise
if(e.getBlock().getType() == Material.STONE) {
// bloğu kıran kişinin envanterine 1 adet iron ingot yani demir külçesi ekliyoruz
e.getPlayer().getInventory().addItem(new ItemStack(Material.IRON_INGOT, 1));
}
}
}