|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我就写了几个物品,用DataGenerators给模组生成模型文件,然后运行rundata命令时就出现错误,提示找不到资源文件,其实资源文件在相关的目录下,代码也没有错误,但是就是出现这种错误,求助各位大佬。源代码放出来了,有没有人知道是什么问题?数据生成器代码:- package com.example.mymod;
- import net.minecraft.data.DataGenerator;
- import net.minecraft.data.PackOutput;
- import net.minecraftforge.common.data.ExistingFileHelper;
- import net.minecraftforge.data.event.GatherDataEvent;
- import net.minecraftforge.eventbus.api.SubscribeEvent;
- import net.minecraftforge.fml.common.Mod;
- @Mod.EventBusSubscriber(modid = ExampleMod.MOD_ID,bus=Mod.EventBusSubscriber.Bus.MOD)
- public class DataGenerators {
- //这个注释表明这个方法要被模组事件总线所监视,这个方法是事件触发时的回调
- @SubscribeEvent
- public static void gatherData(GatherDataEvent event){
- //创建一堆东西,照着写就行,以后有机会会介绍
- DataGenerator generator=event.getGenerator();
- PackOutput output=generator.getPackOutput();
- event.getLookupProvider();
- ExistingFileHelper helper=event.getExistingFileHelper();
- //添加生成对应文件的生成器
- //第一个参数表示在客户端还是服务端,这里我们选择客户端,第二个传进一个生成的对象,就是我们之前自己写的类
- generator.addProvider(event.includeClient(),new ModItemModelGen(output,helper));
- //en_us表示英文名称的文件,还可以根据需求设置多种语言
- generator.addProvider(event.includeClient(),new ModLangGen(output,"en_US"));
- //添加生成方块json文件的类
- generator.addProvider(event.includeClient(),new ModBlockModelGen(output,helper));
- }
- }
复制代码 物品模型生成器代码:- package com.example.mymod;
- import net.minecraft.data.PackOutput;
- import net.minecraftforge.client.model.generators.ItemModelProvider;
- import net.minecraftforge.common.data.ExistingFileHelper;
- public class ModItemModelGen extends ItemModelProvider {
- //构造函数
- public ModItemModelGen(PackOutput output, ExistingFileHelper existingFileHelper) {
- //第二个参数要填自己的modid
- super(output, ExampleMod.MOD_ID, existingFileHelper);
- }
- //重写该方法,在这个方法里面填写要生成数据的物品
- @Override
- protected void registerModels() {
- // 武器模型(使用原版手持模型)
- withExistingParent("test_weapon", mcLoc("item/handheld"))
- .texture("layer0", "mymod:item/test_weapon");
- // 普通物品(使用原版生成模型)
- basicItem(ModItems.CUSTOM_FOOD.getId());
- basicItem(ModItems.TEST_POTION.getId());
- }
- }
复制代码 报错:Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:32) at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.Launcher.run(Launcher.java:108) at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.Launcher.main(Launcher.java:78) at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) at cpw.mods.bootstraplauncher@1.1.2/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) Caused by: java.lang.reflect.InvocationTargetException at java.base/java.lang.reflect.Method.invoke(Method.java:569) at MC-BOOTSTRAP/fmlloader@1.20.1-47.3.27/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) at MC-BOOTSTRAP/fmlloader@1.20.1-47.3.27/net.minecraftforge.fml.loading.targets.CommonLaunchHandler.dataService(CommonLaunchHandler.java:107) at MC-BOOTSTRAP/fmlloader@1.20.1-47.3.27/net.minecraftforge.fml.loading.targets.ForgeDataUserdevLaunchHandler.devService(ForgeDataUserdevLaunchHandler.java:22) at MC-BOOTSTRAP/fmlloader@1.20.1-47.3.27/net.minecraftforge.fml.loading.targets.CommonDevLaunchHandler.lambda$makeService$7(CommonDevLaunchHandler.java:135) at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ... 7 more Caused by: java.lang.IllegalArgumentException: Texture mymod:item/test_weapon does not exist in any known resource pack Caused by: java.lang.IllegalArgumentException: Texture mymod:item/test_weapon does not exist in any known resource pack at MC-BOOTSTRAP/com.google.common@31.1-jre/com.google.common.base.Preconditions.checkArgument(Preconditions.java:220) at TRANSFORMER/forge@47.3.27/net.minecraftforge.client.model.generators.ModelBuilder.texture(ModelBuilder.java:145) at TRANSFORMER/forge@47.3.27/net.minecraftforge.client.model.generators.ModelBuilder.texture(ModelBuilder.java:126) at TRANSFORMER/mymod@1.0.0/com.example.mymod.ModItemModelGen.registerModels(ModItemModelGen.java:20) at TRANSFORMER/forge@47.3.27/net.minecraftforge.client.model.generators.ModelProvider.run(ModelProvider.java:396) at TRANSFORMER/minecraft@1.20.1/net.minecraft.data.HashCache.generateUpdate(HashCache.java:92) at TRANSFORMER/minecraft@1.20.1/net.minecraft.data.DataGenerator.lambda$run$0(DataGenerator.java:44) at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) at TRANSFORMER/minecraft@1.20.1/net.minecraft.data.DataGenerator.run(DataGenerator.java:37) at TRANSFORMER/forge@47.3.27/net.minecraftforge.data.event.GatherDataEvent$DataGeneratorConfig.lambda$runAll$2(GatherDataEvent.java:111) at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.api.LamdbaExceptionUtils.lambda$rethrowConsumer$0(LamdbaExceptionUtils.java:34) at java.base/java.util.LinkedHashMap$LinkedValues.forEach(LinkedHashMap.java:647) at TRANSFORMER/forge@47.3.27/net.minecraftforge.data.event.GatherDataEvent$DataGeneratorConfig.runAll(GatherDataEvent.java:107) at TRANSFORMER/forge@47.3.27/net.minecraftforge.data.loading.DatagenModLoader.begin(DatagenModLoader.java:54) at TRANSFORMER/minecraft@1.20.1/net.minecraft.data.Main.main(Main.java:90) ... 16 more > Task :runData FAILED Execution failed for task ':runData'. > Process 'command 'D:\zulu17.56.15-ca-jdk17.0.14-win_x64\bin\java.exe'' finished with non-zero exit value 1 * Try: > Run with --stacktrace option to get the stack trace. > Run with --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.8/user ... mmand_line_warnings in the Gradle documentation. BUILD FAILED in 11s 10 actionable tasks: 3 executed, 7 up-to-date Watched directory hierarchies: [D:\testmod] |
Caused by: java.lang.IllegalArgumentException: Texture mymod:item/test_weapon does not exist in any known resource pack |
可以清楚的看到,相关的纹理文件确实在相关目录下,这时候提示找不到纹理文件,这是什么原因?
|
|