2301_76275164 2025-07-31 11:45 采纳率: 83.3%
浏览 11
已结题

BiomeLoadingEvent类的路径错误


package com.GaoHY;

import com.GaoHY.Init.*;
import com.mojang.logging.LogUtils;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.levelgen.GenerationStep;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.BiomeLoadingEvent;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.ForgeRegistries;
import org.slf4j.Logger;

@Mod("g_mod")
public class g_mod {
    public static final String MODID = "g_mod";
    private static final Logger LOGGER = LogUtils.getLogger();

    public static final CreativeModeTab TUTORIAL_TAB = new CreativeModeTab(MODID + ".tutorial_tab") {
        @Override
        public ItemStack makeIcon() {
            return new ItemStack(ItemInit.WATER_GOD_EYE.get());
        }
    };

    public g_mod() {
        @SuppressWarnings("removal")
        IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();

        BlockInit.BLOCKS.register(modEventBus);
        BlockInit.ITEMS.register(modEventBus);
        ItemInit.ITEMS.register(modEventBus);

        WorldGenInit.CONFIGURED_FEATURES.register(modEventBus);
        PlacedFeaturesInit.PLACED_FEATURES.register(modEventBus);

        modEventBus.addListener(this::onCommonSetup);
        modEventBus.addListener(this::onClientSetup);

        MinecraftForge.EVENT_BUS.register(this);
    }

    private void onCommonSetup(final FMLCommonSetupEvent event) {
        LOGGER.info("Hello from common setup!");
        LOGGER.info("Dirt block registry name: {}", ForgeRegistries.BLOCKS.getKey(Blocks.DIRT));
    }

    private void onClientSetup(final FMLClientSetupEvent event) {
        LOGGER.info("Client setup complete");
    }

    @Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
    public static class ClientModEvents {
        @SubscribeEvent
        public static void onClientSetup(FMLClientSetupEvent event) {
            // 客户端初始化代码
        }
    }

    @Mod.EventBusSubscriber(modid = MODID)
    public static class BiomeEvents {
        @SubscribeEvent
        public static void onBiomeLoad(BiomeLoadingEvent event) {
            if (!event.getName().getPath().contains("nether") &&
                    !event.getName().getPath().contains("the_end")) {

                event.getGeneration().addFeature(
                        GenerationStep.Decoration.UNDERGROUND_ORES,
                        PlacedFeaturesInit.ORE_KS_FU_BLOCK_PLACED.getHolder().orElseThrow()
                );

                event.getGeneration().addFeature(
                        GenerationStep.Decoration.UNDERGROUND_ORES,
                        PlacedFeaturesInit.ORE_DEEP_KS_FU_BLOCK_PLACED.getHolder().orElseThrow()
                );
            }
        }
    }
}

无法导入BiomeLoadingEvent类
AI指出其路径位于net.minecraftforge.event.world
但IDEA指出无法解析‘world’
如何解决?

  • 写回答

4条回答 默认 最新

查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月8日
  • 已采纳回答 7月31日
  • 创建了问题 7月31日