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

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

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
 
{{前提MOD|reqmod="Minecraft Forge4.3x"}}
 
{{前提MOD|reqmod="Minecraft Forge4.3x"}}
  
==EnumHelperの利用==
+
==ツール, 武器の追加==
 ModLoaderを利用したModdingにおいて, Enumというものがコードを冗長にさせた. 特にTool類はEnumToolMaterialがスーパークラスのコンストラクタになっているため, 大抵は新しいEnumを作成し, EnumToolMaterialとの橋渡しをしたり, スーパークラスのコンストラクタで設定された値をサブクラス側で書き換えるなどしていた. ForgeAPIである'''EnumHelper'''はこの問題を解決しうるAPIである. 端的に言えば'''既存のEnumに新しい定数を追加する'''APIである.<br/>
+
 [[無機能アイテムの追加]]や[[SpriteID無限化(独自のterrain.png, gui/items.pngの利用)]]などで追加したアイテムは何の効果もないアイテムだった. そこで今回はバニラのツールとは異なる性能のツール3種(ショベル, つるはし, 斧)と剣を追加する. なお, ソースコードの簡略化のためにコンフィグの追加や独自のテクスチャファイルの利用などは今回行わない. それらは別途必要に応じて対象チュートリアルを参照すること.
 今回はEnumHelperを利用して, バニラのツールとは異なる性能のツール3種(ショベル, つるはし, 斧)と剣を追加する. なお, ソースコードの簡略化のためにコンフィグの追加や独自のテクスチャファイルの利用などは今回行わない. それらは別途必要に応じて対象チュートリアルを参照すること.
 
  
 
===ソースコード===
 
===ソースコード===
108行目: 107行目:
 
{
 
{
 
super(itemId, _toolMaterial);
 
super(itemId, _toolMaterial);
this.toolMaterial = _toolMaterial;
+
this.toolMateiral = _toolMaterial;
this.maxStackSize = 1;
 
 
this.weaponDamage = 4 + _toolMaterial.getDamageVsEntity();
 
this.weaponDamage = 4 + _toolMaterial.getDamageVsEntity();
this.setMaxDamage(_toolMaterial.getMaxUses());
 
 
}
 
}
 
}
 
}
194行目: 191行目:
 
private final EnumToolMaterial toolMateiral;
 
private final EnumToolMaterial toolMateiral;
 
</source>
 
</source>
 他のクラスと異なり剣だけこのようなフィールドを宣言している. これはItemSwordクラスでの上記のフィールドが'''private'''になっており, 継承しても利用できないためである. そのため, コンストラクタでスーパークラスと同じような処理をしている.
+
 他のクラスと異なり剣だけこのようなフィールドを宣言している. これはItemSwordクラスでの上記のフィールドが'''private'''になっており, 継承しても利用できないためである.  
  
 
==実際の挙動==
 
==実際の挙動==
 見た目は金ツールと金の剣だが性能は異なり, ダイヤ鉱石まで掘れる. EnumHelperを利用することで異なる性能のツールをひとつのクラスから容易に作成できるようになる. EnumHelperはMinecraft内のほとんどのEnumに対し新しい定数を追加できる. しかし実際に追加して有効なものは少ない.
+
 見た目は金ツールと金の剣だが性能は異なり, ダイヤ鉱石まで掘れる. EnumHelperを利用することで異なる性能のツールをひとつのクラスから容易に作成できるようになる. しかし今回は既存のクラスを継承したため, ツールごとの対象ブロックはバニラのツールと同じである.

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

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

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

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