2017年12月21日木曜日

【OpenComputers】1.7.1リリースノート

<注意>
この記事は、公式のリリースノートの一部を勝手に翻訳したものです。
情報はあくまで自己責任で利用してください。
間違い等あれば指摘お願いします。未翻訳部分の協力大歓迎です。コメントください。

原文:https://github.com/MightyPirates/OpenComputers/releases/tag/v1.7.1


新機能、サポート、バグ修正

  • 変更:diamond chipのレシピ - cutting wireが必要になった
  • 追加:extracellsとmekanismへ対応(1.10.2)
  • 追加:ComputerCraftへと再対応(1.12.2)
  • 修正:タブレット内のdiskdriveやその他のコンテナへのアクセス(1.11.2)
  • 修正:putting items into database upgrades (1.11.2)
  • 修正:旧I2Cmodとの互換性
  • 追加:tabletのcomponentを使ってプレイヤーの向きの取得が可能に(ChristCoder)
  • 修正:MicrocontrollerとEnderIOのアイテムコンジットとの相性
  • 追加:modemのdevice infoに最大パケットの情報が表示されるように
  • 修正:chunkloaderアップグレードとdroneの相性を改善
  • 修正:tabletが適切に自身の画面を適切にシャットダウンできるように
  • 修正:motion sensorの視野
  • その他:翻訳をアップデート
    • ロシア語(S0ZDATEL, Fingercomp, makkarpov)
    • 繁体字(mymagadsl)
    • ドイツ語(Nex4rius)

OpenOSに関するバグ修正、アップデート

  • 修正:きわめて遅いサーバーでopenosを起動する際に発生する問題
  • 追加:custom error objectをstderrに表示できるように
  • 追加:マウントポイントで既存のディレクトリを扱えるように(?)
  • 追加:あるディレクトリを別のディレクトリとしてマウントできるように
  • 修正:.shrcがtty stdinを扱えるように
  • 追加:Lua REPLの入力は暗黙の改行によりパースされるように
    • Adding a = in front of the code to explicitly add it still works.
  • 変更:shellの履歴においてまったく同じ項目は追加されなくなった(同じコマンドを複数回実行しても一回しか履歴に残らないようになった?)
  • 修正:IRCクライアントにおけるCTCPメッセージ(Michiyo, skyem123)
  • 修正:keyboard APIにおけるキーの逆引き
  • 修正:event.cancelとevent.ignore
  • 修正:連続したOOMの失敗からlua shellを保護
  • 修正:/bin/treeの実行時にエラーが発生せずに長時間経過するバグ(LeshaInc)
  • その他:vt100ライブラリの改善
  • その他:メモリー使用量削減のためのたくさんの小さな改善

貢献者一覧

payonel, Vexatos, S0ZDATEL, Fingercomp, makkarpov, mymagadsl, Nex4rius, ChristoCoder, DrummerMC, LeshaInc, SquidDev, Michiyo, josephcsible, skyem123, TheCodex6824, AmandaCameron, Pwootage

2017年11月14日火曜日

【LuaVP】進捗報告

ページはこちら:https://moker-spaghetti.github.io/Visual-Programming-for-CC/
(もし変更が確認できない場合はキャッシュを削除してみてください)

さて、turtleについての関数は大体追加し終わりました。
あとは

  • デザインの改善(保存ボタンとか)
  • レッドストーン関係の関数の追加
  • マルチ言語対応
くらいですかね。

定期的に更新してるのでgithubの方も確認していただければ幸いです。

2017年11月1日水曜日

2017年10月31日火曜日

【OpenComputers】Robotを作ってみよう

検証環境
 MC1.10.2/OC1.7.0.124

レシピは公式wiki、またはJust Enough Itemsなどのレシピmodをご確認ください。
今回はエネルギーを無効にした状態で検証しているため、エネルギー関係はすべて未検証です。間違いがあれば教えてください。


Robotの特徴

充電中のロボット
工業化Mod導入環境では、充電が必要になります。
充電するには、レッドストーン入力を与えられたChargerの近くに設置してください。(レッドストーン信号の強度により充電速度が変わります)

また、ワールドに設置してある外部コンポーネント(ブロック型のコンポーネント)にはアクセスできないという点に注意が必要です。(もし外部コンポーネントの機能を使いたいならば、組み立て時に内部に組み込む必要があります。)

Robotの組み立て

Robotを組み立てるには、Assemblerを使います。
(Assemblerはほかにも、DroneやMicrocontrollerなどの組み立てに用います。)

まずは、Assemblerの左上のスロットにComputer Caseをセットしましょう。
今回はTier1のComputer Caseを使います。

さてComputer Caseをセットすると、パーツをセットするためのスペースが表示されます。ここにパーツをセットして左下の三角ボタンをクリックすることでRobotを作成することができます。(工業mod導入環境ではAssemblerに対してエネルギーの入力が必要です。)
AssemblerのGUI

各CaseにはComplexityと呼ばれる値が設定されており、パーツのComplexityの合計はその上限以下でなければなりません。(上限を超えるとComplexityが赤く表示されます。)



さて、右側はコンピューターと同じなので詳細は割愛しますが、次のような点を述べておきます。

  • HDDは原則として一度組み立てたら取り外しできません。先にOpenOSをHDDに書き込んでおくことをおすすめします。
  • EEPROMは、Robotとクラフトすることで、組み立て後でも交換が可能です。
  • また、EEPROMは空のものと書き込み済みのものを一緒にクラフトすることで、複製することが可能です。おそらく、LuaBIOSのEEPROMは持っているでしょうから、それを複製して、Robotの組み立てに使用するといいでしょう。
  • Screenを使用するには、graphics cardが必要です。


左上のスペースは、組み立て後にアイテム欄を占有しないパーツ、左下は占有するパーツ(diskdriveやアップグレード・カードのコンテナーなど)に用います。
次の点に注意が必要です。

  • keyboardがないと、入力ができません。
  • screenがないと、画面が表示されません。
  • Inventory Upgradeがないと、インベントリがなくなります。また、4つまで重複して効果を発揮します。(1つで16スロット、4つでは64スロットのインベントリ)

さて、基礎的なRobotにおすすめのパーツは次のような感じです。

  • CPU Tier1
  • Memory Tier1(もしくは1.5) x2
  • EEPROM(Lua BIOS)
  • OpenOSをinstall済みのhard disk drive Tier1
  • Graphics Card Tier1
  • Screen
  • Keyboard
  • Inventory Upgrade

ちなみに、作ったロボットはdisassemblerで分解することができます。
(disassemblerではパーツも分解することができます)
ただし、5%の確率でパーツが消失します。(平均的には95%の素材しか返ってきません)

【OpenComputers】Not Enough Energy問題

うちの環境もとうとうOC1.7にアップデートしたんですが、その途端に、工業化mod非導入環境にもかかわらず、ロボットやコンピューターがエネルギーを要求し始めました。

うちの環境は次の通りです。

  • Minecraft 1.10.2
  • Forge 12.18.3.2185
  • OpenComputers 1.7.0.124
  • Just Enough Items 3.14.7.420

うちの環境だけがバグってる可能性もあるので、何とも言えないところがあるので、情報募集中です。

で、原因なんですが、たぶんForge energyへの対応なんではないかと思います。
実際、この機能のプルリク上でその問題が提示されてます。(https://github.com/MightyPirates/OpenComputers/pull/2369)
ただ、もし実際そうだとすれば、ほかに一切公式からの情報がないのは変なような気もするんですよね…
だとすれば、やっぱりうちの環境だけの問題なんでしょうか…?

で、解決法なんですが、OpenComputersの設定ファイル(settings.conf)のignorePowerの項をfalseからtrueに変更すれば治りました。(当然ですが)

もし同じ状況で悩んでる方いれば参考にしてください。
(工業化modを導入せずにOpenComputersを使っている奇特な人間がどれだけいるかは謎ですが)


やり方詳細解説

まずは、configファイルのバックアップをとりましょう。
configファイルは.minecraft/config/OpenComputers.cfgです。(.minecraftフォルダ内の、configというフォルダの中のOpenComputers.cfgというファイルです。)
どこか適当な場所へ(ex:デスクトップ)コピーしておいてください。
それでは、編集に移ります。
メモ帳を立ち上げてください。
立ち上がったら、メモ帳の画面に、先ほどのconfigファイルをドラッグ&ドロップしてください。
configファイルが表示されると思います。
CtrlとFキーを同時に押してください。
すると、検索画面が出てくるので、「ignorePower」と入力して、「次を検索」をクリックしてください。
そうすると「ignorePower=false」と書かれた部分があると思います。
これを「ignorePower=true」に書き換えてください。
書き換えが完了したら、CtrlとSキーを同時に押して上書き保存してください。

これで、完了です。
minecraftを起動して、設定が無事変わってるか確認してください。
お疲れさまでした。


--2018/04/23 一部追記--

2017年10月30日月曜日

【OpenComputers】1.7リリースノート

<注意>
この記事は、公式のリリースノートの一部を勝手に翻訳したものです。
情報はあくまで自己責任で利用してください。
間違い等あれば指摘お願いします。未翻訳部分の協力大歓迎です。コメントください。
基本的にはバグフィックスなどは訳しません。

原文はこちら

Version 1.7.0 - Herman Toothrot

新機能・サポート

  • MC1.11および1.12に対応
  • OpenoS threadライブラリを追加
  • Forgeのエネルギーに対応
  • ComputerCraftに再対応
  • Project:Redに再対応
  • WR-CBEに再対応(gamax92に感謝)
  • IC2に再対応
  • Waila/Hwylaに再対応
  • Motion Sensor はアップグレードパーツになった
  • 液体タンクプロパティ用の変換機を追加
  • zh_CN と ru_RU 言語に対応
  • AE2に再対応(Leonに感謝)

OpenOSの修正・改良

  • 大幅のコードの整理
  • 使用メモリー量の削減(shell promptの起動には現在では140kbほどが必要です)
  • 劇的な起動時間の短縮
  • /bin/ls fix for -p option to show / on dirs
  • /lib/eventを修正し、タイマーに対してsignalを発火できるように
  • /lib/keyboardの使用メモリー量を削減し、ターミナルにおけるnumpadへの対応を修正
  • 相対パスを利用できるようにloadfileを修正
  • core ttyのコードを/lib/termから分離し、vt100に対応
  • ENV and _G fixes for load, lua shell, and shell environment
  • edge case in quoted whitespace in shell commands respected
  • mv and cp error message conformance and cleanup
  • install tool fixes
  • fix exit code issues with ls and piping
  • pastebinをアップデートしてhttpsに対応
  • シリアル化のパフォーマンスを劇的に改善
  • lsのカラーは、LS_COLORSにおいてvt100のカラーコードを使用して指定する
  • あらたなファイル一覧表示プログラム:/bin/tree(Leshalncに感謝)

その他の修正・改善

  • 鉄ナゲットを削除(現在ではバニラに追加されているため)
  • scalaの整理、APIのリファクタリング
  • より良いインベントリ管理のために、Transposerとinventory controllerにgetAllStacksとgetInventoryNameを追加(thiakilに感謝)
  • Robotの名前を追加(Nexariusに感謝)
  • ドラッグなしでもマウスのクリックを離すだけでdropイベントが発生するように
  • 複数のタンクを内包するブロックとのtank controllerの相性を改善
  • 修正:filesystem.copy()(#2432)(SDPhantomに感謝)
  • Fixed: Make wtrunc count missing glyphs as 1 (thanks gamax92)
  • Fixed: Infinite loop in manual.
  • ロボットがすべてのアイテムを適切に扱えてはいなかった問題を修正
  • Fixed: case where computers could run minecraft host machine cpu too high
  • getAllStacks().getALL()で返されるテーブルが0スタートになってた問題を修正
  • 道具スロットの動作を改善
  • Fixed: bounding box issues that affect things like waypoints

2017年10月25日水曜日

進捗報告

前回書いたBlocklyですがとりあえず簡単なものが完成したので、Githubの方に挙げてみました。(https://moker-spaghetti.github.io/Visual-Programming-for-CC/)

まだプロトタイプなので、バグが潜んでいる可能性が高いです。
使うときは注意してください。

CCのブロックはまだ、2種類しか追加してません。

基本的な機能はどのブラウザでも動くと思いますが、読み込み、保存、コピー機能はChrome以外のブラウザだと動かないかもしれません。まだちゃんとした動作確認をしてないので許してください。

さて、今後の改善ポイントですが
  • CCのブロック数を増やす
  • デザインを改善する
  • 日本語化
くらいを考えています。

OCについては、どうやって実装するか悩み中です。少し時間をください。

もしバグないし動作確認報告などあれば、ここのコメント欄とかむこうのIssueにでも書き込んでいただければ幸いです。