0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Minecraft JE DataPack]変数、Tagの名づけ方のすゝめ。

Posted at

初めに

プログラミングをしていて、必ずと言っていいほどに出てくる変数。
もちろん、あのMinecraftのコマンドを使う言語、mcfunctionにも出てきます。
その変数の名づけ方...適当につけてる人は居ませんか?今回はそういう方々に向けた、
変数の名づけ方を変えてみると、さらによくなる! かもしれない...
というものです。
ちなみに、これからこの記事では、変数 = スコア or ストレージとさせてもらいます。
スコアとストレージの名づけだけじゃなくTagの名づけも少し話します。

この記事のターゲット

データパック、コマンド中級者

変数って何? と思われた方へ

こちらの記事に書かれているので、見てみてください。

本題

とりあえず、どのような書き方をしているか、見てもらいましょう。

scoreboard objectives add reizo.Test dummy

え~...この、reizo.Testの、reizoの部分...僕の名前、reizou_00から取っております。
決してナルシストとかじゃないです。ハイ、いや...わざわざ自分の名前使ってるからそうかも知れませんが...

本題に戻りましょうか。
なぜこのようなことをするかと言うと...
例えば、

#> データパックA
scoreboard objectives add CoolTime dummy

こんなスコアを自分のデータパックで作ったとしましょう。
で、これは武器を使ったときに1tickずづ、0からスコアが1ずつ上がり、スコアが150になるまで武器が使えない。そして、150になったらスコアは上がらないし、0になる... とします。
まぁ、上のコメントに書いてある通り、とりあえず、この自分が作ったデータパックは、
データパックAという名前にしときます。
では、もう一つのほかのデータパックを見てみましょう。

#> データパックB
scoreboard objectives add CoolTime dummy

さて...こちらのデータパック、データパックBと名付けますか。
データパックAと同じ名前のスコアがありますね。
とりあえず、このデータパックでの、このスコアの役割を解説します。
これは、金リンゴを食べたときに、スコアを120にsetし、1tickにスコアを1ずづ減らし、スコアが0になるまで金リンゴを食べられない、そして、0になったら、もうスコアは下がらない... とします。

さて、お気づきの方もいるでしょうが...この二つのデータパックを一つのワールドに入れ、データパックAで作られた武器を使用し、まだスコアが150になってない間のうちに、金リンゴを食べるとします。
するとどうでしょうか?
さっきまでデータパックAの影響で増えていたスコアが急に120にsetされ増えも減りもしなくなります。
要するに...バグります。
こういう風に...スコアの名前がかぶると、絶対におかしくなります。
これを防ぐために、あまりかぶらなそうな自分の名前からとった、reizoを付けています。
データパックを作るときに、誰にもかぶらないようにする名前空間を作りますよね。
先述したようなバグが起こってしまうから、データパックの名前空間は、他の名前空間とかぶらないようにするんです。
これは要するにスコアの名前空間です。
なので、(名前空間).(役割) と書くことで他のスコア名とかぶらないようにしているんです。
ちなみにこれはEntityにつける、Tagにも言えることなので、
(名前空間).(役割)
のようなものにしましょう。
まぁ...たまたまかぶることもあるでしょうが、これをすれば、確実に、 スコア名、Tag名の名前がかぶる確率は減り、原因不明のバグが起きる確率も減るでしょう。

実は、dataコマンドを使うストレージには常に名前空間が存在しています。

data modify storage (名前空間):(役割) Num set value 1

このように、:(コロン) で区切っていますね。
ちなみに...スコア名とかTag名に :(コロン) を使うとエラーを吐きやがるので、代わりに、.(ピリオド) で区切っているわけですね。


終わりに

最後まで読んでいただき、ありがとうございます。
Qiitaで...というか、このような記事を書くこと自体初めてなので、おかしな点とか、分かりにくい点があったと思います。すいません...

この記事が、今、この時でも、 後からでも、 いつか。 あなたの役に立つ時が来ることを願っております。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?