spigotプラグイン講座3-4(パスワードを作ろう)

どうも! プラグインティーチャー、Mr_IKです!
初心者向けマイクラspigotプラグイン講座、第三回(4限目)始めます!

前回、ブロックの破壊をキャンセルするプラグインを作りましたね。
今回はその続きからです。

第三回すべてのメニュー

  • コマンドを打ったらメッセージを送信 done
  • コマンドを打ったら全体にメッセージを送信 done
  • OP以外のブロックの破壊をすべてキャンセル done
  • パスワードを入力したらOPになれるコマンド ←今回はこれ
  • [おまけ]経済との連携

パスワードを入力したらOPになれるコマンド

実は、”コマンドを打ったらメッセージを送信”と”コマンドを打ったら全体にメッセージを送信”の
2つをやって、少しだけ改造すれば 意外とすぐできちゃいますよ。

前回のプロジェクトを開きましょう。

https://gyazo.com/2e26b7fee514d2d8c5760d8c71b0cc55

このonCommandですが、真ん中ぐらいにある

if(args.length == 0){
return true;
}

if(args.length == 0){
return true;
}else if(args.length == 2 && args[0].equalsIgnoreCase(“getop”)){
//ここに3-4のコードを書く
}

に変更してください。

これができたら、//ここに3-4のコードを書く の下に以下のコードをコピペしてください

if(args[1].equalsIgnoreCase(“password”)){
p.setOp(true);
p.sendMessage(“§a§lパスワード認証!OPになりました!”);
return true;
}
p.sendMessage(“§c§lパスワード認証失敗!OPになれませんでした!”);
return true;

はい、このコードは args[1]、つまり /test 1 2 の 2の部分が “password”という文なら
OPを与える というコードです。
“password” の部分はみなさんの好きなように変えてください!

この時点で、下の写真のようになってればOKです。
https://gyazo.com/c5c4df31ad2a071598b754812cef3bb4

で、コピペと変更が終わったら ビルドし、pluginsフォルダに入れてサーバーをreload・再起動してください

それが終わったら /test getop (自分で決めたパスワード 元々のままならpassword)

で、OPを手に入れられます。
間違えた文を打つと、OPになれなかった という文が出てくるでしょう?

これで、無事OPゲットパスワードコマンドができました。

第三回、これにておまけ以外は終了です。
お疲れさまでした。

次回はおまけとして経済との連携をお教えします。
乞うご期待。

spigotプラグイン講座3-3(イベントをキャンセルしよう)

どうも! プラグインティーチャー、Mr_IKです!
初心者向けマイクラspigotプラグイン講座、第三回(3限目)始めます!

前回、全体メッセージを送信するプラグインを作りましたね。
今回はその続きからです。

第三回すべてのメニュー

  • コマンドを打ったらメッセージを送信 done
  • コマンドを打ったら全体にメッセージを送信 done
  • OP以外のブロックの破壊をすべてキャンセル ←今回はこれ
  • パスワードを入力したらOPになれるコマンド
  • [おまけ]経済との連携

OP以外のブロックの破壊をすべてキャンセル

今回はそこそこ使えるプラグインを作っていきます
前回のプロジェクトを開きましょう。

今回行こなうのは、『ブロック破壊イベントの取得』と『そのイベントをキャンセルし、メッセージ』です。

まず、

public final class Hello_world extends JavaPlugin {

public final class Hello_world extends JavaPlugin implements Listener {

に変えましょう。
これは、イベントを取得するために必要なものと思ってください。

次に、OnEnable()に

getServer().getPluginManager().registerEvents(this, this);

を追記してください。 これもイベントの取得に必要なものです。

この2つがないとエラーが出ずに反応しないので注意してください!

今の時点でコードが
https://gyazo.com/26ec8a7fb84e4d947afffc81915c5383
となってればOKです。

では、処理の部分を書いていきましょう。

下のコードを下の写真通りに書いてください

@EventHandler
public void BlockBreakCancel(BlockBreakEvent e) {
if(!e.getPlayer().isOp()){
e.getPlayer().sendMessage(“§c§lおっと!君はOPじゃないネ!”);
e.setCancelled(true);
}
}

https://gyazo.com/7fc32707f0f799e05fc7480ff538a677

赤線が出たら、ALT+ENTERでインポートです。

これを上の写真通りコピペできたら、ビルド->pluginsに入れ,reload,再起しましょう

reload・再起動が終わったら、自分の権限を黒い画面で

deop [MCID]

と入力して取り
適当なところでブロックを壊してみましょう。

ここで、ブロックが壊せたら もう一度この記事を見直し、間違えたところがないか、自分にOPがついてないかを確認しましょう。

ブロックが壊せないけどメッセージが出ない場合は、スポーンプロテクションがかかってる可能性があるので
別の場所でブロックを壊してみましょう。

このようにメッセージが出て、ブロックが壊せなかったら成功です!
https://gyazo.com/80962ce149e8532c8411b9906c16c514

後で、黒い画面で自分にOPを与えておきましょう。

op [MCID]

次回は、パスワード入力で OPをゲットできるプラグイン作成です!
乞うご期待!

MCE板の見方

MCEの板の見方と実際のオーダーの仕方を見ていきます。

 

 

上のスクリーンショットの、「注文状況:丸石」から下の売数量とかのところの数字の情報を、「板情報」といいます。

どうやって見るのか、このスクリーンショットの丸石で見ていきましょう。

 

まず、板の一番左からそれぞれ、売数量(=マーケットで売っている数)、値段(=アイテム1個の値段)、買い数量(マーケットで人が買いたいといっている数)となっています。

売数量では、今、1個$1200の丸石が30個売られていて、1個$1000の丸石は99999個売られています。

買数量では、今、1個$999で9996個買いたいといわれていて、1個$200の値段では200個買いたいといわれています。(その下は1個$50で300個、1個$10で100000個・・・と続きます。)

売数量と買数量の一番真ん中に近い値段の部分だけ色が黄色ではないのに気づきましたか?

緑色なのが、売り注文の一番安い値段(今回の場合$1000)です。

赤色なのが、買い注文の一番高い値段(今回の場合$999)です。

そしてこの二つの間の値段が「現在値」となります。

ただし、売ったり買ったりするとき、現在値で取引はできません。あくまでも、売っているのは売数量-値段のもので、買ってもらえるのは値段-買数量のものだけです。

では、先ほどのスクリーンショットのような状況で売ったり買ったりするにはどうしたらいいでしょうか。

指値注文と成り行き注文の仕方をそれぞれ見てみましょう。

 

指値注文

先ほどの板の見方はわかったら、指値注文はできます。

 

買い注文

今、丸石を10000個ほど買いたいとします。

板情報を見てみると、売数量30の値段1200というのと、売数量99999の値段1000というのがあります。

つまり、$1200で30個売っているところと、$1000で99999個売っているところがあるということです。

買い物をするならできるだけ安く買いたいですよね?

では、どういった注文をすれば一番安く買えるでしょうか。

この場合、$1200と$1000だったら$1000のほうが安いですよね。

$1000では99999個売っているので、欲しい数の10000個も買えそうです。

ですので、今回の指値買い注文は、$1000で10000個の注文になります。

コマンド:

/mce orderbuy 1000 10000

 

売り注文

丸石を10000個売りたいときのことも考えてみましょう。

売るときはできるだけ高く売りたいですよね。

今回も板情報を見て考えてみましょう。

板情報を見てみると、$999で9996個買い注文があるようです。

しかし、今売りたいのは10000個です。4つ足りませんね。

9996個だけ売ってもいいのですが、お金が必要なので、どうしても10000個売りたいです。

こんな時は、2番目に高い値段の買い注文も見てみましょう。

次に高い値段の買い注文は、$200で200個ですね。

値段は下がってしまいますが、それでもお金が欲しいので、残りの4個はこの値段で売ることにします。

つまり、$999で9996個売るという注文と、$200で4個売るという注文の2つの注文をすれば10000個すべて売ることができます。

コマンド:

/mce ordersell 999 9996

/mce ordersell 200 4

 

 

成り行き注文

成り行き注文は、今入っている指値の売り注文や買い注文に対して、bidやaskで売ったり買ったりします。

 

買い注文

今、とにかく丸石を10000個買いたいとします。

板情報を見てみると、$1200で30個と、$1000で99999個それぞれ売っています。

成り行き買いでは売り注文の一番安い値段から買っていきます。

今回のbidは$1000です。この価格帯では99999個売っているので10000個買えそうです。

つまり、丸石10000個の成り行き買いをすると、今回は1個1000で買えるということになります。

コマンド:

/mce marketbuy 10000

 

売り注文

最後に、丸石を10000個売りたいときのことを考えてみましょう。

板情報では、$999で9996個が買い注文の一番高い値段となっています。

しかし、今売りたいのは10000個、9996個では4個足りません。

 

こういった場合、成り行き売りしたらどうなるでしょうか?

この場合、$999で9996個売り、マーケットの買い注文のaskが$200になります。

4個分はこの新しいaskである、$200の分で売れます。

つまり、$999で9996個売り、$200で4個売るということになります。

プレイヤーの操作自体は成り行き売り注文を、売りたい個数で入れるだけです。

コマンド:

/mce marketsell 10000

 

このような操作を行うことで、取引をすることができます。

実際の取引では、数字を自分が売りたい額や個数にしてみましょう。

【マイクラで電子書籍】AmanzonKindleサービス開始!

ついに電子書籍がman10に!?「AmanzonKindle」サービス開始!

ロビーにあるYAMANDA電機で専用端末AmanzonKindle Paperが300万で購入できます!

端末が購入できない場合でもシロネコヤマント前にあるMancBookより操作できます・

題名、内容、著者名検索も完備!

端末から本を開けるため、インベントリが圧迫される心配もなし!

出版したい場合は、本をOPに審査してもらい、許可が出たら登録料1000万で出版者登録することができます。

出版する本の内容は過度なエロと、だれかを攻撃、侮辱するような本、犯罪を助長するもの、その他運営が不適切だと判断したものも見つかりしだい運営から削除され、出版権を取り下げられます。

spigotプラグイン講座3-2(全体メッセージを送信しよう)

どうも! プラグインティーチャー、Mr_IKです!
初心者向けマイクラspigotプラグイン講座、第三回(2限目)始めます!

前回、コマンドの実装とプレイヤーにメッセージを送信するプラグインを作りましたね。
今回はその続きからです。

第三回すべてのメニュー

  • コマンドを打ったらメッセージを送信 done
  • コマンドを打ったら全体にメッセージを送信 ←今回はこれ
  • OP以外のブロックの破壊をすべてキャンセル
  • パスワードを入力したらOPになれるコマンド
  • [おまけ]経済との連携

コマンドを打ったら全体メッセージを送信

今回はまあまあ使えるかもしれないプラグインを作っていきますよー!
前回のプロジェクトを開き、
“p.sendMessage();”を削除してください。

では、行きましょうか!

今回は /test 内容 で全体メッセージができるプラグインを作るのを目標に行こうと思います

ですが、コマンドといっても /test だけ打たれても困るし、 /test a a a と打たれても分割しちゃって困ります。

ですので、その対策とカラーコードについて教えていきます。

/test のみ 対策は簡単です。
“if文”を使います。 前回の中級者向け解説にも出てきましたが
if文とは早い話分岐です。
もし○○が▼▼なら など沢山の条件を作れます
今回は args、つまり /test 1 2 …
の1,2… の部分がない場合を省略するので次の文になります。

if(args.length == 0){
return true;
}

argsの長さを取得し、それが0なら中の処理に入らせるという文です。
その文の処理はreturn true; つまり処理を終わらせるコードです。

さあ、次の障害は何と言っても /test a a a でしょう。
これはちょっと上級者向けです。
“for文”を使います。forとは早い話繰り返しです。
○○が▼▼の間、もしくは○○の中身を総回しする時などに使います。 今回は後者ですね
argsの中身、つまり a,a,a… などを連結させるコードがこちらです。

String message = null;
for(String s:args){
if(message == null) {
message = s;
continue;
}
message = message +” “+s;
}

これで、”message”という変数に連結したメッセージが入りました。

最後に簡単なおまけを付けましょうか。

“カラーコード”です。 簡単に言えば色付きの文字です。

&4&lああああ で
赤色太文字のああああ
になるようにできるコードがこちらです。

message = ChatColor.translateAlternateColorCodes(‘&’,message);

たったのこれだけを追加でカラーコードが使えます。

さあ、最後の仕上げです。

全体メッセージのコードはこちらです。

Bukkit.broadcastMessage(message);

赤い文字になったらALT+ENTERでインポートです。

最終的なコード:

https://gyazo.com/f6796352f81aad7713ff03071c5d9272

一画面じゃ収まらなくなりましたが、onCommandが合ってればそれでおkです!

そうしたらビルドしましょう!

その後できたjarを前回のjarと差し替えて…

/test &d&lM&f&la&a&ln&f&l10 server!! と打つと…?

https://gyazo.com/7e146028c7873d34f3e09cd6c990fbc8

できましたね!
『でもこれ、そのプレイヤーにしか見えてないんじゃない?』とお思いのあなた、黒い画面を見てください。
https://gyazo.com/1f8eab17e62fbeb2a566f4b4c6bd35b1

ね?出てるでしょ?

次回は、OP以外のブロックの破壊をキャンセルするプラグイン作成です!
乞うご期待!

spigotプラグイン講座3-1(コマンドを実装しよう)

どうも! プラグインティーチャー、Mr_IKです!
初心者向けマイクラspigotプラグイン講座、第三回(1限目)です!

前回、hello world プラグインを作りましたね。
今回はその続きからやっていきます。

第三回すべてのメニュー

  • コマンドを打ったらメッセージを送信 ←今回はこれ
  • コマンドを打ったら全体にメッセージを送信
  • OP以外のブロックの破壊をすべてキャンセル
  • パスワードを入力したらOPになれるコマンド
  • [おまけ]経済との連携

第三回をすべて読むと、ある程度のプラグインを作ることができます!

コマンドを打ったらメッセージを送信

まずは簡単なものからですね。
これは、様々なプラグインの中でも大大大前提のコードです。

intellijを開き、前回のプロジェクト『TutorialPlugin』を開いてください。
開きましたか?では、コマンドの実装をしましょう。

前回のコード、”getLogger().info(“Hello!world!こんにちは!世界!”);”の下に

getCommand(“test”).setExecutor(this);

を追加してください。

これで、”test”というコマンド自体の実装ができました。
今度は処理を書きます。

画面のように、OverrideしたonCommand(下にコピペがあります。)を作ってください。
https://gyazo.com/b8ca9e488007de80c27c3e05f5ab2015
コピペ用↓

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
return true;
}

さて、何か赤線で引かれてしまいました。
実は、まだこのTutorialPlugin君には “Commandsender”くんが何かわかってないのです。
どうやって教えるの? 簡単です。 “import” をするんです。

intellijには自動インポートがあるので、使ってみましょう。
赤くなっている文字の上でクリック、その後 ALT+ENTER。

すると…?

https://gyazo.com/19cf75c750f30a5357e68e04a66830e8

何か出てきましたね。今回使うのは “import”なので import class をクリックします。すると

https://gyazo.com/550d453ff34ded9b1936230894061e0b

“import” が一つ増え、赤文字が消えましたね!
同様に、右の赤文字もクリック後 ALT+ENTER でインポートしましょう。

さあ、やっとできた この “onCommand” の中にコマンドの処理を書いていくわけですが

コマンドを打つのはプレイヤーだけじゃありません。
“黒い画面”->console コマンドブロック などなど

プレイヤー以外にもコマンドを実行するものはいくつかあります。

もし、それをはじく処理をしないままプレイヤーとして処理すると…
エラーが出てしまうので、先にプレイヤー以外がコマンドを使えないようにしてしまいましょう。

“return true;”の上に、下のコードをコピペしてください。

if (!(sender instanceof Player)) {
return true;
}

先ほど同様、赤文字になったらALT+ENTERでインポートです。

これが追加できると、sender、つまりコマンド実行者がPlayer以外の場合はじくようになります。

さあ、いよいよプレイヤーにメッセージを送信です!!

以下のコードを先ほどのコードの下に書いてください!

Player p = (Player)sender;
p.sendMessage(“やあ!こんにちは!世界!”);

最終的なコードはこちら
https://gyazo.com/5ed5d1c45b874222588ae122886ce62d

間違っていた場合は画像を見て直してくださいね。

これで、ついにコマンドが使える!ビルドだ…と行きたいところですが。

プラグインが読み込まれた時、このコマンドを使うぜ!とサーバーに教えないといけません。
Plugin.ymlを開き、下の画像のようにしてください。
https://gyazo.com/6b985207faba725da8b17760e93c2ec7
これ、スペースや文字、一字一句慎重に書いてください。
間違えたらコマンドが読み込まれません。

さあ、ここまでできたらビルドし、自分のサーバーに入れてみましょう。
前回使用したプラグインは削除してください。

https://gyazo.com/847de5a6c8f7564c7d8f129343947699

/test と打って”やあ!こんにちは!世界!”と出たら成功です!

=====仕組み解説タイム(中級者向け)======

ここからは、コードの仕組みと応用を書いていきます。

まずは

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
return true;
}

ですが、これはコマンドを受け取った時の処理を書く場所です。
senderが実行者 commandがコマンド自体の変数 labelは/testのtest argsは/test 1 2 の 1,2,… の詰め合わせ

となっています。

/test 1 2 3 4
というコマンドをPlayerが実行した場合…

実行者(sender) = Player , label = test args = 1,2,3,4 となっています。

1を取り出したいときは args[0] 2はargs[1] となっています

次に

if (!(sender instanceof Player)) {
return true;
}

ですが、sender が player かどうか。-> いいえならここに入る というif文です。
ifについては 3-2、3-3 あたりで学習しますが、あくまで分岐と思ってください。

最後に

Player p = (Player)sender;
p.sendMessage(“やあ!こんにちは!世界!”);

これは senderをplayer型にした後、
そのプレイヤーにメッセージを送るコードです。
“やあ!こんにちは!世界!”の部分を変えると、メッセージも変わります。
(メッセージに色を付ける方法は 3-2 全体メッセージにて)

=====以上、中級者向け解説======

いかがでしたでしょうか。
あまりにも長い解説となったので第三回は分割してお届けすることになります。

次回、全体メッセージの回をお楽しみに!

マイクラで仮想通貨や株のような取引システムが始まります

man10中央取引所:通称MCE(man10 central exchenge)がベータ公開されました。

現実世界の株や仮想通貨の取引所のようにマーケットがあり、取引したいアイテムの板を見て取引します。

取引には成り行き注文(なりゆきちゅうもん)と指値注文(さしねちゅうもん)があります。

成り行き注文

売買(ものを売ったり買ったり)する際に、値段を決めずに注文することを「成り行き注文」と言います。→値段を決めて注文するのは指値注文(さしねちゅうもん)
買うときは「成り行き買い」、売るときは「成り行き売り」になります。
成り行き買いでは、買いたいもの × 数を成り行きで買うといった場合、売られているものの中で安いほうから、決めた分を買っていきます。
成り行きの売りになればその逆で、売りたいもの × 数を成り行きで売ると、買い注文の中で高いほうから順に、決めた分を売っていきます。

指値注文

売買する際に、値段と個数を決めて注文することを、「指値注文」といいます。
買うときは「指値買い注文」、売るときは「指値売り注文」になります。
指値買い注文と指値売り注文が一致すれば取引が成立します。
また、指値注文がないと成り行き注文はできません。

例:粘土の売買~成り行きで売りたい場合~

  • 成り行きで売ることも買うこともできない場合(在庫なし・注文なし)

あなたは粘土を成り行きで売ろうと思いました。
しかし、今、粘土を値段を決めて売り出している人も買いたいと言っている人もいません(=指値での売り注文も買い注文も出ていない)
売っている人がいないので、「言い値で買う!」ということもできませんし、「買いたい!」という人がいないので、どんなに安くても売ることができません。

 

  • 成り行き注文と指値注文で出ている個数が同じかそれ以上の場合

しばらくして、粘土を指値で買い注文を出した人がいました。
どうやら、粘土を1個$150で128個買いたいようです($150で128個の指値買い注文が入りました!)

 

そこであなたは、粘土を64個成り行き売りすることにしました。
今はマーケットでは1個$150で128個まで買い取っています。
ですので、64個すべて売ることに成功しました!
$150 × 64個=$9600もうけることができました。
指値で売り注文が入っていて、あなたが買いたい場合はこの逆になります。

 

  • 成り行き注文の数が指値注文をいくつかまたぐ場合

何日かして、もう一度粘土のマーケットを見てみました。
すると今日は$200で48個の指値買い注文と、$150で32個の指値買い注文が入っていました。

そこであなたはまた粘土を売ろうと思い、成り行きで64個売りました。
この場合、64個のうち、48個は$200で売れ、残りの16個は$150で売れることになります。
ですので、同じ64個すべてを売ること成功しましたが、$200 × 48個+$150 × 16個=$12000もうけることになりました。
指値で買い注文が入っていて、あなたが売りたい場合はやはりこの逆になります。

このように、成り行き注文では、同じ個数を売ったり買ったりしたとしても、そのときのマーケットの指値の注文の数や値段によっては、値段や売ったり買ったりできる数が変わってきます。

spigotプラグイン講座2(環境を整え作ってみよう)

どうも! プラグインティーチャー、Mr_IKです!
初心者向けマイクラspigotプラグイン講座、第二回をやっていこうと思います。

前回、サーバーを建てましたね。
今回はその続きからやっていきます。

前回:

今回のメニュー

  • 自分のサーバーに入ってみる
  • JDKをインストール
  • intellijをインストールする
  • intellijの環境を整える
  • hello worldプラグイン作成

この講座で、テストプラグインは作れるようになります!

1: 自分のサーバーに入ってみる

自分で建てたサーバーに入れないのは悲しいので、試してみましょう!
前回同様に(好きな名前).batをダブルクリックし、起動しましょう。

起動ができたら、以下の写真通り入力してください
https://gyazo.com/223ed3f462172bf8fd5c33dae6144cb3

できたら、サーバーリストから入ってみましょう!
入れたら、”黒い画面”を開いてください。その後
“黒い画面”に

op [自分のMCID]

と打つとOP権限が渡されます!

ここまでできたら、次に進みましょう(サーバーは立てておいても一旦閉じてもいいです)

2: JDKをインストールする

これ、結構重要です。
http://www.oracle.com/technetwork/java/javase/downloads/index.html
上のリンクから “Java Platform (JDK) (数字)”
と書いてあるほうをクリックし、
出てきたページのAccept License Agreement をクリック
自分のOSにあったインストーラーをダウンロードし、その後インストール。

できたら、次に進みましょう。

3: intellijをインストールする

https://www.jetbrains.com/idea/
上のリンクから、[DOWNLOAD]をクリックし、
[Community]側の[DOWNLOAD]をクリックしてください。
インストーラーがダウンロードされます。

ダウンロードが終わったら、インストーラーをダブルクリックし、インストールウィザードに従ってインストールを進めてください。

インストール終了後、デスクトップにショートカットができていると思います。
ダブルクリックし、起動するのを待ちましょう。
https://gyazo.com/283e1b1943bd8c946a158c41459ca44e
このような画面になったら、次に進みましょう。

4: intellijの環境を整える

上の画面右下、Configureという歯車マークをクリック->Plugins->Browse repositories
とボタンを押し、上の検索バーで “Minecraft”と入力。
https://gyazo.com/f3646db0e80202010f835a61fef35b90
このようになったら右のInstallをクリックします。
インストールが終わったらIntellijを再起動してください!
再起動が終わったら、次に進みましょう。

5: hello worldプラグイン作成

プラグイン作成者がほぼ必ず通る道。hello world。
さあ、あなたもプラグイン作成者への一歩を踏み出そう!!

Intellij初期画面からCreate new project をクリックしてください。
恐らくこのような画面になります。
https://gyazo.com/a3ecee868827e3f72693c054c062439a

Minecraftというところがあるじゃろ?
そこをクリックしspigotpluginを選択、
上のほうのprojectSDKはjavaのファイルの場所(特に指定なしならC:\Program Files\Java\jdk-数字)
を選択し、Nextボタンクリック。
https://gyazo.com/2297d3916690c47e767eb89308ced318
ここの Groupidには tutorial.test
Artifactid には Hello_world と入力して下さい。
その後2回Nextをクリック。
Projectnameのところで TutorialPlugin と入力
そして Finish をクリック!

https://gyazo.com/41624620b79939704832ee6c7c0da566
キタ━━━━(゚∀゚)━━━━!!

ここまで来たらもう簡単!

// Plugin startup logic

と書かれたところの下に

getLogger().info(“Hello!world!こんにちは!世界!”);

とコピペしてください!

その後 CTRL + S でセーブし、
https://gyazo.com/0d1a6522e18725b21b286a54235bedae

この▼をクリック、 TutorialPlugin build を選択 隣の ▶ をクリック!

https://gyazo.com/59ddd4a3a81e720a1b9c97b894f77eae

と出たら成功!!

Tutorialplugin -> tragetをクリック、 その中にあるHello_world-1.0-SNAPSHOT.jar を
前回のサーバーファイル -> plugins の中にドラッグ・アンド・ドロップ!

そうしたら 黒い画面を開き、(サーバーを起動していないなら起動して)
reload と打ち込みます!

https://gyazo.com/d1ea2dbf4d926db5b3af79d5cc60d241

こうなっていたら成功です!!

お疲れさまでした!
次回はコードの説明、そしてちょっと難しいコードを教えていきます!

では、またね!

spigotプラグイン講座1(サーバーを建てよう)

始めまして! 今回からプラグインを教えます、Mr_IKです!
初心者向けマイクラspigotプラグイン講座をやっていこうと思います。
とりあえず初回なので、基本的なところからやっていきましょうか。

今日やること

  • gitをインストールする
  • buildtoolsをダウンロードする
  • spigotサーバーをビルドする
  • サーバーを起動する

今は意味不明でも👌おっけーです!
では、いってみよー!

1: gitをインストールしよう

もう???となってる方もいるでしょうが、簡単に説明します。
spigotというのは「非公式」のサーバーです。
そして、minecraft側が決めたルールに沿ってやると、
自分で作るしかないのです。
簡単に言うとこんな感じです。気になる方は自分でggってください。
しかし、自分でビルドするって言ってもどういう意味かわからないでしょう。
そこで活躍するのが「git」です。
gitはspigotの「設計図」の役割を果たします。
ダウンロードの仕方はこのリンクからどうぞ↓
https://eng-entrance.com/git-install
gitのダウンロードができたら、次に進みましょう。

2: buildtoolsをダウンロードしよう

また意味不明な言葉が出てきましたね(笑)
この「buildtools」は、spigotの「材料」といった感じです。
下のリンクから最新版をダウンロードし、次に進みましょう↓
https://hub.spigotmc.org/jenkins/job/BuildTools/

3: spigotをビルドしよう

いよいよビルド、つまり「作成」の時間です。
ダウンロードしたBuildTools.jarを新しいフォルダ(名前は英語なら自由)を作り、そこに入れて、
https://gyazo.com/9800821250d900e8ee1c69b39aff60ea
フォルダ内を右クリック→Git Bash Hare でgitを起動します。
https://gyazo.com/81d84d606596eb48ca1c996f3c71d21e
https://gyazo.com/e8ed797ea4e7f0f144845e3a7ed451c7
こうなったら、次はその黒い画面に

java -jar BuildTools.jar

と入力しEnterを押しましょう!その後はしばらく待つと…
https://gyazo.com/8682127841f281070c5888dc80ccb95b
spigotができていますね!これでサーバーの作成は一段落です!
spigot-(バージョン名).jar ができていない場合はもう一度このページなどを読み直してやり直してみましょう!

4: サーバーを起動する最後の準備をしよう!

サーバーのファイルはできましたが、まだ起動するための「鍵」がありません!
その「鍵」とは、 起動パッチのこと。 今から起動パッチの作りかたをお教えします!
まず、spigot-(バージョン名).jarと同じところに、 (好きな名前).bat というファイルを作ってください。
私は start.bat にしました。
https://gyazo.com/f0522c12a1272f23cfac58d7dd5fd6bb
そして、その(好きな名前).batを右クリックー>編集 でメモ帳などのテキストエディタを開きましょう
次が一番重要です!

@ECHO OFF
java -Xms1024M -Xmx1G -jar spigot-(バージョン).jar
PAUSE

を書き込んだ後、保存し閉じてください。

注意: (バージョン)はサーバーファイルのバージョンに合わせてください。

ここまでできたら次がこのパート最後です!

5: サーバーを起動してみよう!

いよいよ起動です!
一個前にできた (好きな名前).bat をダブルクリックしてみましょう!
https://gyazo.com/d5fda5b12b049926618bb74256023189
サーバー立ったの?と聞きたくなりますが、まずはeulaに同意しないといけません。
eulaとは、利用規約みたいなものです。 フォルダの中の eula.txtの中にある

eula=false

eula=true

に変更し保存、その後また(好きな名前).bat をダブルクリックしてみましょう!
https://gyazo.com/df6d3d7559cf34afa5cd1156c251525d
このようになっていたらサーバー起動成功です!おめでとうございます!
(サーバーを停止するには、黒い画面でstop と打ってenterを押すと停止します。)

いかがでしたでしょうか。
次回はプラグイン開発環境の構築です!
お楽しみに!

【新ギャンブル】投票じゃんけん実装!!

賭けグルイという、漫画、アニメドラマを知っていますか?

 

まん10サーバでは、賭けグルイにでてくる「投票じゃんけん」をアレンジしたギャンブルを実装いたしました。

1)金額を決めてプレーヤがゲームを開始します

/mv new (金額)

ベットする金額は5000万円以上になります

対戦相手は次のコマンドで対戦開始します(ベット金額が必要です)
/mv join 

2)投票フェーズ(2分間)

ゲームを開始するとログインしているプレイヤーはカードを投票できます

/mv

とコマンドを打ち込むと、グー、チョキ、パーを選択し投票します。

3)じゃんけんフェーズ(2分間)

2分たつと、3枚のカードが自動でふられ、じゃんけんを開始します。
じゃんけんに勝ったプレイヤーは、負けたプレイヤーのベットした金額の90%をもらえます。
勝負にきまったカードを出したプレイヤーはベットした金額の10%をもらうことができます。

 

「さぁ、賭け狂いましょう」

 

このゲームの重要な点

ドラマやアニメを見た人はご存知だと思いますが、このゲームは根回x運の勝負です。

裏で、金で貧乏人から投票を買い叩くもよし、仲間とぐるになって票の操作をするもよしです。

沢山の人間の票をコントールできる力のある人間は勝ちやすいでしょう。

富豪が札束と札束で殴り合い、そのおこぼれを貧民がもらうという、まん10サーバーらしいゲームです。