機能を追加できるようにする

ミニゲームなどのゲームに追加で機能をつけれるようにする方法

 

/**
 * 本来ならGetter、Setterをつけるべき箇所につけていないのでご注意を。
 */
//Extension class
public class Extension{
  // 拡張機能をまとめる
  public static HashMap<String, ExtensionItem> Items = new HashMap<>();
  public static void reg(ExtensionItem item){
    // 拡張機能を追加するメゾットです
    item.onEnable();
    Items.put(item.getName(), item);
  }
}

// ExtensionItemInterFace
// 拡張機能の基盤です
public interface ExtensionItemInterFace{
  public String getName();
  public String getVersion();
  public String getDescription();
  public void onEnable();
  public void onDisable();
  public JavaPlugin getInstance();
}

// ExtensionItem
// 基盤を使いやすく(必要なものだけを設定するようにしたもの)です
public class ExtensionItem implements ExtensionItemInterFace{
  @Override
  public String getName(){
    // 拡張機能の名前
    return "Extension";
  }
  @Override
  public String getVersion(){
    // 拡張機能のバージョン
    return "1.0.0";
  }
  @Override
  public String getDescription(){
    // 拡張機能の説明
    return "Extension";
  }
  @Override
  public void onEnable(){
    // 有効にしたとき
  }
  @Override
  public void onDisable(){
    // 無効にしたとき
  }
  @Override
  public JavaPlugin getInstance(){
    // メインクラスを取得する関数
    return /* Main Class Static Instance */ null;
  }
}

// TestExtension
// 拡張機能の例
public class TestExtension extends ExtensionItem{
  // 名前の変更
  @Override
  public String getName(){ return "Test"; }
  @Override
  public void onEnable(){
    // 有効になったときに文字列を出力する
    System.out.printIn("This is a test xD Hello, World!");
  }
}

// Main Class onEnable
public void onEnable(){
  // 拡張機能をなんらかの形で追加する
  Extension.reg(new TestExtension());
}

 

投稿者:

kemasama

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