提供: Minecraft Modding Wiki
2015年4月29日 (水) 21:53時点におけるA.K. (トーク | 投稿記録)による版 (IC2のusageテキストの内容を記述)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

この情報は1.7.10の情報です[編集]

他のバージョンでもここに記載されている内容が利用できることは保障しません。

また1.7.10ではこのインターフェースを実装するのではなく、
「BasicSink」クラスのインスタンスをTileEntity内で保持し、TileEntityのinvalidateメソッド、onChunkUnloadメソッド、readFromNBTメソッド、writeToNBTメソッド、updateEntityメソッドないで、BasicSinkインスタンスの同名メソッドを呼ぶのが、EUネットワークとの連携の一般的な方法である。

このインターフェースはForgeのOptionalアノテーションを利用することで、動的に削除できるので、IC2を前提MODとして指定せずに、EUネットワークを利用したい場合に使用されます。

メソッド[編集]

メソッド名 double getDemandedEnergy()
概要 引数はありません。このマシンなどが要求するEU量を返してください。

例を挙げるなら、この機械の最大蓄電量が100で現在40蓄電されている場合は100 - 40 で 60 を返す
というようなイメージです。

この返り値が0より大きい場合にのみ、下のinjectEnergyメソッドが呼ばれるようです。

補足
メソッド名 int getSinkTier()
概要 引数はありません。この機械が受け取れる電圧の最大値を示す数字を返します。

1 = LV, 2 = MV, 3 = HV, 4 = EV です。

補足
メソッド名 double injectEnergy(ForgeDirection directionFrom, double amount, double voltage)
概要 directionFromにはEUを受け取った方向(toString()メソッドを利用すればWEST, UPなど文字列として受け取れます)、

amountは受け取ったEU量、voltageは不明です(分かる方お願いします)。
返り値には返すEU量を指定してください。
例を挙げるなら蓄電量が100で今40蓄電されている状態で、amountが150だったとします。
その場合、60を蓄電量に加算して、受け取りきれない90をreturnするイメージです。

補足