プログラミングをMinecraftで学ぶなら、CC: Tweakedがおすすめ! - レッドストーンを制御しよう編

前回はインストールまでで終わった、マインクラフトのMod、CC: Tweakedの続きです。今回はCC: Tweakedを入れたことでマイクラの中に置けるようになったコンピュータを使い、自由にレッドストーン信号を出してみましょう。

まず、サクッとレッドストーンについて説明しますと、電気のような仕組みがマイクラの中で扱える仕組みのことです。電気の例えで言えば乾電池のように電気を出す側ようなレッドストーン信号を出すものや、逆に電気が来たらライトが光ったりするように、レッドストーン信号が来たらそれに応じてまさにライトがついたりあるいはドアが開いたりとマイクラの中でこれらを組み合わせて自由に遊ぶことができるようになっており、これはModを入れなくても利用できる機能です。

簡単な例ですと、以下のようにレバーとレッドストーンランプとつけた状態で、

レバーとくっついているレッドストーンランプ

レバーを引くと、レバーから来るレッドストーンの動力によってレッドストーンランプが光るといったことが確認できます。

レバーからのレッドストーンの動力でレッドストーンランプが光る様子

こういった仕組みだけでもマイクラは色々と楽しめますので、そういった情報はYoutbubeや書籍などで調べてみてください。

今回はそのレッドストーン信号をCC: TweakedのModを入れたことによってどのように制御できるかという説明です。

まず設置するのは、"高度なコンピュータ”という名前の装置で、前回最後に説明しました"E"のキーを押した二ページ目にComputerCraftaというセクションがありその中の上の段、左から二つ目にあります。

これを適当なところに置き、先ほど説明で使ったレッドストーンランプを左右に置いてみてください。
こんな形です。

この状態でコンピュータを壊さないように右クリックすると、コンピュータの中に入っているような画面に切り替わります。(エンジニアの方向け用に説明するとコンピュータのターミナルに入った形です。)

この状態でキーボードから文字を入力するとそのままこの黒い画面に文字が出ますが、ESCキーを押すといつでも元のマイクラに戻れますので安心してください。
そしてこの画面上で、以下のようにキーを入力してエンターを押します。

つまりは真っ黒い画面上で、

edit rs

と入力してエンターを押す形です。
そうするとさらに真っ黒な画面になりますが、この状態でもいつでもESCキーで戻れるので不安にならないでください。
そのまま、文字が入力できますので、以下の画像のように書いてみてください。

画面ではなくコードで書くと、

redstone.setOutput("right", true)

です。Oという文字だけ大文字です。
書けたら、Ctrlキーを押すと黒い画面の左下に以下のような文字が現れます。

左から保存のSave、実行のRun、この画面から抜けるのExitで、左右キーで移動できます。移動させてRunを選びエンターキーを押します。
その状態でESCキーを押すと、次のように右側のランプが光ればここまで成功です。

もう一度右クリックでコンピュータを触ると、実行中の黒い画面に戻りますので何かキーを押すと先ほどの入力画面に戻ります。

お察しの良い方はお気付きでしょうが、

redstone.setOutput("right", true)

と書いて実行するとコンピュータの右側にレッドストーン信号を流すことができるというわけです。
また、ちょっとややこしいのですが一度レッドストーン信号が出たら出しっぱなっしなので、何かキーを押してコードを入力できる画面に戻ってもレッドストーン信号が出しっぱなしなことは変わりません。
逆に信号を出さなくするためには、

redstone.setOutput("right", false)

と書いて、再度Ctrlキーを押しRunをクリックします。
当然rightがあればleftもあり、それぞれへの信号の出し訳が可能です。

実行結果はこちら。

このコードはいわゆるプログラムでLuaというプログラミング言語です。
せっかくなので、1秒ごとに左右交互に光らせるコードの書き方を最後に説明しまして、簡単ではございますが今回の記事の締めとさせていただければと思います。

while true do
  redstone.setOutput("right", true)
  redstone.setOutput("left", false)
  os.sleep(1)
  redstone.setOutput("right", false)
  redstone.setOutput("left", true)
  os.sleep(1)
end

一気に長くなりましたが要点だけ。

  • while true doとかいて最後の行のendまでがずっと繰り返される

  • os.sleep(1)と書くと1秒そこで待機してくれる

  • これによって1秒おきに左、右、交互に光るようになる

という形です。
また、このコードを実行して成功するとずっとプログラムが実行されっぱなしになるので停止して再度コードを書こうと思う場合、コンピュータの画面でCtrlキーを押しながらTキーを長押ししてください。それで停止することができます。

という形で駆け足でしたがCC: Tweakedの中のコンピュータからレッドストーン信号を出す方法でした。ぜひ冬休みの期間中親子で遊んでみてください。

いいなと思ったら応援しよう!