Takanasayo (トーク | 投稿記録) 細 (誤記) |
Takanasayo (トーク | 投稿記録) 細 (FMLの記述を削除) |
||
(同じ利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
{{Stb}} | {{Stb}} | ||
− | + | MinecraftForgeにはModLoaderの機能が含まれているが、一部のMODが正常に機能しない。<br> | |
これはForgeで新たに追加されたメソッドが、既存のメソッドを呼ばなくなってしまった事に起因する。 | これはForgeで新たに追加されたメソッドが、既存のメソッドを呼ばなくなってしまった事に起因する。 | ||
34行目: | 34行目: | ||
==対応するForgeのバージョン== | ==対応するForgeのバージョン== | ||
− | + | 筆者が確認したのは、[1.2.5]Forge3.3.7_135 ~ [1.4.5]Forge6.4.0_397 までだが一切修正されていない。<br> | |
+ | この前後のバージョンでも同様に不具合が発生している可能性がある。<br> | ||
ModLoader用のMODをMinecraftForgeに移植する際には注意が必要である。 | ModLoader用のMODをMinecraftForgeに移植する際には注意が必要である。 | ||
2012年12月11日 (火) 01:02時点における最新版
この記事は執筆中です。加筆してくださる人を募集しています。 |
MinecraftForgeにはModLoaderの機能が含まれているが、一部のMODが正常に機能しない。
これはForgeで新たに追加されたメソッドが、既存のメソッドを呼ばなくなってしまった事に起因する。
このページでは、実際に使われなくなったメソッドを公開する。
目次
Block.class[編集]
float blockStrength(EntityPlayer par1EntityPlayer)[編集]
このメソッドは、ブロックの破壊速度を返す。
規定値はcanHarvestBlockを参照し、ツールの種類に合わせた破壊速度を返す。
このメソッドはForge環境では非推奨アノテーションが付与されており、他から参照されない。
代わりに
float blockStrength(World world, EntityPlayer player, int x, int y, int z)
もしくは
float blockStrength(EntityPlayer player, int meta)
を使う事が推奨されている。
blockStrength(EntityPlayer par1EntityPlayer) がオーバーライドされたMODは、Forgeでは正常に動作しない。
boolean func_50074_q()[編集]
このメソッドは、シルクタッチで回収可能かどうかを返す。
規定値は、renderAsNormalBlock() && !isBlockContainer を返す。
Forge環境では canSilkHarvest() となっているが、これは他から参照されない。
にもかかわらず、非推奨アノテーションも付与されていない。
代わりに
boolean canSilkHarvest(World world, EntityPlayer player, int x, int y, int z, int metadata)
を使う必要がある。
func_50074_q()がオーバーライドされたMODは、Forgeでは正常に動作しない。
対応するForgeのバージョン[編集]
筆者が確認したのは、[1.2.5]Forge3.3.7_135 ~ [1.4.5]Forge6.4.0_397 までだが一切修正されていない。
この前後のバージョンでも同様に不具合が発生している可能性がある。
ModLoader用のMODをMinecraftForgeに移植する際には注意が必要である。
対応方法[編集]
ModLoaderとForgeの両対応のMODを作りたいなら、これらのメソッドを両方定義してやる必要がある。
片方だけでは、もう一方で動かなくなるので注意しよう。