我正在尝试制作模组,但遇到了这个问题。当我尝试创建工艺配方时,它使我的游戏崩溃。我真的不知道为什么。我尝试使用
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
不起作用。有什么问题?
最佳答案
您正尝试在未定义形状的情况下添加形状配方。您应该使用无形配方,或使用 1-3 个字符串设置配方形状,每个字符串包含 1-3 个字符(每行 1 个字符串,行中每个方 block 1 个字符)。
一些形状食谱的例子:
//牛肉上面的钻石
GameRegistry.addShapedRecipe(DmdBeef, "D", "B", 'D', 钻石, 'B', 牛肉);
//牛肉左边的菱形
GameRegistry.addShapedRecipe(DmdBeef, "DB", 'D', diamond, 'B', 牛肉);
//牛肉左边的菱形,左边有一个空格,下面有2个空行
GameRegistry.addShapedRecipe(DmdBeef, "ADB", "AAA", "AAA", 'D', 钻石, 'B', 牛肉);
forge 文档站点上有更多教程和示例,minecraftforums 和谷歌搜索会显示更多。
您使用的字符并不重要,例如,您可以使用“@”表示菱形。任何未指定的字符(例如上一个示例中的“A”)都必须为空白。如果未指定所有 9 个字符,则可以将指定的字符以正确的形式放在网格中的任何位置。
顺便说一句,标准的 Java 做法是让变量以小写字母开头(DmdBeef
应该是 dmdBeef
)。
关于java - minecraft forge 1.10 创建工艺配方导致 minecraft 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38744376/