右クリック→保存して辞書登録してどうぞ
使い方
ランク5の鉤鎌刀の上昇が見たい場合
@こうれんとう5
@やまだ5
@こうれんとう
@やまだ
で変換
なんのためにするかっていうと、まあ、ソース調査したいときありますよね。
主にMOD作ったりPlugin作ったりするときに。
そのためにMinecraftのjarからクラスファイルを引っ張り出してデコンパイルしてソースに戻します。
俗に言うリバースエンジニアリングってやつ。
ということで、そのやり方。
Minecraft Coder Packを使う。
普通のJava DecompilerのJD-Eclipseとかだとなんかうまくいかんのよね。
なんかパック的なことでもやってるんかもね。
まず、JDKを入れる。
JREじゃなくてJDKね。
必要ならPATHを通す。
C:Program FilesJavajdk1.6.0_24bin;C:Program FilesJavajre6bin
このあたりを。
でも、なんかWindows7 x64だとPATHの設定しなくてもjavaとかはじけるので設定しないでよかった。
で、MCPをDLしたら、適当なフォルダに解凍して設置。
んで、肝心の対象をMCPのjarsフォルダに入れる。
サーバのjarは公式から落とす。
minecraft_server.jarってやつね。
クライアント側のは
%APPDATA%.minecraft
にある
bin
resources
フォルダをコピペする。
以上で準備は完了。
あとはMCPのdecompile.batをたたけば、src以下にserverおよびclientのソースファイルが展開される。
ちなみに、展開されたソースをEclipseで扱いたい場合の簡単な方法は、EclipseのワークスペースにMCPのEclipseフォルダを指定すればいい。
するとServerとClientのJavaプロジェクトができあがってる。
普通に新規プロジェクトウィザードで外部ソース指定でももちろんいい。
例のごとくWindowsではなくてLinuxの話です。
まあ管理ツールの使い方なんかはWindowsでも参考になるかもしれない。
導入環境は以下の感じ
OS: Debian GNU/Linux sid
kernel: 3.2.0-1-amd64
CPU: Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz
memory: 4GB
jre: sun-java6-jre 6.26-3
なお、このマシンはxenで仮想化した64bitゲストOSだけど普通にいけた。
ということで、まずインストール先ディレクトリを決める。
今回は /usr/local/minecraft をインストール先ディレクトリにした。
ということでサーバ本体をダウンロードしてそこに配置。
この辺においてある。
exeじゃなくてjarを拾ってこよね。
で、これでjre入ってればサーバ起動できるんだけど、色々とそれだと制御に難があるので、シェルスクリプトを導入する。
screenコマンドを使っているので、もし入ってなかったら入れること。
元はhttp://www.minecraftwiki.net/wiki/Server_startup_scriptのものなんだけど、ちょっと問題点を修正してあるのが以下。
-Djava.net.preferIPv4Stack=trueを入れていないとIPv6でバインドされて接続できなかった。
#!/bin/bash
# /etc/init.d/minecraft
# version 0.3.6 2011-10-17 (YYYY-MM-DD)
### BEGIN INIT INFO
# Provides: minecraft
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Minecraft server
# Description: Starts the minecraft server
### END INIT INFO
#Settings
SERVICE='minecraft_server.jar'
OPTIONS='nogui'
USERNAME='minecraft'
WORLD='world'
MCPATH='/usr/local/minecraft'
BACKUPPATH='/usr/local/minecraft/backup'
CPU_COUNT=1
INVOCATION="java -Xmx1024M -Xms1024M -Djava.net.preferIPv4Stack=true -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=$CPU_COUNT -XX:+AggressiveOpts -jar $SERVICE $OPTIONS"
ME=`whoami`
as_user() {
if [ $ME == $USERNAME ] ; then
bash -c "$1"
else
su - $USERNAME -c "$1"
fi
}
mc_start() {
if pgrep -u $USERNAME -f $SERVICE > /dev/null
then
echo "$SERVICE is already running!"
else
echo "Starting $SERVICE..."
cd $MCPATH
as_user "cd $MCPATH && screen -dmS minecraft $INVOCATION"
sleep 7
if pgrep -u $USERNAME -f $SERVICE > /dev/null
then
echo "$SERVICE is now running."
else
echo "Error! Could not start $SERVICE!"
fi
fi
}
mc_saveoff() {
if pgrep -u $USERNAME -f $SERVICE > /dev/null
then
echo "$SERVICE is running... suspending saves"
as_user "screen -p 0 -S minecraft -X eval 'stuff "say SERVER BACKUP STARTING. Server going readonly..."