85 lines
3.2 KiB
Java
85 lines
3.2 KiB
Java
package org.betterx.betterend;
|
|
|
|
import org.betterx.bclib.api.v2.generator.BiomeDecider;
|
|
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI;
|
|
import org.betterx.betterend.advancements.BECriteria;
|
|
import org.betterx.betterend.api.BetterEndPlugin;
|
|
import org.betterx.betterend.commands.CommandRegistry;
|
|
import org.betterx.betterend.config.Configs;
|
|
import org.betterx.betterend.effects.EndPotions;
|
|
import org.betterx.betterend.integration.Integrations;
|
|
import org.betterx.betterend.registry.*;
|
|
import org.betterx.betterend.util.BonemealPlants;
|
|
import org.betterx.betterend.util.LootTableUtil;
|
|
import org.betterx.betterend.world.generator.EndLandBiomeDecider;
|
|
import org.betterx.betterend.world.generator.GeneratorOptions;
|
|
import org.betterx.worlds.together.util.Logger;
|
|
import org.betterx.worlds.together.world.WorldConfig;
|
|
|
|
import net.minecraft.resources.ResourceLocation;
|
|
import net.minecraft.world.level.biome.Biomes;
|
|
|
|
import net.fabricmc.api.ModInitializer;
|
|
import net.fabricmc.loader.api.FabricLoader;
|
|
|
|
public class BetterEnd implements ModInitializer {
|
|
public static final String MOD_ID = "betterend";
|
|
public static final Logger LOGGER = new Logger(MOD_ID);
|
|
public static final boolean RUNS_TRINKETS = FabricLoader.getInstance()
|
|
.getModContainer("trinkets")
|
|
.isPresent();
|
|
|
|
@Override
|
|
public void onInitialize() {
|
|
WorldConfig.registerModCache(MOD_ID);
|
|
EndNumericProviders.register();
|
|
EndPortals.loadPortals();
|
|
EndSounds.register();
|
|
EndMenuTypes.ensureStaticallyLoaded();
|
|
EndBlockEntities.register();
|
|
EndPoiTypes.register();
|
|
EndFeatures.register();
|
|
EndEntities.register();
|
|
EndBiomes.register();
|
|
EndTags.register();
|
|
EndBlocks.ensureStaticallyLoaded();
|
|
EndItems.ensureStaticallyLoaded();
|
|
EndEnchantments.register();
|
|
EndPotions.register();
|
|
EndStructures.register();
|
|
BonemealPlants.init();
|
|
GeneratorOptions.init();
|
|
LootTableUtil.init();
|
|
CommandRegistry.register();
|
|
BECriteria.register();
|
|
FabricLoader.getInstance()
|
|
.getEntrypoints("betterend", BetterEndPlugin.class)
|
|
.forEach(BetterEndPlugin::register);
|
|
Integrations.init();
|
|
Configs.saveConfigs();
|
|
|
|
if (GeneratorOptions.useNewGenerator()) {
|
|
BiomeDecider.registerHighPriorityDecider(makeID("end_land"), new EndLandBiomeDecider());
|
|
}
|
|
|
|
BiomeAPI.registerEndBiomeModification((biomeID, biome) -> {
|
|
if (!biomeID.equals(Biomes.THE_VOID.location())) {
|
|
EndFeatures.addBiomeFeatures(biomeID, biome);
|
|
}
|
|
});
|
|
|
|
BiomeAPI.onFinishingEndBiomeTags((biomeID, biome) -> {
|
|
if (!biomeID.equals(Biomes.THE_VOID.location())) {
|
|
EndStructures.addBiomeStructures(biomeID, biome);
|
|
}
|
|
});
|
|
if (RUNS_TRINKETS) {
|
|
//TODO: 1.19.3 Reenable when Trinkets is available
|
|
//org.betterx.betterend.integration.trinkets.Elytra.register();
|
|
}
|
|
}
|
|
|
|
public static ResourceLocation makeID(String path) {
|
|
return new ResourceLocation(MOD_ID, path);
|
|
}
|
|
}
|