java - Minecraft 模组 1.7.10 纹理未显示

标签 java textures minecraft

我正在制作一个模组,但收到此错误:

Using missing texture, unable to load null:textures/items/TrainingCorpsBoots.png java.io.FileNotFoundException: null:textures/items/TrainingCorpsBoots.png

我将纹理名称设置为与上面和文件夹项目中完全相同的名称。

这是我的代码:

package com.example.AoT;

import javax.swing.text.html.parser.Entity;

import scala.tools.nsc.MainClass;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemArmor.ArmorMaterial;
import net.minecraft.item.ItemStack;

public class ArmorTC extends ItemArmor{

public ArmorTC(int i, ArmorMaterial armorTC, int id, int placement) {
super(armorTC, id, placement);
setCreativeTab(CreativeTabs.tabCombat);

if (placement == 1){
    this.setTextureName(AoT.TrainingCorpsJacket + ":TrainingCorpsJacket");
}   
else if (placement == 2){
        this.setTextureName(AoT.TrainingCorpsTrousers + ":TrainingCorpsTrousers");
}       
else if (placement == 3){
            this.setTextureName(AoT.TrainingCorpsBoots + ":TrainingCorpsBoots");
}
}
public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) {
    if (stack.getItem() == AoT.TrainingCorpsJacket || stack.getItem() ==        AoT.TrainingCorpsBoots) {
        return AoT.MODID + ":textures/models/armor/Clothes.png";
}
    if (stack.getItem() ==  AoT.TrainingCorpsTrousers) {
        return AoT.MODID + ":textures/models/armor/Clothes2.png";
    }   else {
        return null;
    }
}
}

我改变了这部分

if (placement == 1){
    this.setTextureName(AoT.MODID + ":TrainingCorpsJacket");
}   
else if (placement == 2){
        this.setTextureName(AoT.MODID + ":TrainingCorpsTrousers");
}       
else if (placement == 3){
        this.setTextureName(AoT.MODID + ":TrainingCorpsBoots");

最佳答案

当你调用setTextureName()时,你正在传递它:

AoT.TrainingCorpsBoots + ":TrainingCorpsBoots"

由于它是一个项目,TrainingCorpsBoots 部分将扩展为:

TrainingCorpsBoots
TrainingCorpsBoots.png
textures/items/TrainingCorpsBoots.png

并且您自己传递冒号 (:),因此 AoT.TrainingCorpsBoots 必须为 null

您应该使用:

this.setTextureName(AoT.MODID + ":TrainingCorpsBoots");

并确保该文件存在于 mymod/textures/items/TrainingCorpsBoots.png 中(其中 mymod 是分配给 AoT.MODID 的内容。

关于java - Minecraft 模组 1.7.10 纹理未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24740848/

相关文章:

c++ - OpenGl - 纹理 glutSolidSphere?

OpenGL - 同一对象的不同表面上的不同纹理

c# - A* 寻路在 3D Minecraft 环境中不起作用

java - Spigot - 将字符串转换为 Material - Java

java - do-while 循环不是一直在工作

java - 如何使用MouseEvent?

java - 如何在 Java 中设计和接口(interface)(OOP 类型),以便我可以使用直接数据库访问或使用 Web 服务?

使用 Mongo CSFLE (mongodb-crypt) 时/tmp 安装为 noexec 时出现 java.lang.UnsatisfiedLinkError

c++ - stb_png_to_mem的参数是什么意思?

node.js - Minecraft/Node - 写入 process.stdin 且子进程也接收输入