マイクラから学ぶJava

提供: ギガンティック☆整地鯖 公式wiki
移動先: 案内検索

お手伝い権限「Developer」は廃止されました。

絶賛執筆中
                             筆者:tar0ss

はじめに

ギガンティック☆整地鯖(以下,当鯖とする)のプラグイン開発をしてみたいけど,Java難しい!助けて!という方に向けての簡単なチュートリアルページです.

注意事項

Developer権限をお持ちでない方は当鯖のDiscordに参加していただき,
ガイドラインに従ってDeveloper申請をして許可をもらってからお読みください.

前提知識

本内容は読者が以下を心得ている前提で記述しています.

  ・Java入門書で学べる最低限の知識
 プログラミング言語自体初めてという方はこちらの本をおすすめします.
・Minecraft Java Editionのゲーム内容
・問題発生時におけるある程度の自己解決能力
・基礎的な英文読解能力

  本内容はマインクラフトのサーバーで動作するPluginをJavaを使って開発します.


Developer権限の申請

プラグイン開発をするには,当鯖のお手伝い権限の中の一つであるDeveloper権限が必要です. Developer権限を申請するまでの手順を説明します.

Discordグループへの参加

連絡を円滑に行うために,Discordグループへの参加をお願いします. 詳しくは,上のリンクから

RedMineアカウントの登録

タスク管理を効率よく行うために、ギガンティック☆整地鯖が運用しているseichi.clickのRedMineへの登録をお願いします.
ここにアクセスし、右上の登録ボタンより申請してください.
Java1.PNG
姓名に本名を使用する必要はありません.

GitHubアカウントの登録

開発状況の確認や,開発工程の視覚化,効率化のためにGitHubを使用します.ここからアカウントを登録してください.

Minecraftの購入

デバッグをするためにMinecraftを購入します.
こちらから購入できます.

Developer権限の申請

Discordグループ内のテキストチャンネル#claimにて以下のように発言してください.

  お忙しいところ失礼します.
Developer権限の申請をさせていただきます.
よろしくお願いします.
'''
RedMineアカウント 姓: 名:
GitHubアカウント名:
MinecraftアカウントID:
'''

登録完了

後日,運営チームから権限付与の連絡があれば,登録完了です.
GitHubに登録したメールアドレスに,当鯖Organizationへの招待が届いていますので忘れずに参加してください.


開発環境の構築

本内容では,以下の前提で説明します.バージョンが変更され,古くなった場合は適宜読み替えてください.

・Windows10(64bit)
・JDK 8 update 144
・git for window 2.14.1
・spigot 1.12.2
・XAMPP 7.1.8
・IntelliJ IDEA 2017.2.3
・Kotlin 1.2.10
・GitHub Desktop 0.8.0


Javaの導入

実行環境とコンパイラ,デバッガーを含んだ開発キットJDK(Java Development Kit)を導入します.

Javaのダウンロード

ここからJDKをダウンロードします.

1.図のDOWNLOADをクリックして下さい.
Java2.PNG
2.図の赤丸のチェックを付けて,License Agreementを承認してください.その後,黄色い蛍光ペンで示した実行ファイルをダウンロードしてください.
Java3.PNG

Javaのインストール

1.ダウンロードした実行ファイルを実行し,インストールウィザードの表示に従ってインストールを完了してください.

2.コルタナさんに「こま」まで話すとコマンドプロンプトが出ますので開いてください. (windows7/8/8.1はwin+Rを押して"cmd"と打ってエンター)
Java4.PNG
3.開いたら,

  java -version


と入力してください.


4.このように表示されていれば導入成功です.
Java5.PNG

インストールが完了しているのに見つからないと警告される場合、環境変数PATHにjavaのディレクトリが登録されていない可能性があります。
OS versionと「環境変数」で検索等して頂き、JDKのインストールディレクトリ/binがPATHに登録されているかをご確認ください。

デバッグサーバを建てる

開発に際して,本番環境に自分で開発したプラグインを導入する前に,自前のサーバを用意してデバッグを行います.
デバッグサーバを建てるには,次の手順を踏みます.

Git for Windowsの導入

ここからダウンロードし,インストールしてください.説明は割愛します.

Spigotのビルド

本内容ではSpigot(スパイゴット/スピゴット)を使用してサーバーを構築します.

まず,Git Bashを実行し以下のコマンドを実行します

1.spigotという名前のフォルダを作成します.

  mkdir spigot


2.spigotというフォルダにカレントディレクトリを移動します.

  cd spigot


3.spigotをビルドするツール(BuildTools.jar)をダウンロードします.

  curl -L -O https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar


※入りきらないため改行していますが、1行で入力してください.

4.バージョン1.12.2を指定してビルドします.少々時間がかかります.

  java -jar BuildTools.jar --rev 1.12.2


5.spigot-1.12.2.jarがあるか確認します.

  ls


Spigotの起動

1.絶対パスを確認し,エクスプローラでspigot-1.12.2.jarがあるフォルダへ移動します.

  pwd

2.下記内容のテキストファイルを作成し,名前を「start.bat」に変更します.

  @ECHO OFF
  java -Xmx1024M -Xms1024M -jar spigot-1.12.2.jar
  PAUSE

3.作成したbatファイルを実行します.

  You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

とメッセージが出るので一度閉じてください.

4.必ずEULA(MINECRAFT エンド ユーザー ライセンス条項)に同意してください.

5.同意したら,同フォルダ内のeula.txt

  eula = false



  eula = true


に書き換え、保存します。


6.先ほど作成した bat ファイルを再度実行すると,今度はきちんとMinecraft 1.12.2 のサーバーが起動します.

7.マルチサーバーのアドレスに localhost と入力してみてください.

これであなただけのデバッグサーバーの起動完了です.stopと入力してサーバーを止めましょう.
今後もbatファイルを実行するとサーバーが起動して,コンソールにstopと入力したら閉じることが出来ます.

XAMPPの導入

XAMPP(ザンプ)とはウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージとしてまとめたもので,apachefriends.orgから提供されています.
本番環境ではデータベースサーバを利用しMySQL(マイエスキューエル)を使ってデータを管理していますので同じサーバを建てます.
データベースサーバを建てるといっても,XAMPPのおかげで,私たちが行うのはStartボタンを押す.たったそれだけです.

XAMPPのダウンロード

ここからダウンロードしてください.

XAMPPのインストール

ダウンロードした実行ファイルを実行します.
インストールウィザードに従ってインストールしてください.

XAMPPの起動

XAMPPを起動します.以下は起動後の図です.
Java6.PNG
ApacheとMySQLの欄にあるStartをクリックします.
これで完了です.終了させるときはStopをクリックします.

IntelliJ IDEAの導入

プログラムはメモ帳を使っても書けますが,複数のプログラムファイルの管理や,コンパイルなどを補助してくれるIDE(Integrated Development Environment 統合開発環境)を使うことでより効率的に開発できます.

IntelliJ IDEAのダウンロード

1.JetbrainsのサイトよりIntelliJ IDEAのページへアクセスします.

2.DOWNLOADを選択し、COMMUNITY版のDOWNLOADを選択してください.

IntelliJ IDEAのインストール

ダウンロードした実行ファイルを実行します.
インストールウィザードに従ってインストールしてください.

下の図のように,何も選択しなくて大丈夫です.
Java7.PNG

IntelliJ IDEAの起動

1.IntelliJ IDEAを起動してください.
2.下を選択します.
Java8.PNG
3.ライセンスに同意します.
Java9.PNG
4.UIテーマを決めます.
Java10.PNG
5.以下の画面が出るまでNextを押して終了です.
Java11.PNG

GitHub Desktopの導入

バージョン管理してくれるサイトGitHub(ギット・ハブ)からソースコードをダウンロードしたりアップロードするためのアプリケーションです.

GitHub Desktopのダウンロード

ここからダウンロードしてください.

GitHub Desktopのインストール

ダウンロードした実行ファイルを実行します.
インストールウィザードに従ってインストールしてください.

GitHub Desktopの起動

以下のように表示されていれば起動成功です.
Java12.PNG

開発チュートリアル①~プラグインを動かす~

開発環境が整ったら実際にプラグインをデバッグサーバで動かしてみます.

GitHubの基本操作 Clone

まず,GitHubの整地鯖開発グループ内リポジトリから開発されているプラグインを自分の環境にコピーします.
1.ここから開発グループトップページにアクセスし、Giganticを選択します.
Java13.PNG
2.clone or downloadを選択します.
Java14.PNG
3.GitHubにログインしていることを確認し,Open in Desktopを選択します.
Java15.PNG
4.cloneを選択します.
Java16.PNG
5.この画面が表示されたら,clone成功です.
Java17.PNG

外部Jarのダウンロード

本プラグインは他のプラグインに依存して動作しています.そのため,依存するプラグインを全てダウンロードします.

1.ここのRequirementに記載されているプラグイン全てをダウンロードします.
この時,ダウンロードしたjarファイルは好きな場所にGiganticLibraryというディレクトリを作り,そこに保存します.

2.GiganticLibrary内全てのファイルをデバッグサーバディレクトリのpluginsディレクトリ内にコピーします.

3.デバッグサーバディレクトリ内のspigot-1.12.2.jarGiganticLibraryにコピーします.

4.既にデバッグサーバを起動している場合は一度stopさせ,start.batから起動し直す.

5.正常に起動できたら終了です.

IntelliJ IDEAの基本操作 Import

統合開発環境を使ってコピーしたリポジトリをBuildしたり,開発したりできます. まずはプロジェクトをインポートしますので手順を説明します.

0.環境変数を追加します.
Buildに必要な環境変数を追加します.
コルタナさんに,「環境変数」と入力してエンターを押すと,編集画面になります.
以下の3点を追加し,正しいディレクトリを割り当ててください.
  ・JAVA_HOME:インストールしたjdkのディレクトリ
  ・GIGANTIC_LIB:外部Jarをまとめたディレクトリ
  ・GIGANTIC_OUT:コンパイルしたjarを出力するディレクトリ(デバッグサーバのpluginsフォルダ推奨)
C4556aac7dea0ff0-s.PNG
1.IntelliJ IDEAを起動します.

2.Import Projectを選択します.
Java19.PNG
3.import project from external model→Gradle→Nextの順で選択します.
Java20.PNG
4.以下3つの項目にチェックを付けてFinishを選択します.
  ・Use auto-import   ・Create separate module per source set   ・Use default gradle wrapper (recommended) Java21.PNG
5.右上のSearchアイコンの1つ左のアイコンを選択します.
Ctrl-Alt-Shift-Sでも代用できます.
Java22.PNG
6.プロジェクトに使用するSDKを設定するために、Newを選択します.
Java23.PNG
7.+JDKという項目を選択します.
Java24.PNG
8.インストールしたJDKディレクトリを選択します.
Java25.PNG
9.Import Gradle Projectsとポップアップしますので,OKを選択します.
Java26.PNG
10.これでImportは完了です.

IntelliJ IDEAの基本操作 Build

インポートしたプロジェクトはビルドツールを使ってビルドすることで,jarファイルになります. ビルドの手順を説明します.


1.右上の▽を選択し,Edit Configurations...を選択します.
Java27.PNG
2.左上の+を押し,Gradleを選択します.
Java28.PNG
3.NameにGiganticBuild,GradleProject:の右端フォルダアイコンを選択して,giganticを選択します.
Tasks:にbuild copyJarと入力して,右下のOKを選択します.
Java29.PNG
4.右上にある緑色の右三角を選択します.
Java30.PNG
5.図のようにBuild Succeededと表示されればビルド成功です.
GIGANTIC_OUT変数に割り当てた出力先ディレクトリにGigantic-*-*-*.jarが出力されているか確認して下さい.
Java28.PNG

プラグインを動かす

プラグインを実際にデバッグサーバで動かすことで自前の環境で最低限のデバッグを行います.


1.XAMPPを起動します.

2.デバッグサーバを起動します.

3.マイクラを起動し,ダイレクト接続からlocalhostと入力してデバッグサーバにログインします.
4.ログを確認し,正常に起動,ログインできているか確認します.

開発チュートリアル②~開発する~

デバッグ環境が整ったら実際に開発してみます.

GitHubの基本操作 Branch

GitHubの画面を見ると,Current Branchdevelopと表示されています.
本プロジェクトでは,developからBranchを伸ばして開発を行い,その後完成品をdevelopにpull requestします.

1.IntteliJ IDEAを起動してメニュー->VCS->Git->Branches...を選択します.
Java29.PNG
2.developの左にcurrentと表示されていることを確認し,New Branchをクリックします.
Java30.PNG
3.名前をfeature-******(*は任意)としてOKをクリックします.
Java34.PNG
4.右下にGit:feature-******(図はpresentbox)と表示されていればBranchは終了です.

GitHubの基本操作 Commit

自分の書いたソースを保存したい時はCommitします.
1.右上の赤丸で囲ったアイコンをクリックします.
Java35.PNG
2.Before Commitのチェックマークを図のようにチェックし,Commit Messageには自分にわかりやすいように詳細を記入します.
終わったら,右下のCommitをクリックします.
Java36.PNG
3.Commitできたら終了です.

GitHubの基本操作 PullRequest

自前の環境でデバッグが完了したらPull Requestを行い,運営の承認を待ちます.