提供: Minecraft Modding Wiki
2015年12月26日 (土) 23:50時点におけるNMS (トーク | 投稿記録)による版 (ページ作成)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

ComputerCraft API >

この記事は"Minecraft Forge Universal 10.14.x.x~"及び"ComputerCraft 1.76~"を前提MODとしています。

ComputerCraft 1.76のAPIクラス構成

実装する」と書かれているものは追加したい機能に応じて実装する必要のあるインターフェース。
以下「Computer」は特に断りのない限りComputerとTurtleを指す。

Minecraft 1.7 から Minecraft 1.8 への変更点

  • ブロック座標を表すパラメータが int, int, int から BlockPos に変更
    • dan200.computercraft.api.ComputerCraftAPI#getBundledRedstoneOutput
    • dan200.computercraft.api.peripheral.IPeripheralProvider#getPeripheral
    • dan200.computercraft.api.permissions.ITurtlePermissionProvider#isBlockEditable
    • dan200.computercraft.api.permissions.ITurtlePermissionProvider#isBlockEnterable
    • dan200.computercraft.api.redstone.IBundledRedstoneProvider#getBundledRedstoneOutput
    • dan200.computercraft.api.turtle.ITurtleAccess#teleportTo
  • 方向を表すパラメータが int から EnumFacing に変更
    • dan200.computercraft.api.peripheral.IPeripheralProvider#getPeripheral
    • dan200.computercraft.api.redstone.IBundledRedstoneProvider#getBundledRedstoneOutput
    • dan200.computercraft.api.turtle.ITurtleAccess#getDirection
    • dan200.computercraft.api.turtle.ITurtleAccess#setDirection
    • dan200.computercraft.api.turtle.ITurtleUpgrade#useTool
  • TurtleUpgradeID が int から ResourceLocation に変更
    • ITurtleUpgrade#getUpgradeID の返値が int から ResourceLocation に変更
      • 返値のResourceLocationには他のupgradeと重複しない文字列を設定する
      • 例: "computercraft:wireless_modem" つまり "my_mod:my_upgrade"
    • ITurtleUpgrade#getLegacyUpgradeID 追加
      • CC1.76以前からのupgradeとの互換性のため。CC1.76以前のTurtleUpgradeIDを表すint値を返す
      • CC1.76以前との互換性が不要なら -1 を返す
  • テクスチャ・モデル指定方法の変更によるTurtleUpgradeモデル指定方法の変更
    • ITurtleUpgrade#getModel 追加
      • TurtleUpgradeのモデルを表す Pair<IBakedModel, Matrix4f> を返す
    • ITurtleUpgrade#getIcon 削除

dan200.computercraft.api

  • クラス
    ComputerCraftAPI
    ComputerCraft APIへの静的エントリーポイント。ComputerCraftへの各種登録、バージョン情報の取得等

dan200.computercraft.api.filesystem

  • インターフェース
    IMount
    Computerへマウント可能な架空のファイルシステム(読み込み専用)
    ComputerCraftAPI#createResourceMount で取得。IComputerAccess#mount でComputerへマウント
    IWritableMount
    Computerへマウント可能な架空のファイルシステム(読み書き可能)。IMount のサブインターフェース
    ComputerCraftAPI#createSaveDirMount で取得。IComputerAccess#mountWritable や IComputerAccess#mount でComputerへマウント

dan200.computercraft.api.lua

  • インターフェース
    ILuaContext
    Computerから周辺機器やILuaObjectへ渡され、タスクを実行したり、処理を中断してイベントを待ったりすることが可能なメソッドを提供する
    ILuaObject
    IPeripheral#callMethod等で返されるカスタムオブジェクトを実装する
    ILuaTask
    メインスレッドで実行させるタスクを実装する
    ILuaContext#executeMainThreadTask や ILuaContext#issueMainThreadTask で実行
  • 例外
    LuaException
    Lua内での例外。指定メソッド内でthrowすると処理を中断してComputerにエラーメッセージを表示できる

dan200.computercraft.api.media

  • インターフェース
    IMedia
    Disk DriveなどにセットしてComputerから利用可能なメディアを実装する
    #createDataMount で IMount を返せば記録メディアとなり、#getAudioRecordName でリソース名を返せば音楽メディアとなる
    Itemのサブクラスで実装した場合、ComputerCraftのデフォルトMediaProviderを利用できるためIMediaProvider(後述)の実装が不要になる
    IMediaProvider
    Disk DriveなどにセットされたアイテムのItemStackから対応した IMedia を提供するために実装する
    ComputerCraftAPI#registerMediaProvider でComputerCraftに登録する

dan200.computercraft.api.peripheral

  • インターフェース
    IComputerAccess
    Computerから周辺機器へ渡され、周辺機器から呼出し可能なメソッドを提供する
    IPeripheral
    周辺機器の動作を実装する
    実装クラスのインスタンスを返すように実装した IPeripheralProvider のインスタンスを ComputerCraftAPI#registerPeripheralProvider でComputerCraftに登録する
    IPeripheralProvider
    特定のブロックを周辺機器として扱うための IPeripheral を提供するために実装する
    ComputerCraftAPI#registerPeripheralProvider でComputerCraftに登録する

dan200.computercraft.api.permissions

  • インターフェース
    ITurtlePermissionProvider
    特定の座標に対するTurtleの移動およびブロックの採掘・設置を制限するために実装する
    ComputerCraftAPI#registerPermissionProvider でComputerCraftに登録する

dan200.computercraft.api.redstone

  • インターフェース
    IBundledRedstoneProvider
    16チャンネル(ON/OFFのみ)のレッドストーン出力を提供するために実装する
    ComputerCraftAPI#registerBundledRedstoneProvider でComputerCraftに登録する

dan200.computercraft.api.turtle

  • インターフェース
    ITurtleAccess
    TurtleからTurtle Upgradeへ渡され、Turtle Upgradeから呼出し可能なメソッドを提供する
    ITurtleCommand
    カスタム・タートル・コマンドを実行するために実装する
    ITurtleAccess#executeCommand で使用する
    ITurtleUpgrade
    Turtle Upgradeの定義を実装する
    ComputerCraftAPI#registerTurtleUpgrade でComputerCraftに登録する
  • クラス
    TurtleCommandResult
    Turtleが実行したコマンドの成否を表す
    ITurtleUpgrade#useTool や ITurtleCommand#execute の戻り値として使う
  • 列挙型
    TurtleAnimation
    Turtleのアニメーションの種類。ITurtleAccess#playAnimation で使用する
    TurtleSide
    Turtle Upgradeが装着されるTurtleの方向を表す
    TurtleUpgradeType
    Turtle Upgradeのタイプ
    TurtleVerb
    ToolタイプのTurtle UpgradeにおけるTurtleの行動の種類