如何修复“纹理不存在于任何已知资源包中”错误?[Minecraft 1.20 修改]

How to fix 'Texture doesn't exist in any known resource pack' error? [Minecraft 1.20 modding]

提问人:How do i.... 提问时间:11/16/2023 最后编辑:How do i.... 更新时间:11/16/2023 访问量:13

问:

由于 IntelliJ 中的某些问题而我无法修复它,我不得不第十次重新启动。我遵循了重新启动时一直遵循的指南,因为它总是有效,但现在我遇到了 IntelliJ 没有检测到我的纹理的问题。

为了了解我的代码,这里是我的 ModBlockStateProvider datagen 类:

package net.KaiHallow.magicalcraft.datagen;

import net.KaiHallow.magicalcraft.MagicalCraft;
import net.minecraft.data.PackOutput;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.RotatedPillarBlock;
import net.minecraftforge.client.model.generators.*;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;

import static net.KaiHallow.magicalcraft.block.ModBlocks.*;

public class ModBlockStateProvider extends BlockStateProvider
{
    public ModBlockStateProvider(PackOutput output, ExistingFileHelper exFileHelper)
    {
        super(output, MagicalCraft.MOD_ID, exFileHelper);
    }

    @Override
    protected void registerStatesAndModels()
    {
        blockWithItem(BLUE_CRYSTAL_BLOCK);
        blockWithItem(DEEPSLATE_LIGHTNING_CRYSTAL_ORE);
        blockWithItem(LIGHTNING_CRYSTAL_ORE);

       logBlock((RotatedPillarBlock) ANCIENTWOOD_LOG.get());

        axisBlock((RotatedPillarBlock) ANCIENTWOOD_WOOD.get(), blockTexture(ANCIENTWOOD_LOG.get()), blockTexture(ANCIENTWOOD_LOG.get()));

        axisBlock((RotatedPillarBlock) STRIPPED_ANCIENTWOOD_LOG.get(), new ResourceLocation(MagicalCraft.MOD_ID, "block/stripped_ancientwood_log"),
                new ResourceLocation(MagicalCraft.MOD_ID, "block/stripped_ancientwood_log"));
        axisBlock((RotatedPillarBlock) STRIPPED_ANCIENTWOOD_WOOD.get(), new ResourceLocation(MagicalCraft.MOD_ID, "block/stripped_ancientwood_log"),
                new ResourceLocation(MagicalCraft.MOD_ID, "block/stripped_ancientwood_wood"));

        blockWithItem(ANCIENTWOOD_LEAVES);
        blockWithItem(ANCIENTWOOD_PLANKS);
        saplingBlock(ANCIENTWOOD_SAPLING);

        simpleBlockItem(ANCIENTWOOD_LOG.get(), models().withExistingParent("magicalcraft:ancientwood_log", "minecraft:block/cube_column"));
        simpleBlockItem(ANCIENTWOOD_WOOD.get(), models().withExistingParent("magicalcraft:ancientwood_wood", "minecraft:block/cube_column"));
        simpleBlockItem(STRIPPED_ANCIENTWOOD_LOG.get(), models().withExistingParent("magicalcraft:stripped_ancientwood_log", "minecraft:block/cube_column"));
        simpleBlockItem(STRIPPED_ANCIENTWOOD_WOOD.get(), models().withExistingParent("magicalcraft:stripped_ancientwood_wood", "minecraft:block/cube_column"));
    }

    private void blockWithItem(RegistryObject<Block> blockRegistryObject)
    {
        simpleBlockWithItem(blockRegistryObject.get(), cubeAll(blockRegistryObject.get()));
    }

    private void saplingBlock(RegistryObject<Block> blockRegistryObject)
    {
        simpleBlock(blockRegistryObject.get(),
                models().cross(Objects.ForgeRegistries.BLOCKS.getKey(blockRegistryObject.get())).getPath(), blockTexture(blockRegistryObject.get()).renderType("cutout"));
    }
}

由于某种原因,它唯一的文件是文件,如果我有它,因为文件的图像由于某种原因会变成一个白色的文档徽标,左上角有一个蓝色的问号,并且该文件无法在 IntelliJ 中打开, 有人可以解释为什么会专门发生在该文件上(如果我的拼写带有任何类型的错别字或其他原因,它只是出于某种原因,它的特定字符集和顺序有问题,它就可以正常工作,如果文件类型是 webp 类型,只是代码找不到。blue_crystal_block.pngblue_crystal_block.png

我什至尝试通过文件资源管理器在外部编辑它,删除它并替换它,移动到项目外部的另一个文件夹并返回,剪切和粘贴,编辑名称和后缀,没有任何效果。我的意思是这没什么大不了的,但仍然令人沮丧,尤其是因为现在我不得不坐在这里处理我的一个文件被迫有错别字。

java intellij-idea 我的 我的世界-forge

评论


答: 暂无答案