Integration migration (WIP)

This commit is contained in:
paulevsGitch 2021-06-17 23:59:30 +03:00
parent a63fc3c8ed
commit d8fe6cd766
11 changed files with 86 additions and 284 deletions

View file

@ -4,16 +4,15 @@ import net.fabricmc.api.EnvType;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import ru.bclib.api.ModIntegrationAPI;
import ru.bclib.api.WorldDataAPI;
import ru.bclib.util.Logger;
import ru.betterend.api.BetterEndPlugin;
import ru.betterend.config.Configs;
import ru.betterend.effects.EndEnchantments;
import ru.betterend.effects.EndPotions;
import ru.betterend.events.PlayerAdvancementsCallback;
import ru.betterend.integration.EndBiomeIntegration;
import ru.betterend.integration.Integrations;
import ru.betterend.item.GuideBookItem;
import ru.betterend.recipe.AlloyingRecipes;
import ru.betterend.recipe.AnvilRecipes;
import ru.betterend.recipe.CraftingRecipes;
@ -38,7 +37,6 @@ import ru.betterend.world.surface.SurfaceBuilders;
public class BetterEnd implements ModInitializer {
public static final String MOD_ID = "betterend";
public static final Logger LOGGER = new Logger(MOD_ID);
private static boolean hasHydrogen;
@Override
public void onInitialize() {
@ -61,36 +59,22 @@ public class BetterEnd implements ModInitializer {
SmithingRecipes.register();
InfusionRecipes.register();
EndStructures.register();
Integrations.register();
BonemealPlants.init();
GeneratorOptions.init();
DataFixerUtil.init();
LootTableUtil.init();
if (hasGuideBook()) {
GuideBookItem.register();
}
hasHydrogen = FabricLoader.getInstance().isModLoaded("hydrogen");
Integrations.init();
initIntegrationBiomes();
FabricLoader.getInstance().getEntrypoints("betterend", BetterEndPlugin.class).forEach(BetterEndPlugin::register);
Configs.saveConfigs();
if (hasGuideBook()) {
PlayerAdvancementsCallback.PLAYER_ADVANCEMENT_COMPLETE.register((player, advancement, criterionName) -> {
ResourceLocation advId = new ResourceLocation("minecraft:end/enter_end_gateway");
if (advId.equals(advancement.getId())) {
player.addItem(new ItemStack(GuideBookItem.GUIDE_BOOK));
}
});
}
}
public static boolean hasGuideBook() {
return FabricLoader.getInstance().isModLoaded("patchouli");
}
public static boolean hasHydrogen() {
return hasHydrogen;
private void initIntegrationBiomes() {
ModIntegrationAPI.getIntegrations().forEach(integration -> {
if (integration instanceof EndBiomeIntegration && integration.modIsInstalled()) {
((EndBiomeIntegration) integration).biomeRegister();
}
});
}
public static ResourceLocation makeID(String path) {