【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999

返信する

CAPTCHA 認証コード
表示されたコードを正確に入力してください。各文字は大文字・小文字の区別があります。

BBCode: OFF
スマイリー: OFF
トピックのレビュー
   

ファイルを添付します

展開ビュー トピックのレビュー: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by 匿名希望さん(男) » 2018年10月18日(木) 00:50

とりあえず一通り勉強したつもりだったけど、いざ作ろうと思ったら全然何をすればいいのかわからない
プレイヤーが鯖で道に迷わないように運営が座標を登録(複数)してコンパスを使っていろんな場所に行けるようにするのが目標です
まず、座標を(複数)登録する方法がわからないです
それと登録した座標へコンパスがその方向に向くようにする方法もわからないです
なるべく自分で作りたいのであくまでヒントが欲しいです
tutorialpluginのページには載っていなかったので思ったのですが
これからほかのプラグインを作ったりするときはどうすればいいんでしょうか
中級者向けの勉強できるサイトとかあるんでしょうか

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by testusuke » 2018年10月17日(水) 07:20

回答ありがとうございます
早速試してみます!ありがとうございました

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by 匿名希望さん(男) » 2018年10月16日(火) 23:20

なるほど
わかりやすい解説ありがとうございます

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by amata1219 » 2018年10月16日(火) 17:08

匿名希望さん(男) さんが書きました:質問です
https://mcmodding.jp/modding/index.php/Plugin_Tutorial
コマンドのパラメタ長をチェックする
の項目の
senderインスタンスは、妥当なパラメタを持っているとは限りません。パラメタ長をチェックして下さい。
という意味が分かりません。パラメタってなんなんでしょうか?


匿名希望さん(男)さん、こんにちは。
onCommand()でいうパラメタとは例を挙げますと、「/setblock 0 1 2 stone」の「0 1 2 stone」に当たる部分が空白を堺に一つのStringとして格納されている配列を指します。下記の記述ではargsが該当します。
コード: 全て選択
public boolean onCommand(CommandSender sender, Command command, String label, String[] args){

}

「/setblock」と単体で入力された場合、argsは0個のStringを格納しています。
この場合、下記コードが実行されるとコンソールには「Length: 0」と表示されます。
コード: 全て選択
System.out.println("Length: " + args.length);


また、「/setblock 0 1」と入力された場合は「Length: 2」と表示されます。
この状態で配列の3番目(args[3]、stoneに当たる部分)に格納されているStringは対応する入力が無いためnullです。

つまりは、パラメタ長は必ずしも一定と限らないため、長さを確認し適切な処理を行わないとバグやエラーの元になりますよ、という意味です。

匿名希望さん(男) さんが書きました:質問です
https://mcmodding.jp/modding/index.php/%E6%96%B0%E3%81%97%E3%81%84Configuration%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9
のデフォルト値の所なんですが
プラグインのデータフォルダ配下のconfig.ymlをデフォルト値で上書きしたい場合は、JavaPluginクラスのsaveDefaultConfig()メソッドを呼び出してください。
っていうのはconfig.ymlに書いてある内容をsaveDefaultConfig()したら上書きできるってことですか?
実際に追加する際のコード例も見てみたいです。
あと
コード: 全て選択
key: 'value'
one:
  two: 'value'
  three:
    - 1
    - 2
    - 3
  four:
    five: 'value'
  '*':
    six: 'value'
    seven: 'value'

ってあるけどこのoneとかtwoとかってのは自由に名付けできるんですか?
valueってのも自由なstringでいいんですか?


saveDefaultConifg()はconfig.ymlが存在しない場合に、プラグイン内にあるconfig.ymlをコピーして作成するメソッドになります。

下記コードはプラグイン内に何も記述のされていないconfig.ymlがあり、plugins/PluginNameにはconfig.ymlが存在しないものとして実行した場合です。
コード: 全て選択
@Override
public void onEnable(){
saveDefaultConfig();
//config.ymlが存在しなければプラグイン内にあるconfig.ymlをコピーして作成する。
getConfig().set("Test", "てすと");
//キーを「Test」、値をStringの「てすと」としてセットする。
getConfig().set("Settings.Enable", true);
//キーを「Settings」、「Enable」の2階層、値をbooleanの「true」としてセットする。
saveConfig();
//セーブする
reloadConfig();
//リロードする
}


実行結果
コード: 全て選択
Test: てすと
Settings:
  Enable: true


このように、one, two 等のキーは空白やアンパサンドの様な文字で無ければ基本自由に命名出来ます。
valueは値ですので勿論自由な値で大丈夫ですし、String以外にもintやboolean等他の型も使用出来ます。

testusuke さんが書きました::pun: 【SpigotPlugin開発】 :pun:
こんにちは
質問です。
senderのインベントリに指定したアイテムがるか調べる方法はありますか。あった場合指定した数だけアイテムを消すことはできますか?
やる方法があれば教えてください。簡単な質問ですみません


testusukeさん、こんにちは。
まずインベントリ操作の前にコマンド送信者がプレイヤーか確認する必要があります。
コード: 全て選択
if(!(sender instanceof Player)){
//sender(CommandSender)がPlayer型でない場合
sender.sendMessage(ChatColor.RED + "ゲーム内から実行して下さい。");
return true;
//処理を続行しない
}


そしてプレイヤーである事が確認出来たら、senderをPlayer型にキャストしてPlayerクラスのメソッドを使えるようにしましょう。
コード: 全て選択
Player player = (Player) sender;


後は自由にPlayerクラスのメソッドを扱えます。
インベントリ操作自体はお調べになれば簡単に出てくると思いますが、一応軽く紹介させて頂きます。
コード: 全て選択
Inventory inv = player.getInventory();
//プレイヤーのインベントリを取得する。
ItemStack diamond = new ItemStack(Material.DIAMOND);
//存在するか調べたいアイテム。名前や説明文も比較対象になるので必要に応じて設定する。
if(!inv.contains(diamond))
return;
//存在しない場合は処理を終了
for(ItemStack item : inv.getContents()){
//インベントリ内のアイテムをスロット毎に処理する
if(diamond.isSimilar(item)){
//個数を比較対象から外しアイテムが同様であるか確認する(equals()は使ってはいけない)

//--------------------------------

int amount = item.getAmount();
//アイテムの個数を取得
if(amount > 10)
//個数が10より大きい場合
amount -= 10;
//個数から10を引く(この時点では数値計算をしているだけであり、個数は書き換わっていない)
else
amount = 0;
//個数が10以下の場合は値がマイナスにならないよう減算せず0とする。
item.setAmount(amount);
//個数を指定した数に書き換える

//--------------------------------

(//--------------------------------の範囲は下記の様に簡潔に記述する事も可能です。)

item.setAmount(item.getAmount() > 10 ? item.getAmount() - 10 : 0);
}

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by testusuke » 2018年10月16日(火) 07:17

:pun: 【SpigotPlugin開発】 :pun:
こんにちは
質問です。
senderのインベントリに指定したアイテムがるか調べる方法はありますか。あった場合指定した数だけアイテムを消すことはできますか?
やる方法があれば教えてください。簡単な質問ですみません

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by 匿名希望さん(男) » 2018年10月15日(月) 21:50

質問です
https://mcmodding.jp/modding/index.php/%E6%96%B0%E3%81%97%E3%81%84Configuration%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9
のデフォルト値の所なんですが
プラグインのデータフォルダ配下のconfig.ymlをデフォルト値で上書きしたい場合は、JavaPluginクラスのsaveDefaultConfig()メソッドを呼び出してください。
っていうのはconfig.ymlに書いてある内容をsaveDefaultConfig()したら上書きできるってことですか?
実際に追加する際のコード例も見てみたいです。
あと
コード: 全て選択
key: 'value'
one:
  two: 'value'
  three:
    - 1
    - 2
    - 3
  four:
    five: 'value'
  '*':
    six: 'value'
    seven: 'value'

ってあるけどこのoneとかtwoとかってのは自由に名付けできるんですか?
valueってのも自由なstringでいいんですか?

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by 匿名希望さん(男) » 2018年10月15日(月) 21:06

質問です
https://mcmodding.jp/modding/index.php/Plugin_Tutorial
コマンドのパラメタ長をチェックする
の項目の
senderインスタンスは、妥当なパラメタを持っているとは限りません。パラメタ長をチェックして下さい。
という意味が分かりません。パラメタってなんなんでしょうか?

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by signal » 2018年10月13日(土) 12:58

spuash918 さんが書きました:
signal さんが書きました:
amata1219 さんが書きました:


そういえば下書きのままで止まっていました...
それで無事解決いたしました。ありがとうございます。
質問の答えに質問で返すのはなんだかな...と思いましたが、力不足でどうしようもないなと思ったのでお願いします。
演算子 >= は引数の型 Location, int で未定義です。
と出て出来ませんでした。
再度お願いします

Javaについてどれほど理解されていますか?
プラグインを開発されるのであれば基本的な部分、最低でもメソッドやインスタンスのようなオブジェクト指向までは抑えて置くべきです

ちなみに回答ですが、
コード: 全て選択
if(player.getLocation().distance(entity.getLocation() >= 8)

の「)」が不足しているため、変なところで比較しています
コード: 全て選択
if(player.getLocation().distance(entity.getLocation()) >= 8)

に変更すれば問題ありません


赤線なくなりました。ありがとうございます。
コード: 全て選択
if(player.getLocation().distance(entity.getLocation() >= 8)

僕は)一個足りないなと思い8のとなりにもう一個付け足してました...
これを気にもっとjavaについて勉強しようと思います

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by testusuke » 2018年10月13日(土) 09:47

amata1219さんゲストさん解決しましたありがとうございます

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by ゲスト » 2018年10月12日(金) 22:39

>amata1219
>ItemStack itemC = p.getInventory().getItemInMainHand().getItemMeta().setUnbreakable(true);
setUnbreakableはvoidなのでItemStackは返しません、エディタは間違ってないです。
参考: https://hub.spigotmc.org/javadocs/spigo ... e-boolean-

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by amata1219 » 2018年10月12日(金) 21:22

testusuke さんが書きました::pun: 【SpigotPlugin開発・緊急】 :pun:
こんにちは
アイテムに不可解をつける方法がわかりません。APIなので調べたのですがsetUnbreakableの使い方がをよくわかりません
コード: 全て選択
                Player p = (Player)sender;
                ItemStack item = p.getInventory().getItemInMainHand();  //  アイテム
                ItemStack itemC = p.getInventory().getItemInMainHand().getItemMeta().setUnbreakable(true);

とすると赤線が出て不可解をつけれません。つける方法がわかる方教えてください。


testusukeさん、こんにちは。
書き換えたItemMetaをItemStack#setItemMeta()でセットする必要があります。
下記の様にしたところ、正常に不可壊を付与する事が出来ました。
コード: 全て選択
ItemStack item = p.getInventory().getItemInMainHand();
ItemMeta meta = item.getItemMeta();
meta.setUnbreakable(true);
item.setItemMeta(meta);

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by testusuke » 2018年10月12日(金) 20:29

:pun: 【SpigotPlugin開発・緊急】 :pun:
こんにちは
アイテムに不可解をつける方法がわかりません。APIなので調べたのですがsetUnbreakableの使い方がをよくわかりません
コード: 全て選択
                Player p = (Player)sender;
                ItemStack item = p.getInventory().getItemInMainHand();  //  アイテム
                ItemStack itemC = p.getInventory().getItemInMainHand().getItemMeta().setUnbreakable(true);

とすると赤線が出て不可解をつけれません。つける方法がわかる方教えてください。

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by amata1219 » 2018年10月12日(金) 19:06

spuash918 さんが書きました:
signal さんが書きました:
amata1219 さんが書きました:


そういえば下書きのままで止まっていました...
それで無事解決いたしました。ありがとうございます。
質問の答えに質問で返すのはなんだかな...と思いましたが、力不足でどうしようもないなと思ったのでお願いします。
演算子 >= は引数の型 Location, int で未定義です。
と出て出来ませんでした。
再度お願いします

Javaについてどれほど理解されていますか?
プラグインを開発されるのであれば基本的な部分、最低でもメソッドやインスタンスのようなオブジェクト指向までは抑えて置くべきです

ちなみに回答ですが、
コード: 全て選択
if(player.getLocation().distance(entity.getLocation() >= 8)

の「)」が不足しているため、変なところで比較しています
コード: 全て選択
if(player.getLocation().distance(entity.getLocation()) >= 8)

に変更すれば問題ありません


おっと、フォーラムで直接コード書いていたためかっこが抜けておりました。
spuash918さん訂正とご指摘ありがとうございます。該当部は修正しました。

ミスコードを提示した身で言わせて頂くのもアレですが、signalさん、Javaの理解は無くとも少しは試行錯誤する努力をなさって下さい…。

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by spuash918 » 2018年10月12日(金) 18:52

signal さんが書きました:
amata1219 さんが書きました:


そういえば下書きのままで止まっていました...
それで無事解決いたしました。ありがとうございます。
質問の答えに質問で返すのはなんだかな...と思いましたが、力不足でどうしようもないなと思ったのでお願いします。
演算子 >= は引数の型 Location, int で未定義です。
と出て出来ませんでした。
再度お願いします

Javaについてどれほど理解されていますか?
プラグインを開発されるのであれば基本的な部分、最低でもメソッドやインスタンスのようなオブジェクト指向までは抑えて置くべきです

ちなみに回答ですが、
コード: 全て選択
if(player.getLocation().distance(entity.getLocation() >= 8)

の「)」が不足しているため、変なところで比較しています
コード: 全て選択
if(player.getLocation().distance(entity.getLocation()) >= 8)

に変更すれば問題ありません

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by signal » 2018年10月12日(金) 18:39

amata1219 さんが書きました:
signal さんが書きました:度々失礼します。
コード: 全て選択
for(Entity receiver :  player.getNearbyEntities(10, 1, 10))

↑このようなもので半径10?を取得できたのですが、
半径10以下、半径8以上とするにはどうしたらいいですか?
思いつく限りで試したのですがforの前にifをつけるとエラーが出てしまうので...
(言いたいことが伝わらなかった人のために)
自分をxとして、
半径8<=x<=半径10 こういうものを作りたいのです。
追記
上でいうreceiverをプレイヤーにする方法はありませんか?
上のEntityをPlayerにしたら波線が出て...という繰り返しになってしまいます。


signalさん、こんにちは。

半径10m以内に存在するエンティティを取得した上で、各エンティティの座標と中心となるプレイヤーの座標の差が8以上であれば、何らかの処理をするという形にすれば出来ると思います(正直これについてはアイディア的な問題な気もしますが…)。

座標の差はわざわざ計算処理を記述せずとも、Location#distance(Location)を使えば求められます。
コード: 全て選択
for(Entity entity : player.getNearbyEntities(10, 1, 10)){
if(player.getLocation().distance(entity.getLocation() >= 8){
//何らかの処理
}
}


また、EntityをPlayerとして扱いたい場合はエンティティがプレイヤーであるかを確認した上でキャストしましょう。
コード: 全て選択
if(entity instanceof Player){
//プレイヤーである場合
Player player = (Player) entity;
//これでplayer.sendMessage("");等が行える
}else{
//プレイヤーでない場合
}



そういえば下書きのままで止まっていました...
それで無事解決いたしました。ありがとうございます。
質問の答えに質問で返すのはなんだかな...と思いましたが、力不足でどうしようもないなと思ったのでお願いします。
演算子 >= は引数の型 Location, int で未定義です。
と出て出来ませんでした。
再度お願いします

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by 匿名希望さん(男) » 2018年10月12日(金) 18:32

なるほど
わかりやすい解説ありがとうございます

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by amata1219 » 2018年10月12日(金) 17:39

signal さんが書きました:度々失礼します。
コード: 全て選択
for(Entity receiver :  player.getNearbyEntities(10, 1, 10))

↑このようなもので半径10?を取得できたのですが、
半径10以下、半径8以上とするにはどうしたらいいですか?
思いつく限りで試したのですがforの前にifをつけるとエラーが出てしまうので...
(言いたいことが伝わらなかった人のために)
自分をxとして、
半径8<=x<=半径10 こういうものを作りたいのです。
追記
上でいうreceiverをプレイヤーにする方法はありませんか?
上のEntityをPlayerにしたら波線が出て...という繰り返しになってしまいます。


signalさん、こんにちは。

半径10m以内に存在するエンティティを取得した上で、各エンティティの座標と中心となるプレイヤーの座標の差が8以上であれば、何らかの処理をするという形にすれば出来ると思います(正直これについてはアイディア的な問題な気もしますが…)。

座標の差はわざわざ計算処理を記述せずとも、Location#distance(Location)を使えば求められます。
コード: 全て選択
for(Entity entity : player.getNearbyEntities(10, 1, 10)){
if(player.getLocation().distance(entity.getLocation()) >= 8){
//何らかの処理
}
}


また、EntityをPlayerとして扱いたい場合はエンティティがプレイヤーであるかを確認した上でキャストしましょう。
コード: 全て選択
if(entity instanceof Player){
//プレイヤーである場合
Player player = (Player) entity;
//これでplayer.sendMessage("");等が行える
}else{
//プレイヤーでない場合
}


ところで、前回のご質問は解決されたのでしょうか?
マナー的な話になりますがせめて結果ぐらい書き残すのと、お礼も言えるようになりましょう。


匿名希望さん(男) さんが書きました:質問です
コード: 全て選択
package my.test.plugin.tutorialplugin;
 
import org.bukkit.plugin.java.JavaPlugin;
 
public class TutorialPlugin extends JavaPlugin {
 
    @Override
    public void onEnable() {
        // TODO ここにプラグインが実行された時の内容を書く
    }
 
    @Override
    public void onDisable() {
        // TODO ここにプラグインが無効化された時の内容を書く
    }
}

こんな解釈であってるんでしょうか?
また、無効化された時の内容っていまいち想像がつかないんですけど、どういう時に書くんでしょうか


匿名希望(男)さん、こんにちは。
onEnable()はプラグインが読み込まれた時(サーバー起動時、リロード時、PlugMan等の他プラグインから起動させされた時)に実行されるメソッドです。
個人的には必要なデータをロードしたりコマンドの登録を行ったりする処理多い場所だと思います。
対してonDisable()はプラグインが読み込まれなくなった時(サーバー終了時、リロード時、PlugMan等の他プラグインから終了させられた時)に実行されるメソッドで、こちらはonEnable()に対してデータのセーブなんかを行う処理が多い場所だと思います。

匿名希望さん(男) さんが書きました:イベントリスナっていうのは、onEnable内に書くんですか?
あと、イベントハンドラーはプラグインの優先順位を書くものですか?
例えばすべてのブロックが破壊できないプラグインと一部のブロックだけ破壊できるプラグインが
あったとして仮に一部のブロックだけ破壊できるプラグインのほうが優先順位が高いとしたら破壊できるみたいな感じですか?
あとイベントリスナの登録って項目がよくわかりません。https://mcmodding.jp/modding/index.php/%E6%96%B0%E3%81%97%E3%81%84EventSystem%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9
もう少しよく読んだほうがいいですかね?もしわかりやすく解説してくださる方がいたら解説お願いします。


イベントリスナーはMinecraft内で何らかのアクション(ブロックの破壊、エンティティの死亡、インベントリ操作)が起きた際に発生するイベントを受け取り、メソッド内に記述された処理をするものです。
ですからonEnable()に記述するものではありません。

イベントハンドラーはイベントリスナーを呼び出す優先度を示す物です。
コード: 全て選択
EventPriority.LOWEST
EventPriority.LOW
EventPriority.NORMAL
EventPriority.HIGH
EventPriority.HIGHEST
EventPriority.MONITOR

優先度にはこれだけの種類があり、LOWESTが一番最初に呼び出された後、上から下へ順に呼び出され最後にMONITORが呼び出されます。

下記コードの場合、EventPriority.LOWであるonDamageA()が先に呼び出され、その処理が完了次第onDamageB()が呼び出されます。

コード: 全て選択
@EventHandler(EventPriority.HIGH)
public void onDamageB(EntityDamageByEntityEvent e){

}

@EventHandler(EventPriority.LOW)
public void onDamageA(EntityDamageByEntityEvent e){

}


例えを出すと、AプラグインがonDamageA()でイベントから取得出来る値(ここではダメージ量)を書き換えた場合、BプラグインがonDamageB()でイベントから取得出来る値はAプラグインが書き換えたダメージ量になります。また、Bプラグインがそこでその値を書き換える事も出来ます。その場合、最終的な値はBプラグインが書き換えた値になります。
Minecraft内では対象のエンティティにBプラグインにより設定された値に等しいダメージ量が与えられます。

ちなみに、@EventHandlerと優先度を何も指定せず記述した場合はEventPriority.NORMALと同じ優先度になります。
また、EntityDamageByEntityEventはエンティティがエンティティによりダメージを受けた場合に発生するイベントです。

イベントリスナーの登録とは、イベントに対して処理をするメソッドが実装されたクラスがどれであるかをSpigotに教える処理です。
登録自体はいつでも出来るのですが、onEnable()で登録をする事でMinecraft内で発生したアクションに対して常に処理を行えます。

onDamageA()がEventListenerというクラス内に実装されていた場合、
コード: 全て選択
@Override
public void onEnable(){
getServer().getPluginManager().registerEvents(new EventListener(), this);
}


と記述する事で登録を行えます。

また、EventListenerクラスは下記の様に書き換えておく必要があります(「」は省いて下さい)。
コード: 全て選択
public class EventListener 「implements Listener」 {


「」で囲まれている部分が追記した物になります。
これが記述されていないとイベントを受け取る事が出来ません。

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by 匿名希望さん(男) » 2018年10月11日(木) 19:28

イベントリスナっていうのは、onEnable内に書くんですか?
あと、イベントハンドラーはプラグインの優先順位を書くものですか?
例えばすべてのブロックが破壊できないプラグインと一部のブロックだけ破壊できるプラグインが
あったとして仮に一部のブロックだけ破壊できるプラグインのほうが優先順位が高いとしたら破壊できるみたいな感じですか?
あとイベントリスナの登録って項目がよくわかりません。https://mcmodding.jp/modding/index.php/%E6%96%B0%E3%81%97%E3%81%84EventSystem%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9
もう少しよく読んだほうがいいですかね?もしわかりやすく解説してくださる方がいたら解説お願いします。

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by 匿名希望さん(男) » 2018年10月11日(木) 19:11

質問です
コード: 全て選択
package my.test.plugin.tutorialplugin;
 
import org.bukkit.plugin.java.JavaPlugin;
 
public class TutorialPlugin extends JavaPlugin {
 
    @Override
    public void onEnable() {
        // TODO ここにプラグインが実行された時の内容を書く
    }
 
    @Override
    public void onDisable() {
        // TODO ここにプラグインが無効化された時の内容を書く
    }
}

こんな解釈であってるんでしょうか?
また、無効化された時の内容っていまいち想像がつかないんですけど、どういう時に書くんでしょうか

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事 by 匿名希望さん(男) » 2018年10月11日(木) 19:08

ありがとうございます
これから頑張ります

ページトップ

x