【问题标题】:Modding Minecraft bug修改 Minecraft 错误
【发布时间】:2013-01-26 19:12:54
【问题描述】:

各位程序员,大家好,今天,我一直在观看和阅读 Minecraft 改装教程。 一切都很顺利,除了我的代码中有一个奇怪的错误。

我正在创建“翡翠工具”,它基本上是常规工具的重新纹理化和 OP:ed 版本。

到目前为止,我已经学会了如何制作不同的工具组(剑、镐、斧头、铲子和锄头),但是每当我想在游戏中制作工具时,我都会得到意想不到的结果。例如,当我制作斧头时,它变成了镐,要查看我在说什么树篱,请查看我的源代码,如果你有可用的 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)的像素化版本,出于某种原因,我仍然在代码中实现了它。

怎么了?我唯一能正确制作的工具是剑,所有其他工具都有不同的制作方法/没有方法。

如果你不理解下面的源代码并且你是一个不错的程序员,别担心,这就是我的世界,你显然没有尝试过。

我正在使用 ModLoader 和 MCP(Minecraft Coder Pack。

如果你想知道,我可以编译代码,只是制作表给出了意想不到的结果。

感谢所有答案。

【问题讨论】:

    标签: java minecraft


    【解决方案1】:

    马上,您的斧头制作配方是:

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

    既然你说镐,你就会有问题。我的猜测是镐和它之后的所有东西都会受到那个错字的影响。

    【讨论】:

    • 如果你喜欢我的回答,可以+1吗?我正在努力获得声望和徽章。
    • 我也想要,但我的名声不够高:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多