Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Minecraft forge未加载纹理_Java_Intellij Idea_Minecraft_Intellij 14_Minecraft Forge - Fatal编程技术网

Java Minecraft forge未加载纹理

Java Minecraft forge未加载纹理,java,intellij-idea,minecraft,intellij-14,minecraft-forge,Java,Intellij Idea,Minecraft,Intellij 14,Minecraft Forge,我正在尝试自学java语法,并将minecraft作为一个平台进行深入研究。但是我遇到了一个问题,因为没有加载我的纹理。就这点而言,我的本地化也是如此。这是我的代码块 package net.richbaird.testtutorial.blocks; import cpw.mods.fml.common.registry.GameRegistry; //import cpw.mods.fml.common.registry.LanguageRegistry; import net.minec

我正在尝试自学java语法,并将minecraft作为一个平台进行深入研究。但是我遇到了一个问题,因为没有加载我的纹理。就这点而言,我的本地化也是如此。这是我的代码块

package net.richbaird.testtutorial.blocks;

import cpw.mods.fml.common.registry.GameRegistry;
//import cpw.mods.fml.common.registry.LanguageRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.richbaird.testtutorial.lib.constants;

public class OrangeBlock extends Block {
    private String blockName = "orangeBlock";
    public OrangeBlock() {
        super(Material.rock);
        this.setBlockName(constants.MODID + "_" + blockName);
        this.setCreativeTab(CreativeTabs.tabBlock);
        GameRegistry.registerBlock(this,blockName);
        this.setBlockTextureName(constants.MODID + ":" + blockName);
        //LanguageRegistry.addName(this,"tutorial block");

    }

}
这是我的课程

package net.richbaird.testtutorial.lib;
public class constants {
  public static final String MODID = "testtutorial";
  public static final String MODNAME = "Test Tutorial";
  public static final String VERSION = "1.0";
}
我的纹理保存在

~/IdeaProjects/testmod/src/main/resources/assets/testtutorial/textures/blocks/orangeBlock.png
根据日志,它无法找到我的纹理。这是我得到的信息

[08:08:14] [Client thread/ERROR]: 
Using missing texture, unable to load 
testtutorial:textures/blocks/orangeBlock.png
java.io.FileNotFoundException: testtutorial:textures/blocks/orangeBlock.png

客户端加载并显示“我的项目”,但带有默认的黑色和紫色纹理。我做错了什么?我想这可能与我的命名约定有关,因为.lang文件也不会被读取,我给我的块起一个友好的名称的唯一方法是使用现在被贬低的
LanguageRegistry.addName()
方法

对于那些好奇的人来说,Intellij14看起来像是一个bug。将此行添加到forge附带的build.gradle的底部

sourceSets {
    main { output.resourcesDir = output.classesDir }
}
并运行
gradle-setupdecompospace-idea--刷新依赖项


修复了这个问题。

我最近在更新IntelliJ后遇到了这个错误,虽然richbai90的解决方案确实解决了眼前的问题,但它也破坏了将mod编译成jar的功能(资产文件夹包含两次)。经过深入研究,我终于找到了问题的根源:IntelliJ将构建任务委托给Gradle,Gradle将资产和类放在不同的文件夹中,而Forge不知道它们属于同一个mod。对我来说,有效的解决方案是使用IDE构建和运行,IDE位于“构建、执行、部署|构建工具| Gradle”下的“设置”对话框中(其中有更详细的说明)。在旧版本的IntelliJ上,这被称为“将IDE构建/运行操作委托给gradle”(请参阅)。

在Mac上,bash gradlew的工作空间理念——刷新依赖项我只想在2020年更新,这仍然适用于MC 1.12,非常感谢!经过数小时的研究,这是唯一有效的解决方案!