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’
如何解决?