Minecraft Forge API 不加载项目 1.12.2 的纹理

时间:2021-05-28 13:36:39

标签: java minecraft-forge

我认为对于这个问题已经存在一个解决方案,但它们对我不起作用。

所以...

这是我的 key.json 文件

{
  "parent": "item/generated",
  "textures": {
    "layer0": "space_auctions:items/key"
  }
}

ItemKey.java。这是一个主题,我想补充

package com.red.space_auctions;

import net.minecraft.item.Item;

public class ItemKey extends Item {
    public ItemKey() {
        this.setRegistryName("key");
        this.setUnlocalizedName("key");
    }
}

ItemsRegistry.java。我在哪里注册我的物品

package com.red.space_auctions;

import net.minecraft.client.renderer.block.model.ModelBakery;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

@GameRegistry.ObjectHolder("space_auctions")
@Mod.EventBusSubscriber// Автоматическая регистрация статичных обработчиков событий
public class ItemsRegistry {
    @GameRegistry.ObjectHolder("key")
    public static final Item KEY = null;
    @SubscribeEvent
    public static void onRegistryItem(RegistryEvent.Register<Item> e) {
        e.getRegistry().register(new ItemKey());
    }
    @SubscribeEvent
    @SideOnly(Side.CLIENT)
    public static void onRegistryModel(ModelRegistryEvent e) {
        registryModel(KEY);
    }

    @SideOnly(Side.CLIENT)
    private static void registryModel(Item item) {
        final ResourceLocation regName = item.getRegistryName();
        final ModelResourceLocation mrl = new ModelResourceLocation(regName, "inventory");
        ModelBakery.registerItemVariants(item, mrl);
        ModelLoader.setCustomModelResourceLocation(item, 0, mrl);
    }
}

主要:错误

[16:18:21] [Client thread/ERROR] [FML]: Exception loading model for variant space_auctions:key#inventory for item "space_auctions:key", normal location exception: 
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model space_auctions:item/key with loader VanillaLoader.INSTANCE, skipping

如果需要,asm 对我不起作用

1 个答案:

答案 0 :(得分:0)

如果您使用的是 intellij idea,请在 build.gradle 文件的底部添加:

sourceSets { main { output.resourcesDir = output.classesDir } }

并重新加载gradle