114 lines
3.7 KiB
Java
114 lines
3.7 KiB
Java
package ru.betterend;
|
|
|
|
import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.ModInitializer;
|
|
import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback;
|
|
import net.fabricmc.loader.api.FabricLoader;
|
|
import net.minecraft.block.SlabBlock;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.Identifier;
|
|
import net.minecraft.util.registry.Registry;
|
|
import ru.betterend.api.BetterEndPlugin;
|
|
import ru.betterend.config.Configs;
|
|
import ru.betterend.effects.EndEnchantments;
|
|
import ru.betterend.effects.EndPotions;
|
|
import ru.betterend.events.PlayerAdvancementsEvents;
|
|
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;
|
|
import ru.betterend.recipe.FurnaceRecipes;
|
|
import ru.betterend.recipe.InfusionRecipes;
|
|
import ru.betterend.recipe.SmithingRecipes;
|
|
import ru.betterend.registry.EndBiomes;
|
|
import ru.betterend.registry.EndBlockEntities;
|
|
import ru.betterend.registry.EndBlocks;
|
|
import ru.betterend.registry.EndEntities;
|
|
import ru.betterend.registry.EndFeatures;
|
|
import ru.betterend.registry.EndItems;
|
|
import ru.betterend.registry.EndPortals;
|
|
import ru.betterend.registry.EndSounds;
|
|
import ru.betterend.registry.EndStructures;
|
|
import ru.betterend.registry.EndTags;
|
|
import ru.betterend.util.BonemealUtil;
|
|
import ru.betterend.util.DataFixerUtil;
|
|
import ru.betterend.util.Logger;
|
|
import ru.betterend.world.generator.BetterEndBiomeSource;
|
|
import ru.betterend.world.generator.GeneratorOptions;
|
|
import ru.betterend.world.surface.SurfaceBuilders;
|
|
|
|
public class BetterEnd implements ModInitializer {
|
|
public static final String MOD_ID = "betterend";
|
|
public static final Logger LOGGER = Logger.get();
|
|
@Override
|
|
public void onInitialize() {
|
|
EndPortals.loadPortals();
|
|
EndSounds.register();
|
|
EndItems.register();
|
|
EndBlocks.register();
|
|
EndBlockEntities.register();
|
|
EndFeatures.register();
|
|
EndEntities.register();
|
|
SurfaceBuilders.register();
|
|
EndBiomes.register();
|
|
BetterEndBiomeSource.register();
|
|
EndTags.register();
|
|
EndEnchantments.register();
|
|
EndPotions.register();
|
|
CraftingRecipes.register();
|
|
FurnaceRecipes.register();
|
|
AlloyingRecipes.register();
|
|
AnvilRecipes.register();
|
|
SmithingRecipes.register();
|
|
InfusionRecipes.register();
|
|
EndStructures.register();
|
|
Integrations.register();
|
|
BonemealUtil.init();
|
|
GeneratorOptions.init();
|
|
DataFixerUtil.init();
|
|
|
|
if (hasGuideBook()) {
|
|
GuideBookItem.register();
|
|
}
|
|
|
|
FabricLoader.getInstance().getEntrypoints("betterend", BetterEndPlugin.class).forEach(BetterEndPlugin::register);
|
|
Configs.saveConfigs();
|
|
|
|
if (hasGuideBook()) {
|
|
PlayerAdvancementsEvents.PLAYER_ADVENCEMENT_COMPLETE.register((player, advancement, criterionName) -> {
|
|
Identifier advId = new Identifier("minecraft:end/enter_end_gateway");
|
|
if (advId.equals(advancement.getId())) {
|
|
player.giveItemStack(new ItemStack(GuideBookItem.GUIDE_BOOK));
|
|
}
|
|
});
|
|
}
|
|
|
|
RegistryEntryAddedCallback.event(Registry.BLOCK).register((i, id, block) -> {
|
|
if (block instanceof SlabBlock) {
|
|
// Do Some Stuff
|
|
System.out.println(id);
|
|
}
|
|
});
|
|
}
|
|
|
|
public static boolean hasGuideBook() {
|
|
return FabricLoader.getInstance().isModLoaded("patchouli");
|
|
}
|
|
|
|
public static Identifier makeID(String path) {
|
|
return new Identifier(MOD_ID, path);
|
|
}
|
|
|
|
public static String getStringId(String id) {
|
|
return String.format("%s:%s", MOD_ID, id);
|
|
}
|
|
|
|
public static boolean isDevEnvironment() {
|
|
return FabricLoader.getInstance().isDevelopmentEnvironment();
|
|
}
|
|
|
|
public static boolean isClient() {
|
|
return FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT;
|
|
}
|
|
}
|