Mod integrations migration

This commit is contained in:
paulevsGitch 2021-06-18 00:34:14 +03:00
parent d8fe6cd766
commit fece745179
9 changed files with 16 additions and 40 deletions

View file

@ -1,17 +1,14 @@
package ru.betterend; package ru.betterend;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.ModInitializer; import net.fabricmc.api.ModInitializer;
import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import ru.bclib.api.ModIntegrationAPI;
import ru.bclib.api.WorldDataAPI; import ru.bclib.api.WorldDataAPI;
import ru.bclib.util.Logger; import ru.bclib.util.Logger;
import ru.betterend.api.BetterEndPlugin; import ru.betterend.api.BetterEndPlugin;
import ru.betterend.config.Configs; import ru.betterend.config.Configs;
import ru.betterend.effects.EndEnchantments; import ru.betterend.effects.EndEnchantments;
import ru.betterend.effects.EndPotions; import ru.betterend.effects.EndPotions;
import ru.betterend.integration.EndBiomeIntegration;
import ru.betterend.integration.Integrations; import ru.betterend.integration.Integrations;
import ru.betterend.recipe.AlloyingRecipes; import ru.betterend.recipe.AlloyingRecipes;
import ru.betterend.recipe.AnvilRecipes; import ru.betterend.recipe.AnvilRecipes;
@ -63,20 +60,11 @@ public class BetterEnd implements ModInitializer {
GeneratorOptions.init(); GeneratorOptions.init();
DataFixerUtil.init(); DataFixerUtil.init();
LootTableUtil.init(); LootTableUtil.init();
Integrations.init();
initIntegrationBiomes();
FabricLoader.getInstance().getEntrypoints("betterend", BetterEndPlugin.class).forEach(BetterEndPlugin::register); FabricLoader.getInstance().getEntrypoints("betterend", BetterEndPlugin.class).forEach(BetterEndPlugin::register);
Integrations.init();
Configs.saveConfigs(); Configs.saveConfigs();
} }
private void initIntegrationBiomes() {
ModIntegrationAPI.getIntegrations().forEach(integration -> {
if (integration instanceof EndBiomeIntegration && integration.modIsInstalled()) {
((EndBiomeIntegration) integration).biomeRegister();
}
});
}
public static ResourceLocation makeID(String path) { public static ResourceLocation makeID(String path) {
return new ResourceLocation(MOD_ID, path); return new ResourceLocation(MOD_ID, path);
} }
@ -88,12 +76,4 @@ public class BetterEnd implements ModInitializer {
public static boolean isModId(ResourceLocation id) { public static boolean isModId(ResourceLocation id) {
return id.getNamespace().equals(MOD_ID); return id.getNamespace().equals(MOD_ID);
} }
public static boolean isDevEnvironment() {
return FabricLoader.getInstance().isDevelopmentEnvironment();
}
public static boolean isClient() {
return FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT;
}
} }

View file

@ -11,6 +11,7 @@ import net.minecraft.network.chat.Style;
import net.minecraft.network.chat.TextComponent; import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import ru.bclib.BCLib;
import ru.bclib.blocks.BaseChestBlock; import ru.bclib.blocks.BaseChestBlock;
import ru.bclib.blocks.BaseSignBlock; import ru.bclib.blocks.BaseSignBlock;
import ru.bclib.client.render.BCLRenderLayer; import ru.bclib.client.render.BCLRenderLayer;
@ -43,7 +44,7 @@ public class BetterEndClient implements ClientModInitializer {
registerRenderers(); registerRenderers();
registerTooltips(); registerTooltips();
if (BetterEnd.isDevEnvironment()) { if (BCLib.isDevEnvironment()) {
TranslationHelper.printMissingNames(BetterEnd.MOD_ID); TranslationHelper.printMissingNames(BetterEnd.MOD_ID);
} }
} }

View file

@ -2,6 +2,7 @@ package ru.betterend.config;
import net.fabricmc.api.EnvType; import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment; import net.fabricmc.api.Environment;
import ru.bclib.BCLib;
import ru.bclib.config.EntryConfig; import ru.bclib.config.EntryConfig;
import ru.bclib.config.IdConfig; import ru.bclib.config.IdConfig;
import ru.bclib.config.PathConfig; import ru.bclib.config.PathConfig;
@ -26,7 +27,7 @@ public class Configs {
GENERATOR_CONFIG.saveChanges(); GENERATOR_CONFIG.saveChanges();
RECIPE_CONFIG.saveChanges(); RECIPE_CONFIG.saveChanges();
if (BetterEnd.isClient()) { if (BCLib.isClient()) {
CLENT_CONFIG.saveChanges(); CLENT_CONFIG.saveChanges();
} }
} }

View file

@ -1,7 +1,5 @@
package ru.betterend.integration; package ru.betterend.integration;
public interface EndBiomeIntegration { public interface EndBiomeIntegration {
void biomeRegister();
void addBiomes(); void addBiomes();
} }

View file

@ -32,6 +32,7 @@ public class BYGIntegration extends ModIntegration implements EndBiomeIntegratio
} }
BYGBlocks.register(); BYGBlocks.register();
BYGFeatures.register(); BYGFeatures.register();
BYGBiomes.register();
} }
@Override @Override
@ -78,9 +79,4 @@ public class BYGIntegration extends ModIntegration implements EndBiomeIntegratio
}); });
} }
} }
@Override
public void biomeRegister() {
BYGBiomes.register();
}
} }

View file

@ -10,7 +10,9 @@ public class BYGBiomes {
public static final EndBiome NIGHTSHADE_REDWOODS = EndBiomes.registerSubBiomeIntegration(new NightshadeRedwoods()); public static final EndBiome NIGHTSHADE_REDWOODS = EndBiomes.registerSubBiomeIntegration(new NightshadeRedwoods());
//public static final EndBiome ETHERIAL_GROVE = EndBiomes.registerSubBiomeIntegration(new EterialGrove()); //public static final EndBiome ETHERIAL_GROVE = EndBiomes.registerSubBiomeIntegration(new EterialGrove());
public static void register() {} public static void register() {
System.out.println("Registered " + OLD_BULBIS_GARDENS);
}
public static void addBiomes() { public static void addBiomes() {
EndBiomes.addSubBiomeIntegration(OLD_BULBIS_GARDENS, Integrations.BYG.getID("bulbis_gardens")); EndBiomes.addSubBiomeIntegration(OLD_BULBIS_GARDENS, Integrations.BYG.getID("bulbis_gardens"));

View file

@ -9,6 +9,7 @@ import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.BiomeSpecialEffects; import net.minecraft.world.level.biome.BiomeSpecialEffects;
import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData; import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
import net.minecraft.world.level.levelgen.GenerationStep.Decoration; import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
import ru.bclib.BCLib;
import ru.bclib.world.biomes.BCLBiomeDef; import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd; import ru.betterend.BetterEnd;
import ru.betterend.integration.Integrations; import ru.betterend.integration.Integrations;
@ -39,7 +40,7 @@ public class NightshadeRedwoods extends EndBiome {
.addFeature(BYGFeatures.NIGHTSHADE_MOSS_WOOD) .addFeature(BYGFeatures.NIGHTSHADE_MOSS_WOOD)
.addFeature(BYGFeatures.NIGHTSHADE_MOSS); .addFeature(BYGFeatures.NIGHTSHADE_MOSS);
if (BetterEnd.isClient()) { if (BCLib.isClient()) {
SoundEvent loop = effects.getAmbientLoopSoundEvent().get(); SoundEvent loop = effects.getAmbientLoopSoundEvent().get();
SoundEvent music = effects.getBackgroundMusic().get().getEvent(); SoundEvent music = effects.getBackgroundMusic().get().getEvent();
SoundEvent additions = effects.getAmbientAdditionsSettings().get().getSoundEvent(); SoundEvent additions = effects.getAmbientAdditionsSettings().get().getSoundEvent();

View file

@ -16,6 +16,7 @@ import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.levelgen.GenerationStep.Decoration; import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
import ru.bclib.BCLib;
import ru.bclib.world.biomes.BCLBiomeDef; import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd; import ru.betterend.BetterEnd;
import ru.betterend.integration.Integrations; import ru.betterend.integration.Integrations;
@ -44,7 +45,7 @@ public class OldBulbisGardens extends EndBiome {
.addFeature(EndFeatures.END_LAKE_RARE) .addFeature(EndFeatures.END_LAKE_RARE)
.addFeature(BYGFeatures.OLD_BULBIS_TREE); .addFeature(BYGFeatures.OLD_BULBIS_TREE);
if (BetterEnd.isClient()) { if (BCLib.isClient()) {
SoundEvent loop = effects.getAmbientLoopSoundEvent().get(); SoundEvent loop = effects.getAmbientLoopSoundEvent().get();
SoundEvent music = effects.getBackgroundMusic().get().getEvent(); SoundEvent music = effects.getBackgroundMusic().get().getEvent();
SoundEvent additions = effects.getAmbientAdditionsSettings().get().getSoundEvent(); SoundEvent additions = effects.getAmbientAdditionsSettings().get().getSoundEvent();

View file

@ -2,7 +2,6 @@ package ru.betterend.registry;
import java.io.InputStream; import java.io.InputStream;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -22,13 +21,13 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.Biome.BiomeCategory; import net.minecraft.world.level.biome.Biome.BiomeCategory;
import net.minecraft.world.level.biome.Biomes; import net.minecraft.world.level.biome.Biomes;
import ru.bclib.BCLib;
import ru.bclib.api.BiomeAPI; import ru.bclib.api.BiomeAPI;
import ru.bclib.api.ModIntegrationAPI; import ru.bclib.api.ModIntegrationAPI;
import ru.bclib.util.JsonFactory; import ru.bclib.util.JsonFactory;
import ru.bclib.world.biomes.BCLBiome; import ru.bclib.world.biomes.BCLBiome;
import ru.bclib.world.generator.BiomeMap; import ru.bclib.world.generator.BiomeMap;
import ru.bclib.world.generator.BiomePicker; import ru.bclib.world.generator.BiomePicker;
import ru.betterend.BetterEnd;
import ru.betterend.config.Configs; import ru.betterend.config.Configs;
import ru.betterend.integration.EndBiomeIntegration; import ru.betterend.integration.EndBiomeIntegration;
import ru.betterend.interfaces.IBiomeList; import ru.betterend.interfaces.IBiomeList;
@ -62,8 +61,7 @@ import ru.betterend.world.generator.BiomeType;
import ru.betterend.world.generator.GeneratorOptions; import ru.betterend.world.generator.GeneratorOptions;
public class EndBiomes { public class EndBiomes {
private static final HashMap<ResourceLocation, EndBiome> ID_MAP = Maps.newHashMap(); private static final Map<ResourceLocation, EndBiome> ID_MAP = Maps.newHashMap();
private static final HashMap<Biome, EndBiome> CLIENT = Maps.newHashMap();
public static final Set<ResourceLocation> FABRIC_VOID = Sets.newHashSet(); public static final Set<ResourceLocation> FABRIC_VOID = Sets.newHashSet();
private static final Set<ResourceLocation> SUBBIOMES_UNMUTABLES = Sets.newHashSet(); private static final Set<ResourceLocation> SUBBIOMES_UNMUTABLES = Sets.newHashSet();
@ -182,8 +180,6 @@ public class EndBiomes {
SUBBIOMES.forEach((endBiome) -> { SUBBIOMES.forEach((endBiome) -> {
endBiome.updateActualBiomes(biomeRegistry); endBiome.updateActualBiomes(biomeRegistry);
}); });
CLIENT.clear();
} }
private static void rebuildPicker(BiomePicker picker, Registry<Biome> biomeRegistry) { private static void rebuildPicker(BiomePicker picker, Registry<Biome> biomeRegistry) {
@ -200,7 +196,7 @@ public class EndBiomes {
biomes.forEach((key) -> FABRIC_VOID.add(key.location())); biomes.forEach((key) -> FABRIC_VOID.add(key.location()));
FABRIC_VOID.removeIf(id -> id.getNamespace().equals("endplus")); FABRIC_VOID.removeIf(id -> id.getNamespace().equals("endplus"));
if (BetterEnd.isDevEnvironment()) { if (BCLib.isDevEnvironment()) {
System.out.println("=================================="); System.out.println("==================================");
System.out.println("Added void biomes from Fabric API:"); System.out.println("Added void biomes from Fabric API:");
FABRIC_VOID.forEach((id) -> { FABRIC_VOID.forEach((id) -> {