Java Minecraft forge未加载纹理
我正在尝试自学java语法,并将minecraft作为一个平台进行深入研究。但是我遇到了一个问题,因为没有加载我的纹理。就这点而言,我的本地化也是如此。这是我的代码块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
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,非常感谢!经过数小时的研究,这是唯一有效的解决方案!