Minecraftとタートルと僕

PCゲームMinecraftのMOD「ComputerCraft」の情報を集めたニッチなブログです。

こちらのページは更新が滞っており、情報が古くなりつつあります。新しいCC情報サイトをはじめましたので、もしよければご参照ください。今後ともよろしくお願い申し上げます。

「百億のマインクラフトと千億のタートル」(https://hevo2.hatenablog.com/)

ComputerCraft1.6pr3が出てChangeLogに変化があったので訳を追加した

  • (2014/03/13、ComputerCraft1.6pr3 が出ました)
  • (2014/03/08、ComputerCraft1.6pr2 が出ました)
  • (2014/03/07、ComputerCraft1.6pr1 が出ました)

楽しみ。もうすぐ正式リリースかな。

ChangeLogの試訳

以下、ChangeLogの試訳。文中()内は僕の補足と感想。 赤字が、pr0からpr3への変更点*1

f:id:hevohevo:20140316215248j:plain

New Features in ComputerCraft 1.6:

  • Added Pocket Computers

    • ポケットコンピュータを追加しました。
  • Added a multi-tasking system for Advanced Computers and Turtles

    • Advanced Computer、Turtleのためにマルチタスクシステム機能を追加しました。
  • Turtles can now swap out their tools and peripherals at runtime

    • プログラム実行中に、タートルは装着したツールや周辺機器を取り替えることができます。
  • Turtles can now carry two tools or peripherals at once in any combination

    • タートルは一度に二つのツールや周辺機器を持つことができます。どんな組み合わせでも。
  • Turtles and Computers can now be labelled using Name Tags and Anvils

    • タートルやコンピュータは、ネームタグや金床(anvil)を使って名前をつけることができます。
  • Added a configurable fuel limit for Turtles

    • タートルのために設定可能な燃料制限を追加しました。
    • (一度に補給できる燃料値に制限が加わります。設定ファイルで変更可能)
    • (pr3時点で、デフォルトで、AdvancedTurtleは100000、Turtleは20000のようです)
  • Added hostnames, protocols and long distance routing to the rednet API

    • Rednet APIに、hostname、protocol、そして長距離のルーティング(複数台を介して長距離の通信ができるようになる)を追加した。
  • Added a peer-to-peer chat program to demonstrate new rednet capabilities

    • 新しいRednet(API)のデモンストレーションのために、P2P型チャットプログラムを追加した。
  • File system commands in the shell now accept wildcard arguments

    • シェル(shell)におけるファイルシステム系のコマンドで、ワイルドカード(*)を引数として受け付ける。
  • The shell now accepts long arguments in quotes

    • シェル(shell)は、クウォートで長い複数の引数を受け付けます。
    • (シェルでプログラムを実行する時に、> myprogram "this is a pen"のように途中にスペースが入っていても引用符でくくることで一つの引数としてまとめられるようになるのだと思われる)
  • Terminal redirection now no longer uses a stack-based system. Instead: term.current() gets the current terminal object and term.redirect() replaces it. term.restore() has been removed.

    • ターミナル表示のリダイレクトはもうstack-basedシステムを使いません。そうではなく、term.current()が現在のterminalオブジェクトを入手し、term.redirect()はそれに入れ替わります。また、term.restore()は削除しています。
    • (これまでは、ターミナル画面への表示内容を外部モニタにリダイレクトするために、term.redirect()でリダイレクト開始、term.restore()でリダイレクト終了としていましたが、これが変更になるということでしょう。)
  • Added a new Windowing API for addressing sub-areas of the terminal

    • ターミナルの一部の領域に表示するための、新しいWindowing APIを追加しました。
    • (ターミナルの特定箇所にボタンを表示するのに使えそうですね。僕のh2touchpanel APIもこれに対応できるよう改造しなくては)
  • New programs: fg, bg, multishell, chat, repeat, redstone

    • 新しいプログラムを追加: fg、bg、multishell、chat、repeat、redstone
  • Improved programs: copy, move, delete, rename, paint, shell

    • 改善したプログラム: copy、move、delete、rename、paint、shell
  • Removed programs: redset, redprobe, redpulse

    • 削除したプログラム: redset、redprobe、redpulse
  • New APIs: window, multishell

    • 新しいAPI: window、multishell
  • New turtle functions: turtle.equipLeft() and turtle.equipRight()

    • Turtle(API)の新しい関数: turtle.equipLeft()、turtle.equipRight()
    • (前述のツールや周辺機器を装着する関数ですね。)
  • New peripheral functions: peripheral.find()

    • Peripheral(API)の新しい関数: peripheral.find()
    • (これまでは装着方向を指示しないと周辺機器の関数テーブルを入手できませんでしたが、これで、機器名を指定するだけで入手できるようになります。とはいえ、僕のh2peripheral APIの方が高機能なんですけどね(宣伝)。)
  • New rednet functions: rednet.host( protocol, hostname ), rednet.unhost( protocol ), rednet.locate( protocol, [hostname] )

    • Rednet(API)の新しい関数: rednet.host( protocol, hostname )、rednet.unhost( protocol )、rednet.locate( protocol, [hostname] )
  • New fs function: fs.find( wildcard )

    • Fs(API)の新しい関数: fs.find( wildcard )
  • Improved rednet functions: rednet.send(), rednet.broadcast() and rednet.receive() now take optional protocol parameters

    • 改良したRednet(API)の関数: rednet.send(), rednet.broadcast() and rednet.receive()。これらは、オプションとしてprotocolパラメータを取る。
  • turtle.craft(0) and turtle.refuel(0) now return true if there is a valid recipe or fuel item, but do not craft of refuel anything

    • turtle.craft(0)とturtle.refuel(0)は、正しいレシピであったりあるいは燃料アイテムがあるならばtrueを返す。実際にクラフトしたり補給することなしに。
    • (これら関数を引数0で実行すると、実際にクラフトしたり燃料補給することなしに、確認できるようになるということでしょう)
  • turtle.suck( [limit] ) can now be used to limit the number of items picked up

    • turtle.suck( [limit] )は、拾い上げるアイテムの数を制限するのに使うことができる。
    • (これまではsuck()すると1スタック拾い上げていましたが、これからは拾い上げる個数を指定できるようになります。まさに神機能。)
  • textutils.serialise( text ) now produces human-readable output

    • textutils.serialise( text )は、人が読める文字列を出力します。
    • (たぶん誤植。textutils.serialize(table)だったはず。テーブルのようなデータ構造体を人が読みやすい形式にシリアライズするという話のはず。)
  • Refactored most of the codebase and fixed many old bugs and instabilities, turtles should never ever lose their content now

    • ほどんどのソースコードのリファクタリングと、バグや不安定な部分の修正をした。タートルは絶対にその中身を失うべきではない。
    • (タートル関係の致命的なバグの修正に関する話だと思われ。消失バグがあったのかな?)
  • Fixed the "turtle_inventory" event firing when it shouldn't have

    • "turtle_inventory" イベントが発生すべきでないところで発生するバグを修正した。
    • (やっぱりそうでしたか。このバグに悩まされていたのでよかったよかった。選択スロットを変更するturtle.select()でこのイベントが発生するっておかしいよね)
  • Added error messages to many more turtle functions after they return false

    • さらに多くのTurtle(API)関数に、失敗(false)を返したあとのエラーメッセージを追加した。
    • (Turtle系の関数実行に失敗したときに具体的なエラーメッセージを返してくれると、プログラミング時に例外処理がしやすくなりますね。こうなるとtry/catch/throwが欲しくなる。)
  • Documented all new programs and API changes in the "help" system

    • "help"システムに、全ての新しいプログラムとAPIの変更について説明書を付記した。
    • (すばらしい! 変更についてのドキュメントがないと大変ですからね)

*1:difffデュフフって便利