超シンプルなミニゲームの基盤の作り方

基盤中の基盤。

ここに改良を加えていくことで、一つのミニゲームが完成します。

これからミニゲーム作りをする人の参考になれば幸いです(。-ω-)zzz. . . (。゚ω゚) ハッ!

 

onEnableで以下を設定

// 新規Arena作成
// 複数Arenaにするなら改良が必要
Arena arena = new Arena();
// イベントリスナーを登録する
Bukkit.getPluginManager().registerEvents(arena, this);
// タイマーに登録する(一秒ごとに実行される)
Bukkit.getScheduler().runTaskTimer(this, arena, 0L, 20L);

Arena Class

public class Arena implements Runnable, Listener{
  // Arena にいるプレイヤーリスト
  // Join Quit リスナーと合わせて使う
  private ArrayList<UUID> Players = new ArrayList<>();

  @Override
  public void run(){
    // Arena での処理
    // スコアボードの更新やタイマーなど
    // プレイヤーがいなければ、停止、いれば開始などの処理
  }

  // 時間は コンフィグから取得したものをスタチックで宣言する
  // 読み込み時に別に宣言した時間に反映させる
  public static int INT_GAME_TIME = 300;
  public int CRT_GAME_TIME = 300;
  public Arena(){
    CRT_GAME_TIME = INT_GAME_TIME;
  }
  
  @EventHandler
  public void onJoin(PlayerJoinEvent event){
    Player p = event.getPlayer();
    UUID key = p.getUniqueId();
    Players.add(key);
  }
  @EventHandler
  public void onJoin(PlayerJoinEvent event){
    Player p = event.getPlayer();
    UUID key = p.getUniqueId();
    if (Players.cotains(key)){
      Players.remove(key);
    }
  }
}

投稿者:

kemasama

SPサーバー管理人のkemaです。 管理運営を担当しています。 プログラミングもします。 PVP初心者です。