Intellij mc mod - 对象不是功能接口

问题描述

我正在尝试制作一个 minecraft mod,一切都已加载,但是当我运行代码时,我收到 ItemBase 的错误“对象不是功能接口”。

    package com.example.examplemod;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;

// The value here should match an entry in the META-INF/mods.toml file
@Mod("examplemod")
public class ExampleMod {

    private final Object ItemBase;

    public <ItemBase> ExampleMod(Object itemBase) {
        ItemBase = itemBase;
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::enqueueIMC);
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::processIMC);
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
        MinecraftForge.EVENT_BUS.register(this);

        final String MODID = "mod";

        Object name;
        //ITEMS.register("Copper_ingot",() -> new Item(new Item.Properties().group(ItemGroup.MATERIALS)));
        final RegistryObject<Item> COPPER_INGOT = ITEMS.register("copper_ingot",ItemBase::new);
    }

    private void setup(FMLCommonSetupEvent event) {

    }

    private void doClientStuff(FMLClientSetupEvent event) {

    }

    private void enqueueIMC(InterModEnqueueEvent event) {

    }

    ;

    private void processIMC(InterModProcessEvent event) {

    }

    @Mod.EventBusSubscriber(
            bus = Mod.EventBusSubscriber.Bus.MOD
    )
    class RegistryEvents {

        private static final String MODID = "mod";
        private final Object Block;
        private final Object RegistryEvent;

        public RegistryEvents(Object block,Object registryEvent) {
            Block = block;
            RegistryEvent = registryEvent;

            boolean blockRegistryEvent;
            {
                {
                    IEventBus eventBus = FMLJavaModLoadingContext.get().getModEventBus();
                    final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS,MODID);
                    final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS,MODID);
                    BLOCKS.register(eventBus);
                    ITEMS.register(eventBus);
                }
            }
        }
    }

    private static class ITEMS {
        public static void register(Object name) {
        }

        public static void register(String copper_ingot,Object o) {
        }
    }
}

错误:

C:\Users\User\Downloads\folder\forge\src\main\java\com\example\examplemod\ExampleMod.java:36: 错误:意外类型 ItemBase::new); ^ 必需:类或数组 找到:类型参数 ItemBase 其中 ItemBase 是一个类型变量: ItemBase 扩展在构造函数 ExampleMod(Object) 中声明的 Object

请帮忙。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)