これからMODを始めたいと思っている方は以下のサイトから学びましょう
非常に分かりやすく書かれているので初心者でもすぐに追いつくことができると思いますよ
MineccaftPE mod作成 初心者の館
作成ー1ーHook関数と関数の使い方
※clientMessage();は、()の中のメッセージを表示する関数です。そのまま表示するには、("ここ")のように、"で囲む必要があります。
このmodを入れると、何かをタップした時に「プレイヤーはブロックをタップしました」と表示されます。
ですが、これでは簡単なmodしか作れません。
次は引数と変数についてです。
作成ー2ー引数と変数について
中の文字は変えてもいいですが、順番は変わらないので、注意してください。中の文字を使って、その情報を入手できます。
では、先程のmodを引数を使って便利にしてみましょう。
例
function useItem(x, y, z, itemID, blockID, side, itemDamage, blockDamage){
}
※clientMessageで、変数や引数をメッセージと混ぜる場合、変数や引数の前や後に+を付けます。
このmodを入れると、何かをタップした時に、そのブロックの座標、ブロックIDを表示されます。ですが、どんな時も作動するため、結構鬱陶しいです。なので次はif&else文の解説をしていきます。
作成ー3ーif&else文の使い方
function useItem(x, y, z, itemID, blockID, side, itemDamage, blockDamage){
}
}
}
このmodを入れると持っているアイテムが棒の時に何かをタップしたら座標とブロックIDが表示されます。
ここまで覚えれば簡単なmodは結構作れるようになっていると思います。次からは覚えておくと便利な物について解説します。
作成ー4ー自作関数とは
処理(if文等を組み込むこともできる)
}
関数の名前(指定する数字);
}
例ー私が書いた簡単な回復量を指定して体力を回復できる自作関数です
}
}}
}
このような使い方で使えます。
自作関数は同じような処理を何度も繰り返し行う時に使うと何度も同じ文字を書かないでいいので楽だと思います。また、レンダラという物を作る時も必要になるので覚えておくと良いと思います。
作成ー5ーforとは
function useItem(x,y,z){
for(var a=0;a<=10;a++){
setTile(x,y+a,z,1,0);
}}
このコードを読み解いていきましょう。
まずはfunction useItem(x,y,z)ですね。
これは前にあった通り何かをタップした時に作動するHook関数でしたね。
そして(x,y,z)とあるのでその座標を取得してそれぞれx,y,zに代入しました。
そして次にfor(var a=0;a<=10;a++)ですが、最初に、このコードではまず変数aを宣言してさらにaに0を代入しています。
次に、見るのは一番最後のa++で、変数aに1を足し続けていることが分かります。
最後に見るのはa<=10で、このコードは、aは10以上にならないことを書いています。
つまりこのコードは、[0,1,2,3,4,5,6,7,8,9,10]を取得しているということです。
そしてその0〜10の数字をすべて、変数のaに代入しています。
その次ですが、調べると分かると思いますが、ブロックを設置する関数です。
xはタップした時に取得した座標。
yは、タップした時に取得した座標にaを足した座標。
zはタップした時に取得した座標。
1は石のID 0はダメージ値
なので、このコードはタップした座標に高さ10ブロックの石の壁を作り出すコードということがわかります。
forはこのようにコードの短縮などを行うことができるため、慣れるととても便利です。
- では、簡単なmodから作ってみましょう。
- 作り方(簡略しています)
Hook関数(){ 関数; } という感じです。
- 例
function useItem(x, y, z, itemID, blockID, side, itemDamage, blockDamage){
- メッセージを表示する
clientMessage("プレイヤーはブロックをタップしました"); }※function useItem(x, y, z, itemID, blockID, side, itemDamage, blockDamage){は、何かをタップした時に作動するフック関数です。
※clientMessage();は、()の中のメッセージを表示する関数です。そのまま表示するには、("ここ")のように、"で囲む必要があります。
このmodを入れると、何かをタップした時に「プレイヤーはブロックをタップしました」と表示されます。
ですが、これでは簡単なmodしか作れません。
次は引数と変数についてです。
- 引数
- 引数とは、フック関数で取得される情報です。前の、function useItem(x, y, z, itemID, blockID, side, itemDamage, blockDamage){の、()の中の物が引数です。
中の文字は変えてもいいですが、順番は変わらないので、注意してください。中の文字を使って、その情報を入手できます。
- 変数
- 変数とは、数字、処理、その他色々を代入した物のことをいいます。
では、先程のmodを引数を使って便利にしてみましょう。
例
function useItem(x, y, z, itemID, blockID, side, itemDamage, blockDamage){
- メッセージを表示する
}
※clientMessageで、変数や引数をメッセージと混ぜる場合、変数や引数の前や後に+を付けます。
このmodを入れると、何かをタップした時に、そのブロックの座標、ブロックIDを表示されます。ですが、どんな時も作動するため、結構鬱陶しいです。なので次はif&else文の解説をしていきます。
- if
- ifは、[もしも〜なら]を意味する英単語であり、if(条件){処理}のように使う。
- else
- elseは、[違う]を意味する英単語であり、if文で適応しなかった場合などに使われる。if(条件){処理}else{適応しなかった場合の処理}のように使う。
function useItem(x, y, z, itemID, blockID, side, itemDamage, blockDamage){
- アイテムのIDが280(棒)ならば
- メッセージを表示する
}
- 違う場合
- メッセージを表示
}
}
このmodを入れると持っているアイテムが棒の時に何かをタップしたら座標とブロックIDが表示されます。
ここまで覚えれば簡単なmodは結構作れるようになっていると思います。次からは覚えておくと便利な物について解説します。
- 自作関数
- 自作関数とは、元々プログラムに組み込まれている関数とは違い、自分で作る関数です。
- まずは関数の定義をします
処理(if文等を組み込むこともできる)
}
- Hook関数に組み込む
関数の名前(指定する数字);
}
例ー私が書いた簡単な回復量を指定して体力を回復できる自作関数です
- 関数の定義
- heelという自作関数を作る。
- powerという指定できる変数を作る。
- heartという変数にプレイヤーの体力を代入する
- もしもheartという変数とpowerという変数の合計が20より下なら
- プレイヤーの体力をプレイヤーの体力とpowerを合計した値に変更
}
- そうでない場合(ここではheartとpowerの合計が20以上の場合)
- プレイヤーの体力を20にする
}}
- Hook関数に組み込む
- アイテムを使ったら
- アイテムIDが280(棒)なら
- 自作関数で体力を5回復
}
このような使い方で使えます。
自作関数は同じような処理を何度も繰り返し行う時に使うと何度も同じ文字を書かないでいいので楽だと思います。また、レンダラという物を作る時も必要になるので覚えておくと良いと思います。
- for
- forは、繰り返し処理をしたり、範囲を指定することができる物です。
forの使い方を簡単に書くと、こうなります。
- for(最初の数;条件;処理){
function useItem(x,y,z){
for(var a=0;a<=10;a++){
setTile(x,y+a,z,1,0);
}}
このコードを読み解いていきましょう。
まずはfunction useItem(x,y,z)ですね。
これは前にあった通り何かをタップした時に作動するHook関数でしたね。
そして(x,y,z)とあるのでその座標を取得してそれぞれx,y,zに代入しました。
そして次にfor(var a=0;a<=10;a++)ですが、最初に、このコードではまず変数aを宣言してさらにaに0を代入しています。
次に、見るのは一番最後のa++で、変数aに1を足し続けていることが分かります。
最後に見るのはa<=10で、このコードは、aは10以上にならないことを書いています。
つまりこのコードは、[0,1,2,3,4,5,6,7,8,9,10]を取得しているということです。
そしてその0〜10の数字をすべて、変数のaに代入しています。
その次ですが、調べると分かると思いますが、ブロックを設置する関数です。
xはタップした時に取得した座標。
yは、タップした時に取得した座標にaを足した座標。
zはタップした時に取得した座標。
1は石のID 0はダメージ値
なので、このコードはタップした座標に高さ10ブロックの石の壁を作り出すコードということがわかります。
forはこのようにコードの短縮などを行うことができるため、慣れるととても便利です。
コメントをかく