2013-01-26 1 views
1

Bonjour mes collègues programmeurs, aujourd'hui, j'ai regardé & en train de lire des tutoriels de modélisation Minecraft. Ca va plutôt bien, sauf un bug bizarre dans mon code.Modding Minecraft bug

Je crée des "outils Emerald" qui sont fondamentalement une version re-texturée et OP: ed d'un outil standard. Jusqu'ici, j'ai appris comment créer les différents jeux d'outils (Sword, Pickaxe, Ax, Shovel et Hoe), mais chaque fois que je veux fabriquer les outils en jeu, j'obtiens des résultats inattendus. Par exemple, quand je fabrique une hache, elle devient une pioche à la place, pour voir de quelle haie je parle, s'il vous plaît consulter mon code source et peut-être, compiler si vous avez la MCP Modeloader & disponible.

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"; 
} 

Si vous vous demandez, mon premier article « test » était une version pixellisée de Mew (le légendaire pokemon: D), pour une raison quelconque, je l'ai toujours mis en œuvre dans le code.

Qu'est-ce qui ne va pas? Le seul outil que je peux construire correctement est l'épée, tous les autres outils ont des manières différentes d'être fabriquées/pas de façons.

Si vous ne comprenez pas le code source ci-dessous et que vous êtes un programmeur décent, ne vous inquiétez pas, c'est le suffixe Minecraft, que vous n'avez évidemment pas essayé.

J'utilise ModLoader et MCP (Minecraft Coder Pack.

Si vous vous demandez, je suis en mesure de compiler le code, il est juste que la table donne des résultats inattendus craft.

toutes les réponses sont appréciées

Répondre

3

à droite de la chauve-souris, votre hache recette artisanat est:.

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

Puisque vous avez dit Pickaxe, vous allez avoir des problèmes. Ma conjecture est que le Pickaxe et tout ce qui suit sera affecté par cette faute de frappe.

+0

IL A TRAVAILLÉ! Merci mec! Cheers –

+0

Je suis heureux d'avoir pu aider :) – Defenestrator

+0

Si vous avez aimé ma réponse, pourriez-vous s'il vous plaît +1? J'essaye de gagner rep et badges au mo. – Defenestrator