java - minecraft forge 1.10 创建工艺配方导致 minecraft 崩溃

标签 java eclipse minecraft minecraft-forge

我正在尝试制作模组,但遇到了这个问题。当我尝试创建工艺配方时,它使我的游戏崩溃。我真的不知道为什么。我尝试使用 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

最佳答案

您正尝试在未定义形状的情况下添加形状配方。您应该使用无形配方,或使用 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/

相关文章:

android - Android中的bin文件夹是什么?

data-structures - 可用于有效表示 Minecraft 世界的标准数据结构是什么?

java - PrepareItemCraftEvent 问题 - 无法传递事件 PrepareItemCraftEvent

java - 当项目转换为可执行 jar 时,序列化文件不起作用?

java - JNI - native 方法异常

java - 如何不用浏览器后台打开一个有IP的url?

eclipse - Gradle:产生的WAR文件有两个来自子项目的JAR版本

java - Minecraft fontRenderer.drawString() 立即消失

java - Spring 3 bean 实例化序列

java - 将提交的代码与以前提交的代码进行比较?