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

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

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
9行目: 9行目:
 
Achievementのコンストラクタは3種類あり、それぞれ実績ツリー上で表示されるアイコンに使う要素として第五引数にBlockを渡すか、Itemを渡すか、ItemStackを渡すかでどれを使うか選びます。
 
Achievementのコンストラクタは3種類あり、それぞれ実績ツリー上で表示されるアイコンに使う要素として第五引数にBlockを渡すか、Itemを渡すか、ItemStackを渡すかでどれを使うか選びます。
  
Achievementのコンストラクタの第一引数には、実績を特定する固有のIDをString型で渡します。第二引数には、[[ローカライズについて|ローカライズ]]前の実績の名称の「一部」を渡します(「一部」については後で述べる)。int型の第三引数には実績ツリー上の列座標(横方向、右が正)、同じくint型の第四引数には実績ツリー上の行座標(縦方向、下が正)を渡します(列座標、行座標については後で述べる)。第五引数には、先に述べたように実績アイコンとして表示するBlock、Item、またはItemStackのインスタンスを渡します。Achievement型の第六引数には、「親」となるAchievementのインスタンスを渡します。ここで「親」というのは、実績ツリー上で矢印の根本になる実績を指します。「親」にはnullを指定することができます。「親」がnullの場合、実績ツリー上で矢印は描画されません。また、「親」がnullでない実績は、「親」の実績が獲得された後でしか獲得することができません。
+
Achievementのコンストラクタの第一引数には、実績を特定する固有のIDをString型で渡します。第二引数には、[[ローカライズについて|ローカライズ]]前の実績の名称の「一部」を渡します(「一部」については後で述べる)。int型の第三引数には実績ツリー上の列座標(横方向、右が正)、同じくint型の第四引数には実績ツリー上の行座標(縦方向、下が正)を渡します(列座標、行座標については後で述べる)。第五引数には、先に述べたように実績アイコンとして表示するBlock、Item、またはItemStackのインスタンスを渡します。Achievement型の第六引数には、「親」となるAchievementのインスタンスを渡します。ここで「親」というのは、実績ツリー上で矢印の根本になる実績を指します。「親」にはnullを指定することができます。「親」がnullの場合、実績ツリー上で矢印は描画されません。
  
 
 第二引数について「一部」と述べたのは、実際に言語ファイルに記述するローカライズキーは、「achievement.<第二引数>」になるからです。また、この第二引数は実績の「説明」のローカライズキーにも使用されます。実績の「説明」は、実績ツリー上で実績の名称の下に表示される文字列(例えば、【「E」を押してインベントリを開く】)です。実績の「説明」のローカライズキーは、「achievement.<第二引数>.desc」になります。
 
 第二引数について「一部」と述べたのは、実際に言語ファイルに記述するローカライズキーは、「achievement.<第二引数>」になるからです。また、この第二引数は実績の「説明」のローカライズキーにも使用されます。実績の「説明」は、実績ツリー上で実績の名称の下に表示される文字列(例えば、【「E」を押してインベントリを開く】)です。実績の「説明」のローカライズキーは、「achievement.<第二引数>.desc」になります。
  
 第三、第四引数は、実績ツリー上におけるアイコンの描画位置に関与しますが、整数で「1」離れた値を指定したとしてもアイコンが重なることはありません。アイコンは24ピクセル単位で、グリッド状に配置されます。また、0を指定すると実績ツリーの中心付近に表示され(「所持品の確認」は0列、0行)、負の値を指定することもできます(バニラでも負の値が使われています。例えば「土台作り」は4列、-1行)。
+
 第三、第四引数は、実績ツリー上におけるアイコンの描画位置に関与しますが、整数で「1」離れた値を指定したとしてもアイコンが重なることはありません。また、0を指定すると実績ツリーの中心付近に表示され、「所持品の確認」は0列、0行)、負の値を指定することもできます(バニラでも負の値が使われています。例えば「土台作り」は4列、-1行)。
  
Forgeはゲーム中のメインメニューから開ける実績GUIにおいて、ある実績のまとまりを「ページ」として、SwingのCardLayoutのように表示する実績を切り替える機能を追加しています。この機能によって、例えばModごとに(あるいはModの主要な目標ごとに)新しいページを追加することで、一つのページのまとまりが失われるのを防ぐことができるでしょう。
+
Forgeは、ある実績のまとまりを「ページ」として、SwingのCardLayoutのように切り替える機能を追加しています。この機能によって、例えばModごとに(あるいはModの主要な目標ごとに)新しいページを追加することで、一つのページのまとまりが失われるのを防ぐことができるでしょう。
  
 
この「ページ」は、「net.minecraftforge.common.AchievementPage」を使って表現します。「AchievementPage」のコンストラクタの第一引数には、「AchievementPage」の名前を渡します。[[ローカライズについて|ローカライズ機能]]は用意されていないので、欲しい方は継承等で対応しましょう。可変長引数である第二引数には、この「AchievementPage」に含む「Achievement」のインスタンスを渡します。
 
この「ページ」は、「net.minecraftforge.common.AchievementPage」を使って表現します。「AchievementPage」のコンストラクタの第一引数には、「AchievementPage」の名前を渡します。[[ローカライズについて|ローカライズ機能]]は用意されていないので、欲しい方は継承等で対応しましょう。可変長引数である第二引数には、この「AchievementPage」に含む「Achievement」のインスタンスを渡します。
25行目: 25行目:
 
また、「AchievementPage」のインスタンスは、staticメソッド「AchievementPage#registerAchievementPage」を呼び出して登録する必要があります。
 
また、「AchievementPage」のインスタンスは、staticメソッド「AchievementPage#registerAchievementPage」を呼び出して登録する必要があります。
  
プレイヤーに実績を獲得させるときは、「net.minecraft.entity.player.EntityPlayer#addStat」を呼び出します。この関数の第一引数はStatBase型を取り、「Achievement」を渡します。先に述べたように、引数に渡す実績の「親」の実績を獲得していない場合は「EntityPlayer#addStat」を呼んでも無視されます。
+
プレイヤーに実績を獲得させるときは、「net.minecraft.entity.player.EntityPlayer#addStat」を呼び出します。この関数の第一引数はStatBase型を取り、「Achievement」を渡します。
  
 
 
39行目: 39行目:
  
 
15mの落下でHard Landing(難着陸)、30mの落下でHigh Flyer(高く飛ぶ者、野心家)を獲得します。
 
15mの落下でHard Landing(難着陸)、30mの落下でHigh Flyer(高く飛ぶ者、野心家)を獲得します。
 
elseを使わずif文を並べているので、一度30m落下すれば15mの実績と30mの実績が同時に獲得できます。
 
  
 
==== ソースコード ====
 
==== ソースコード ====

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

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

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