Skip to content

sbutatoon の 落とし穴 【落下防止策】

📅 公開

🔄 更新

⏱️4 min read

タイトルは、友人作です。

前回の記事で引っかかった
「タイマーが突然の死を遂げる」 という 落とし穴の解決と、

公式動画



でも触れられていた、人参が配布されないバグが解決できたので、報告します。


1. タイマーが突然の死を遂げる


これは最大級にまずい問題でした。


(画像は前回のもの。本来は、灰色の文字が出続けるはずで、「スクリーンショット...」は表示されない)

ゲームが始まっても、終了しないというものでした。テストをするために、シングルプレイでチェックしてました。

なんでマルチじゃないのかって?だって ぼっちだk (ry

1.1 原因

原因は、タイマーのコマンドブロックのエラー文に書かれていました。



(「ワールドの範囲外にブロックを設置することはできません」英語だと、「Cannot place blocks outside of the world」)

これはどういうことかというのは、赤石愛さんのブロマガ

シングルの回路有効範囲について(バニラとOptifine)

に答えがありました。簡単に言うと、

「読み込み範囲が狭いから、回路の一部がいないことになってるよ:;(∩´﹏`∩);:」

です。詳しい範囲とかお話は、リンク先を参照してください。

1.2 解決方法

読み込み範囲が狭いなら、その範囲を広げればいいのです。

バニラでもOptifine導入時でも、ビデオ設定の「描画距離」14chunks以上にすれば動きます(当社比)


(最低でも14chunksは欲しい。あればあるだけ良いのだが、あとはパソコンスペックと相談)

スペック不足の場合は、Optifine等を入れることをおすすめします。

もし、範囲がわからない場合は、
マップの端(黄色の拠点あたり)から、次のコマンドを入力し、ブロックが設置されることを確認するといいでしょう。

/setblock 786 10 1309 stone 0 destroy

これで、次のエラーが出た場合は、もう少しchunksの数字を大きくする必要があります。


(赤字のエラー文が出た場合は要注意)

2.人参が配布されないバグ

なぜか勢いでバグを治すことに。いやぁ勢いって怖いです。

2.1 原因
色々とわからないことがあったので、
全部のコマンドブロックのログを取ることに(絶賛白目)


(○の時は、このコマンドブロックに実行ログが表示される。実行されればの話)

人参配布の部分は、この辺りのコマンドブロック郡になります。



(左から、サドル、羽、チキン、チェストプレートに対応したコマンドブロック群。)

で、このコマンドがよくわからなかったのです。



/give @a[scoreITEMCOUNTmin=1] minecraft:carrot 1

で、調べてみると、あいすりす様のこちらのブロマガ

Minecraft 1.5~実装! scoreboard システムの解説

に答えがありました。

要は、マイクラでプログラミングができるよ(^^)みたいなやつで、
プログラミングで言うところの変数に当たる部分が設定できるようです。

で、今回使われている変数は、「ITEMCOUNT」と呼ばれる変数です。
上記サイトには、変数一覧を出すコマンドがあるので、そのコマンドを呼び出すと…

/scoreboard players list <プレイヤー名>





なんと、変数「ITEMCOUNT」が無いじゃないですか!

と、言うわけで、原因がわかりました。
2.2 解決方法
変数がなければ、設定すればいい。(「ITEMCOUNT」自体は、自分で設定する変数)

と、言うわけで、次のコマンドを入力します。

/scoreboard players set @a ITEMCOUNT 1 

その後、もう一度変数一覧を呼び出すと…




今度こそ、ちゃんと出ました。

確認のために、「サドル」・「羽」・「チキン」・「チェストプレート」を手元に持った状態でゲームを開始すると、自動的に人参が配布されるはずです。




(各種アイテムが人参に変わっているはずです。)




ここまでで、ぼっちプレイでわかっていたバグの解決は出来ました。
あとはマルチプレイをした時にバグが出てきたらまた更新しようと思うので…

ぼっち辛い!

今回はここまで。ではまた

← 新しい記事へ前の記事へ →
  • Powered by Contentful
  • based gatsby-starter-gcn by @ryanwiemer