このサイトの使用を継続することで、その使用に同意したとみなされます。コントロール方法を含む詳細についてはこちらをご覧ください。ゲーム【Minecraft】UHCを作ろう!#2前回の続きとなるので前回を見てから読むことを推奨する。前回はプラグインの基盤を作成したところで終わった。今回は基本的なイベントリスナーを実装し、ワールドの自動生成を行うクラスを作成する。必要となるイベントを先に考えておこう。BlockPlaceロビーでブロック設置、破壊を無効にする必要があると思うので実装する必要があります。PlayerDeathプレイヤーが死亡したときにヘッドをドロップする処理や、プレイヤーのキル数を加算する処理が必要なので実装します。PlayerQuitプレイヤーがログインしたときにリセットしたり、スコアを取得する必要があるので実装します。EntityDamageByEntityPVPが無効の時にPVPができないようにする必要があるので実装します。UHCの仕様を踏まえると、最低限以下のイベントも必要となりますね。現時点で作成可能なイベントリスナーをさくっと作ってしまいましょう。}}次にワールドの自動生成用のクラスを作成します。値の設定などができます。分かりやすく簡単ですね。このままでは、サーバーを再起動した際に、ワールドが読み込まれておらず手動で読み込む必要があるうえに読み込んだ際は前回作成したデータが引き継がれてしまいます(新規に作成されない)そのため、生成する前に一度ワールドを削除する必要があります。}}「Remove();」を呼び出せば削除することができます(削除する前にワールドをアンロードする必要がありますよ!)ここまでのコードを一つのクラスにまとめれば使いやすく便利なクラスの誕生です。UHC以外でも使い道はありますね。Champion」の略である。大手サーバーでは最大70人。装備を揃えて戦うゲーム。満腹ゲージによる自動再生はなく、金リンゴを食べる、敵を倒したときに落とす頭を使う、回復系ポーションの使用などを使用しないと一切回復が行えないのが、このゲーム最大の特徴である。ゲームの流れ・ゲーム開始。ランダムな場所にスポーンする。PVPが許可され、敵にダメージを与えることができる。・残り15人になると、デスマッチまで10分になる。全員一定の場所にテレポート。残り一人になると試合終了。デスマッチが始まって15分経過した場合はキル数が最多のプレイヤーの勝ちとなる(最多同数のプレイヤーがいた場合はDraw)。UHCの使用(Wikiより参照)満腹ゲージが一定以上の場合でも体力が自然回復しない。回復するには金リンゴ、ポーション、プレイヤーの頭などが必要。金リンゴの回復する量が通常の2倍(4♡+衝撃吸収2♡)プレイヤーを倒すと頭(Head)をドロップする。その頭を右クリックすることでチームの全員が再生エフェクトで3♡回復できる。(Soloでは4♡)即時回復のポーションの回復量が異なる。(I:4♥、II:8♥)毒のスプラッシュポーションの効果時間が異なる。(I:33秒、II:5秒)力のポーションの効果は通常の62%に弱体化されている。移動速度上昇の効果量が変更されている。(I:+20%、II:+30%、III:+45%)ガストの涙を使って再生のポーションは醸造することはできない。プレイヤーのHPが40(20♡)。最初の準備期間は、全てのプレイヤーに火炎耐性の効果がついている。通常より満腹度の減りがかなり少ない。ワールドボーダーがある。Teamだと+-1500,Soloだと+-1000からPvPが有効になると徐々に狭くなっていく。Z.0から直径約100m)が開けた土地になっている。海洋バイオームが存在しない(サバンナバイオームになる)。常に昼である(デスマッチ会場は夜にもなり、MOBが湧く)。砂利を壊したときに25%で火打石をドロップする(通常とは確率が違う)。MOBがドロップするアイテムが多少異なる。MOBからの経験値が通常の2倍。ハサミでヒツジの毛を刈ると33%の確率で糸を1本ドロップする。子供の馬は砂糖を上げると大人に成長するネザーでは、ネザー要塞以外でもブレイズがスポーンする。(バグで通常世界のモブが沸くことがある)通常とは違う様々な特殊レシピがある。コインを使ってショップで解放できる。きらめくスイカの作り方が異なる。スイカを中央に、金インゴットを上下左右に1個ずつ計4つ置いてクラフトする。(プレイヤー名)で自分を招待したプレイヤーのチームに参加できる。Tabキーを押すとプレイヤー一覧と、各自のHPが表示されるが、そこには金ハート分のHPが加算されている。弓、釣り竿などを敵に当てた際にHPが表示されるが、それには金ハートは加算されてないので注意)。糸を使って弓を金床で修理できる。エンチャントテーブルでは幸運のエンチャントが付与されない。鉱石の生成量が増加している。xray対策のため、鉱石はプレイヤーが一定距離内に入ると表示される。鉱石が表示されているのに、破壊しても鉱石がドロップしないバグが時々起きる。これ以上の詳細な説明は以下のWikiを参照してもらいたい。Wikiサーバー準備パート1から早速作っていこうと思う。そのためには、初めにサーバーを用意しなければならない。1.8.8を使用する。プラグイン開発はSPIGOT(Bukkit)ベースなのでBukkit派生であればなんでもかまわない(例えばPaper)さて、サーバー(API)の準備ができたところで、プラグインを作っていこう。EclipseなどのIDEを立ち上げてプロジェクトを作成して、ビルドパスにAPIを通そう。次にメインとなるクラスを作成しよう。今回は「Game」というクラスを作成した。この「Game」というクラスがプラグインの基準というか、中心となる。完結に綺麗にコードをまとめて見やすくする努力をしよう。