1

プログラマーの皆さん、こんにちは。今日、私はMinecraftの改造チュートリアルを見たり読んだりしています。私のコードの奇妙なバグを除いて、それはかなりうまくいっています。

私は「エメラルドツール」を作成しています。これは基本的に、通常のツールの再テクスチャ化されたOP:edバージョンです。

これまで、さまざまなツールセット(Sword、Pickaxe、Axe、Shovel、Hoe)の作成方法を学びましたが、ゲーム内でツールを作成したいときはいつでも、予期しない結果が得られます。たとえば、斧を作成すると、代わりにつるはしになります。私が話しているヘッジを確認するには、ソースコードを確認し、ModLoaderとMCPが利用できる場合はコンパイルしてください。

package net.minecraft.src;
import java.util.Random;

public class mod_minecraft extends BaseMod //Main modding file, extends BaseMod
{

public static final Item mew = new ItemMew(2085).setItemName("Mew"); //Mew, Item tutorial.
public static final Item EmeraldSword = new ItemSword(3077, EnumToolMaterial.MCM).setItemName("EmeraldSword"); //Emerald Sword, sword tutorial
public static final Item EmeraldPickaxe = new ItemPickaxe(2102, EnumToolMaterial.MCM).setItemName("EmeraldPickaxe"); //Emerald Pick
public static final Item EmeraldAxe = new ItemAxe(2096, EnumToolMaterial.MCM).setItemName("Emerald Axe");
public static final Item EmeraldShovel = new ItemSpade(2107, EnumToolMaterial.MCM).setItemName("Emerald Shovel");
public static final Item EmeraldHoe = new ItemHoe(2099, EnumToolMaterial.MCM).setItemName("Emerald Shovel");

public void load()
{

//Mew
mew.iconIndex = ModLoader.addOverride("/gui/items.png", "/items/151Mew.png");
ModLoader.addName(mew, "Mew");
//

//Emerald Sword
EmeraldSword.iconIndex = ModLoader.addOverride("/gui/items.png" , "/items/greensword.png");
ModLoader.addName(EmeraldSword, "Emerald Sword");
ModLoader.addRecipe(new ItemStack(EmeraldSword, 1), new Object[]
{
" * ", " * ", " X ",
'X', Item.stick, '*', Item.emerald
});
//

///Emerald pickaxe
EmeraldPickaxe.iconIndex = ModLoader.addOverride("/gui/items.png", "/items/greenpick.png");
ModLoader.addName(EmeraldPickaxe, "Emerald Pickaxe");
ModLoader.addRecipe(new ItemStack(EmeraldPickaxe, 1), new Object[]
{
"***", " X ", " X ",
'X', Item.stick, '*', Item.emerald
});
//

//Emerald Axe
EmeraldAxe.iconIndex = ModLoader.addOverride("/gui/items.png", "/items/greenaxe.png");
ModLoader.addName(EmeraldAxe, "Emerald Axe");
ModLoader.addRecipe(new ItemStack(EmeraldPickaxe, 1), new Object[]
        {
    "** ", "*X ", " X ",
    'X', Item.stick, '*', Item.emerald
        });
//

//Emerald Shovel
EmeraldShovel.iconIndex = ModLoader.addOverride("/gui/items.png", "/items/greenshovel.png");
ModLoader.addName(EmeraldShovel, "Emerald Shovel");
ModLoader.addRecipe(new ItemStack(EmeraldShovel, 1), new Object []
{
    " * ", " X ", " X ",
    '*', Item.emerald, 'X', Item.stick
});
//

//Emerald Hoe
EmeraldHoe.iconIndex = ModLoader.addOverride("/gui/items.png", "/items/greenhoe.png");
ModLoader.addName(EmeraldHoe, "Emerald Hoe");
ModLoader.addRecipe(new ItemStack(EmeraldHoe, 1), new Object []
{
    "** ", " X ", " X ", 
    'X', Item.stick, '*', Item.emerald
});
//


}

public String getVersion()
{
return "3.14159265";
} 

ご参考までに、私の最初の「テスト」アイテムは、ピクセル化されたバージョンのMew(伝説のポケモン:D)でした。何らかの理由で、まだコードに実装されています。

なにが問題ですか?私が適切に構築できる唯一のツールは剣です。他のすべてのツールには、作成方法が異なります/方法はありません。

以下のソースコードを理解しておらず、まともなプログラマーである場合でも、心配しないでください。これはMinecraftで十分ですが、明らかに試したことはありません。

ModLoaderとMCP(Minecraft CoderPack)を使用しています。

ご参考までに、コードをコンパイルすることができます。クラフトテーブルが予期しない結果をもたらすだけです。

すべての回答をいただければ幸いです。

4

1 に答える 1

3

すぐに、の作成レシピは次のようになります。

    ModLoader.addRecipe(new ItemStack(EmeraldPickaxe, 1), new Object[] { "** ", "X ", " X ", 'X', Item.stick, '', Item.emerald });

つるはしと言ったので、問題が発生します。私の推測では、つるはしとそれ以降のすべてがそのタイプミスの影響を受けるでしょう。

于 2013-01-26T19:17:39.147 に答える