package jp.jias.spigot; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.ServicePriority; import org.bukkit.plugin.java.JavaPlugin; public class TestPlugin extends JavaPlugin implements Listener { String dummyService = "test"; RegisteredServiceProvider rsp = new RegisteredServiceProvider( String.class, dummyService, ServicePriority.Normal, this); /** * プラグインが有効化されるとき呼び出される */ public void onEnable() { // イベントリスナーの登録 getServer().getPluginManager().registerEvents(this, this); } /** * プレイヤーがクリックしたときに呼ばれる * * @param e */ @EventHandler public void onPlayerInteractEvent(PlayerInteractEvent e) { // 骨をもってクリックで登録 if (e.getPlayer().getItemInHand().getType() == Material.BONE) { Bukkit.getServicesManager().register(String.class, dummyService, this, ServicePriority.Normal); Bukkit.broadcastMessage("登録"); } // スライムボールを持ってクリックで解除 if (e.getPlayer().getItemInHand().getType() == Material.SLIME_BALL) { Bukkit.getServicesManager().unregister(dummyService); Bukkit.broadcastMessage("解除"); } // 骨をもってクリックでワールド生成 // if (e.getPlayer().getItemInHand().getType() == Material.BONE) { // WorldCreator wc = new WorldCreator("test1"); // World w = Bukkit.getServer().createWorld(wc); // Location loc = new Location(w, 0, 255, 0); // e.getPlayer().teleport(loc); // } // スライムボールを持ってクリックでアンロード // if (e.getPlayer().getItemInHand().getType() == Material.SLIME_BALL) { // World w = e.getPlayer().getWorld(); // e.getPlayer() // .teleport(Bukkit.getWorlds().get(0).getSpawnLocation()); // Bukkit.getServer().unloadWorld(w, true); // Bukkit.broadcastMessage("アンロード"); // } } }