提供: Minecraft Modding Wiki
(ページ作成) |
(メソッド名を修正) |
||
7行目: | 7行目: | ||
=== Minecraft 1.7 から Minecraft 1.8 への変更点 === | === Minecraft 1.7 から Minecraft 1.8 への変更点 === | ||
*'''ブロック座標を表すパラメータが int, int, int から BlockPos に変更''' | *'''ブロック座標を表すパラメータが int, int, int から BlockPos に変更''' | ||
− | **dan200.computercraft.api.ComputerCraftAPI#getBundledRedstoneOutput | + | **dan200.computercraft.api.ComputerCraftAPI#getBundledRedstoneOutput(World, BlockPos, int) |
− | **dan200.computercraft.api.peripheral.IPeripheralProvider#getPeripheral | + | **dan200.computercraft.api.peripheral.IPeripheralProvider#getPeripheral(World, BlockPos, EnumFacing) |
− | **dan200.computercraft.api.permissions.ITurtlePermissionProvider#isBlockEditable | + | **dan200.computercraft.api.permissions.ITurtlePermissionProvider#isBlockEditable(World, BlockPos) |
− | **dan200.computercraft.api.permissions.ITurtlePermissionProvider#isBlockEnterable | + | **dan200.computercraft.api.permissions.ITurtlePermissionProvider#isBlockEnterable(World, BlockPos) |
− | **dan200.computercraft.api.redstone.IBundledRedstoneProvider#getBundledRedstoneOutput | + | **dan200.computercraft.api.redstone.IBundledRedstoneProvider#getBundledRedstoneOutput(World, BlockPos, EnumFacing) |
**dan200.computercraft.api.turtle.ITurtleAccess#teleportTo | **dan200.computercraft.api.turtle.ITurtleAccess#teleportTo | ||
*'''方向を表すパラメータが int から EnumFacing に変更''' | *'''方向を表すパラメータが int から EnumFacing に変更''' | ||
− | **dan200.computercraft.api.peripheral.IPeripheralProvider#getPeripheral | + | **dan200.computercraft.api.peripheral.IPeripheralProvider#getPeripheral(World, BlockPos, EnumFacing) |
− | **dan200.computercraft.api.redstone.IBundledRedstoneProvider#getBundledRedstoneOutput | + | **dan200.computercraft.api.redstone.IBundledRedstoneProvider#getBundledRedstoneOutput(World, BlockPos, EnumFacing) |
− | **dan200.computercraft.api.turtle.ITurtleAccess#getDirection | + | **dan200.computercraft.api.turtle.ITurtleAccess#getDirection() |
− | **dan200.computercraft.api.turtle.ITurtleAccess#setDirection | + | **dan200.computercraft.api.turtle.ITurtleAccess#setDirection(EnumFacing) |
− | **dan200.computercraft.api.turtle.ITurtleUpgrade#useTool | + | **dan200.computercraft.api.turtle.ITurtleUpgrade#useTool(ITurtleAccess, TurtleSide, TurtleVerb, EnumFacing) |
*'''TurtleUpgradeID が int から ResourceLocation に変更''' | *'''TurtleUpgradeID が int から ResourceLocation に変更''' | ||
− | **ITurtleUpgrade#getUpgradeID の返値が int から ResourceLocation に変更 | + | **ITurtleUpgrade#getUpgradeID() の返値が int から ResourceLocation に変更 |
***返値のResourceLocationには他のupgradeと重複しない文字列を設定する | ***返値のResourceLocationには他のupgradeと重複しない文字列を設定する | ||
***例: "computercraft:wireless_modem" つまり "my_mod:my_upgrade" | ***例: "computercraft:wireless_modem" つまり "my_mod:my_upgrade" | ||
− | **ITurtleUpgrade#getLegacyUpgradeID 追加 | + | **ITurtleUpgrade#getLegacyUpgradeID() 追加 |
***CC1.76以前からのupgradeとの互換性のため。CC1.76以前のTurtleUpgradeIDを表すint値を返す | ***CC1.76以前からのupgradeとの互換性のため。CC1.76以前のTurtleUpgradeIDを表すint値を返す | ||
***CC1.76以前との互換性が不要なら -1 を返す | ***CC1.76以前との互換性が不要なら -1 を返す | ||
*'''テクスチャ・モデル指定方法の変更によるTurtleUpgradeモデル指定方法の変更''' | *'''テクスチャ・モデル指定方法の変更によるTurtleUpgradeモデル指定方法の変更''' | ||
− | **ITurtleUpgrade#getModel 追加 | + | **ITurtleUpgrade#getModel(ITurtleAccess, TurtleSide) 追加 |
***TurtleUpgradeのモデルを表す Pair<IBakedModel, Matrix4f> を返す | ***TurtleUpgradeのモデルを表す Pair<IBakedModel, Matrix4f> を返す | ||
− | **ITurtleUpgrade#getIcon 削除 | + | **ITurtleUpgrade#getIcon(ITurtleAccess, TurtleSide) 削除 |
=== dan200.computercraft.api === | === dan200.computercraft.api === | ||
40行目: | 40行目: | ||
*;IMount | *;IMount | ||
*:Computerへマウント可能な架空のファイルシステム(読み込み専用) | *:Computerへマウント可能な架空のファイルシステム(読み込み専用) | ||
− | *:ComputerCraftAPI | + | *:ComputerCraftAPI.createResourceMount() で取得。IComputerAccess.mount() でComputerへマウント |
*;IWritableMount | *;IWritableMount | ||
*:Computerへマウント可能な架空のファイルシステム(読み書き可能)。IMount のサブインターフェース | *:Computerへマウント可能な架空のファイルシステム(読み書き可能)。IMount のサブインターフェース | ||
− | *:ComputerCraftAPI | + | *:ComputerCraftAPI.createSaveDirMount() で取得。IComputerAccess.mountWritable() や IComputerAccess.mount() でComputerへマウント |
=== dan200.computercraft.api.lua === | === dan200.computercraft.api.lua === | ||
50行目: | 50行目: | ||
*:Computerから周辺機器やILuaObjectへ渡され、タスクを実行したり、処理を中断してイベントを待ったりすることが可能なメソッドを提供する | *:Computerから周辺機器やILuaObjectへ渡され、タスクを実行したり、処理を中断してイベントを待ったりすることが可能なメソッドを提供する | ||
*;ILuaObject | *;ILuaObject | ||
− | *:IPeripheral | + | *:IPeripheral.callMethod() 等で返されるカスタムオブジェクトを'''''実装'''する'' |
*;ILuaTask | *;ILuaTask | ||
*:メインスレッドで実行させるタスクを'''''実装'''する'' | *:メインスレッドで実行させるタスクを'''''実装'''する'' | ||
− | *:ILuaContext | + | *:ILuaContext.executeMainThreadTask() や ILuaContext.issueMainThreadTask() で実行 |
*例外 | *例外 | ||
63行目: | 63行目: | ||
*;IMedia | *;IMedia | ||
*:Disk DriveなどにセットしてComputerから利用可能なメディアを'''''実装'''する'' | *:Disk DriveなどにセットしてComputerから利用可能なメディアを'''''実装'''する'' | ||
− | *: | + | *:createDataMount() で IMount を返せば記録メディアとなり、getAudioRecordName() でリソース名を返せば音楽メディアとなる |
*:Itemのサブクラスで実装した場合、ComputerCraftのデフォルトMediaProviderを利用できるためIMediaProvider(後述)の実装が不要になる | *:Itemのサブクラスで実装した場合、ComputerCraftのデフォルトMediaProviderを利用できるためIMediaProvider(後述)の実装が不要になる | ||
*;IMediaProvider | *;IMediaProvider | ||
*:Disk DriveなどにセットされたアイテムのItemStackから対応した IMedia を提供するために'''''実装'''する'' | *:Disk DriveなどにセットされたアイテムのItemStackから対応した IMedia を提供するために'''''実装'''する'' | ||
− | *:ComputerCraftAPI | + | *:ComputerCraftAPI.registerMediaProvider() でComputerCraftに登録する |
=== dan200.computercraft.api.peripheral === | === dan200.computercraft.api.peripheral === | ||
75行目: | 75行目: | ||
*;IPeripheral | *;IPeripheral | ||
*:周辺機器の動作を'''''実装'''する'' | *:周辺機器の動作を'''''実装'''する'' | ||
− | *:実装クラスのインスタンスを返すように実装した IPeripheralProvider のインスタンスを ComputerCraftAPI | + | *:実装クラスのインスタンスを返すように実装した IPeripheralProvider のインスタンスを ComputerCraftAPI.registerPeripheralProvider() でComputerCraftに登録する |
*;IPeripheralProvider | *;IPeripheralProvider | ||
*:特定のブロックを周辺機器として扱うための IPeripheral を提供するために'''''実装'''する'' | *:特定のブロックを周辺機器として扱うための IPeripheral を提供するために'''''実装'''する'' | ||
− | *:ComputerCraftAPI | + | *:ComputerCraftAPI.registerPeripheralProvider() でComputerCraftに登録する |
=== dan200.computercraft.api.permissions === | === dan200.computercraft.api.permissions === | ||
84行目: | 84行目: | ||
*;ITurtlePermissionProvider | *;ITurtlePermissionProvider | ||
*:特定の座標に対するTurtleの移動およびブロックの採掘・設置を制限するために'''''実装'''する'' | *:特定の座標に対するTurtleの移動およびブロックの採掘・設置を制限するために'''''実装'''する'' | ||
− | *:ComputerCraftAPI | + | *:ComputerCraftAPI.registerPermissionProvide() でComputerCraftに登録する |
=== dan200.computercraft.api.redstone === | === dan200.computercraft.api.redstone === | ||
90行目: | 90行目: | ||
*;IBundledRedstoneProvider | *;IBundledRedstoneProvider | ||
*:16チャンネル(ON/OFFのみ)のレッドストーン出力を提供するために'''''実装'''する'' | *:16チャンネル(ON/OFFのみ)のレッドストーン出力を提供するために'''''実装'''する'' | ||
− | *:ComputerCraftAPI | + | *:ComputerCraftAPI.registerBundledRedstoneProvider() でComputerCraftに登録する |
=== dan200.computercraft.api.turtle === | === dan200.computercraft.api.turtle === | ||
98行目: | 98行目: | ||
*;ITurtleCommand | *;ITurtleCommand | ||
*:カスタム・タートル・コマンドを実行するために'''''実装'''する'' | *:カスタム・タートル・コマンドを実行するために'''''実装'''する'' | ||
− | *:ITurtleAccess | + | *:ITurtleAccess.executeCommand() で使用する |
*;ITurtleUpgrade | *;ITurtleUpgrade | ||
*:Turtle Upgradeの定義を'''''実装'''する'' | *:Turtle Upgradeの定義を'''''実装'''する'' | ||
− | *:ComputerCraftAPI | + | *:ComputerCraftAPI.registerTurtleUpgrade() でComputerCraftに登録する |
*クラス | *クラス | ||
*;TurtleCommandResult | *;TurtleCommandResult | ||
*:Turtleが実行したコマンドの成否を表す | *:Turtleが実行したコマンドの成否を表す | ||
− | *:ITurtleUpgrade | + | *:ITurtleUpgrade.useTool() や ITurtleCommand.execute() の戻り値として使う |
*列挙型 | *列挙型 | ||
*;TurtleAnimation | *;TurtleAnimation | ||
− | *:Turtleのアニメーションの種類。ITurtleAccess | + | *:Turtleのアニメーションの種類。ITurtleAccess.playAnimation() で使用する |
*;TurtleSide | *;TurtleSide | ||
*:Turtle Upgradeが装着されるTurtleの方向を表す | *:Turtle Upgradeが装着されるTurtleの方向を表す |
2016年1月9日 (土) 20:44時点における最新版
この記事は"Minecraft Forge Universal 10.14.x.x~"及び"ComputerCraft 1.76~"を前提MODとしています。 |
目次
- 1 ComputerCraft 1.76のAPIクラス構成
- 1.1 Minecraft 1.7 から Minecraft 1.8 への変更点
- 1.2 dan200.computercraft.api
- 1.3 dan200.computercraft.api.filesystem
- 1.4 dan200.computercraft.api.lua
- 1.5 dan200.computercraft.api.media
- 1.6 dan200.computercraft.api.peripheral
- 1.7 dan200.computercraft.api.permissions
- 1.8 dan200.computercraft.api.redstone
- 1.9 dan200.computercraft.api.turtle
ComputerCraft 1.76のAPIクラス構成[編集]
「実装する」と書かれているものは追加したい機能に応じて実装する必要のあるインターフェース。
以下「Computer」は特に断りのない限りComputerとTurtleを指す。
Minecraft 1.7 から Minecraft 1.8 への変更点[編集]
- ブロック座標を表すパラメータが int, int, int から BlockPos に変更
- dan200.computercraft.api.ComputerCraftAPI#getBundledRedstoneOutput(World, BlockPos, int)
- dan200.computercraft.api.peripheral.IPeripheralProvider#getPeripheral(World, BlockPos, EnumFacing)
- dan200.computercraft.api.permissions.ITurtlePermissionProvider#isBlockEditable(World, BlockPos)
- dan200.computercraft.api.permissions.ITurtlePermissionProvider#isBlockEnterable(World, BlockPos)
- dan200.computercraft.api.redstone.IBundledRedstoneProvider#getBundledRedstoneOutput(World, BlockPos, EnumFacing)
- dan200.computercraft.api.turtle.ITurtleAccess#teleportTo
- 方向を表すパラメータが int から EnumFacing に変更
- dan200.computercraft.api.peripheral.IPeripheralProvider#getPeripheral(World, BlockPos, EnumFacing)
- dan200.computercraft.api.redstone.IBundledRedstoneProvider#getBundledRedstoneOutput(World, BlockPos, EnumFacing)
- dan200.computercraft.api.turtle.ITurtleAccess#getDirection()
- dan200.computercraft.api.turtle.ITurtleAccess#setDirection(EnumFacing)
- dan200.computercraft.api.turtle.ITurtleUpgrade#useTool(ITurtleAccess, TurtleSide, TurtleVerb, EnumFacing)
- 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 を返す
- ITurtleUpgrade#getUpgradeID() の返値が int から ResourceLocation に変更
- テクスチャ・モデル指定方法の変更によるTurtleUpgradeモデル指定方法の変更
- ITurtleUpgrade#getModel(ITurtleAccess, TurtleSide) 追加
- TurtleUpgradeのモデルを表す Pair<IBakedModel, Matrix4f> を返す
- ITurtleUpgrade#getIcon(ITurtleAccess, TurtleSide) 削除
- ITurtleUpgrade#getModel(ITurtleAccess, TurtleSide) 追加
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.registerPermissionProvide() で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の行動の種類