我正试图做一个模组,但我遇到了这个问题。当我试图创造一个工艺配方,它崩溃了我的游戏。我真的不知道为什么。我试过使用Items.COOKED_BEEF
,也尝试过Item.cooked_beef
。我进口了我需要的所有东西,但还是不能用。
package Nedas60.TestMod.init;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;
public class ModCrafting {
public static void register() {
ItemStack diamond = new ItemStack(Items.DIAMOND);
ItemStack beef = new ItemStack(Items.COOKED_BEEF);
ItemStack DmdBeef = new ItemStack(ModItems.DiamondBeef);
GameRegistry.addShapedRecipe(DmdBeef, diamond, beef);
}
}
Eclipse说这里一切都很好。使用小写字母Items.cooked_beef
不起作用。有什么问题吗?
错误日志:http://pastebin.com/7nmk2tfr
发布于 2016-08-03 13:24:05
您正在尝试添加形状配方,而不定义形状。您应该使用不成形的菜谱,或者使用1-3个字符串设置菜谱形状,每个字符串中有1-3个字符(每行有一个字符串,行中的每个正方形有一个字符)。
一些成型菜谱的例子:
//diamond above beef GameRegistry.addShapedRecipe(DmdBeef, "D", "B", 'D', diamond, 'B', beef);
//diamond on the left of beef GameRegistry.addShapedRecipe(DmdBeef, "DB", 'D', diamond, 'B', beef);
//diamond on the left of beef, with a blank space to the left, and 2 blank rows beneath it GameRegistry.addShapedRecipe(DmdBeef, "ADB", "AAA", "AAA", 'D', diamond, 'B', beef);
锻造文档站点上还有更多的教程和例子,minecraftforums和googling将显示更多的内容。
您使用的字符并不重要,例如,您可以使用“@”作为菱形。没有指定的任何字符(如上一个示例中的'A‘)将被要求为空白。如果没有指定所有9个字符,则可以将这些字符放在网格中任何位置的正确格式中。
顺便提一下,标准的java实践是让变量以小写字母开头(DmdBeef
应该是dmdBeef
)。
https://stackoverflow.com/questions/38744376
复制相似问题