提供: Minecraft Modding Wiki
移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
3行目: 3行目:
  
 
== UpgradeNBTDataの利用 ==
 
== UpgradeNBTDataの利用 ==
Turtleより提供されるUpgrade用のNBTTagCompound(以下UpgradeNBTData)の利用方法について解説します。
+
Turtleより提供されるTurtle Upgrade用のNBTTagCompound(UpgradeNBTData)の利用方法について解説します。
  
 
*UpgradeNBTDataの取得
 
*UpgradeNBTDataの取得
15行目: 15行目:
 
NBTTagCompound nbt = turtle.getUpgradeNBTData(side);
 
NBTTagCompound nbt = turtle.getUpgradeNBTData(side);
 
</source>
 
</source>
引数でUpgradeNBTDataを取得するTurtle Upgradeの装着方向を指定します。<br>
+
引数でUpgradeNBTDataを取得したいTurtle Upgradeの装着方向を指定します。<br>
各TurtleのUpgradeNBTDataは左右で独立しており、それぞれ別のデータを保存することができます。
+
各Turtleは左のTurtle Upgrade用のUpgradeNBTDataと右のTurtle Upgrade用のUpgradeNBTDataを持っていて、それぞれのUpgradeNBTDataは独立しています。
  
周辺機器タイプのTurtleで、周辺機器実装クラス側でもUpgradeNBTDataを利用したい場合は、以下のようにITurtleAccessとTurtleSideのインスタンスを周辺機器側で保存しておきます。
+
周辺機器タイプのTurtleで周辺機器実装クラスでもUpgradeNBTDataを利用したい場合は、以下のように周辺機器側でITurtleAccessとTurtleSideのインスタンスを保存しておきます。
 
<source lang = "java">
 
<source lang = "java">
 
public class TurtleSample implements ITurtleUpgrade {
 
public class TurtleSample implements ITurtleUpgrade {
35行目: 35行目:
 
public SamplePeripheral(ITurtleAccess turtle, TurtleSide side) {
 
public SamplePeripheral(ITurtleAccess turtle, TurtleSide side) {
 
// コンストラクタで渡されたITurtleAccessとTurtleSideのインスタンスを保存
 
// コンストラクタで渡されたITurtleAccessとTurtleSideのインスタンスを保存
// UpgradeNBTDataは turtleAccess.getUpgradeNBTData(turtleSide) のようにして取得
+
// turtleAccess.getUpgradeNBTData(turtleSide) のようにしてUpgradeNBTDataを取得
 
turtleAccess = turtle;
 
turtleAccess = turtle;
 
turtleSide = side;
 
turtleSide = side;
43行目: 43行目:
  
 
=== UpgradeNBTDataの利用 ===
 
=== UpgradeNBTDataの利用 ===
ITurtleAccess.getUpgradeNBTData()で取得したUpgradeNBTDataは(TileEntityやItemStackで利用できるNBTTagCompoundと同じように)データの保存や取得が可能です。<br>
+
ITurtleAccess.getUpgradeNBTData()で取得したNBTTagCompoundは(TileEntityやItemStackのNBTTagCompoundと同じように)データの保存や取得が可能です。<br>
NBTTagCompoundの詳しい取り扱い方については、ForgeチュートリアルのNBTに関するページを参照してください。
+
詳しくはForgeチュートリアルのNBTに関するページを参照してください。
  
 
Minecraftの構造上、(シングル・マルチを問わず)UpgradeNBTDataにも「サーバ側」と「クライアント側」が存在します。<br>
 
Minecraftの構造上、(シングル・マルチを問わず)UpgradeNBTDataにも「サーバ側」と「クライアント側」が存在します。<br>
ツールや周辺機器の動作などで基本的にはサーバ側のUpgradeNBTDataを利用することになりますが、保存したデータを元にTurtle Upgradeの外観を変更する等の場合はクライアント側のUpgradeNBTDataを利用する必要があります。<br>
+
基本的にはサーバ側のUpgradeNBTDataを利用することになりますが、UpgradeNBTDataのデータを元にTurtle Upgradeの外観を変えたりなどする場合はクライアント側のUpgradeNBTDataを利用する必要があります。<br>
サーバ側のUpgradeNBTDataの状態をクライアント側へ即時に反映させる(同期させる)ためには、後述の ITurtleAccess.updateUpgradeNBTData() を呼び出します。
+
サーバ側のUpgradeNBTDataの状態をクライアント側のUpgradeNBTDataへ反映させる(同期させる)には後述するITurtleAccess.updateUpgradeNBTData()を呼び出します。
  
 
サーバ側のUpgradeNBTDataに保存したデータはゲームを終了しても消去されず、ゲーム再開後に再び取得することができます。<br>
 
サーバ側のUpgradeNBTDataに保存したデータはゲームを終了しても消去されず、ゲーム再開後に再び取得することができます。<br>
 
ただし、以下の場合は保存したデータが消去されます。
 
ただし、以下の場合は保存したデータが消去されます。
*Turtle Upgradeを取り外す(取り外された方向のUpgradeNBTDataのみ消去されます)
+
*Turtle Upgradeを取り外す(取り外されたTurtle Upgradeの方のUpgradeNBTDataのみ消去されます)
*別のTurtle Upgradeと交換する(交換された方向のUpgradeNBTDataのみ消去されます)
+
*別のTurtle Upgradeと交換する(交換されたTurtle Upgradeの方のUpgradeNBTDataのみ消去されます)
 
*Turtleを破壊する(両方のUpgradeNBTDataが消去されます。ラベルを付けたTurtleでも消去されます)
 
*Turtleを破壊する(両方のUpgradeNBTDataが消去されます。ラベルを付けたTurtleでも消去されます)
  
65行目: 65行目:
 
サーバ側からの呼び出しのみ有効で、クライアント側で呼び出してもクライアント側のUpgradeNBTDataがサーバ側に反映されるということはありません。
 
サーバ側からの呼び出しのみ有効で、クライアント側で呼び出してもクライアント側のUpgradeNBTDataがサーバ側に反映されるということはありません。
  
UpgradeNBTDataはTurtleがワールドへロードされた時などにも同期されますが、このメソッドを呼び出すと即時に同期されます。
+
UpgradeNBTDataはTurtleがワールドへロードされた時などにも同期されますが、このメソッドを呼び出すと即座に同期されます。

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート: