lang merger

This commit is contained in:
DrMangoTea
2023-09-01 14:17:48 +02:00
parent 511a9e3baf
commit 30de779fed
4 changed files with 143 additions and 62 deletions

View File

@@ -1,14 +1,30 @@
package com.drmangotea.tfmg;
import com.drmangotea.tfmg.base.TFMGLangPartials;
import com.drmangotea.tfmg.content.gadgets.explosives.thermite_grenades.fire.TFMGColoredFires;
import com.drmangotea.tfmg.registry.*;
import com.mojang.logging.LogUtils;
import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.Create;
import com.simibubi.create.foundation.advancement.AllAdvancements;
import com.simibubi.create.foundation.data.AllLangPartials;
import com.simibubi.create.foundation.data.CreateRegistrate;
import com.simibubi.create.foundation.data.LangMerger;
import com.simibubi.create.foundation.data.TagGen;
import com.simibubi.create.foundation.data.recipe.MechanicalCraftingRecipeGen;
import com.simibubi.create.foundation.data.recipe.ProcessingRecipeGen;
import com.simibubi.create.foundation.data.recipe.SequencedAssemblyRecipeGen;
import com.simibubi.create.foundation.data.recipe.StandardRecipeGen;
import com.simibubi.create.foundation.ponder.PonderLocalization;
import com.tterrag.registrate.providers.ProviderType;
import net.minecraft.client.renderer.ItemBlockRenderTypes;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.data.DataGenerator;
import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.data.event.GatherDataEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.DistExecutor;
@@ -24,6 +40,7 @@ public class CreateTFMG
{
public static final String MOD_ID = "tfmg";
public static final String NAME = "Create: The Factory Must Grow";
public static final CreateRegistrate REGISTRATE = CreateRegistrate.create(MOD_ID);
public static final Logger LOGGER = LogUtils.getLogger();
@@ -40,13 +57,17 @@ public class CreateTFMG
TFMGEntityTypes.register();
TFMGCreativeModeTabs.init();
TFMGFluids.register();
DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> CreateTFMGClient::new);
TFMGColoredFires.register(modEventBus);
modEventBus.addListener(this::clientSetup);
//
modEventBus.addListener(EventPriority.LOWEST, CreateTFMG::gatherData);
DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> CreateTFMGClient::new);
modEventBus.addListener(this::clientSetup);
MinecraftForge.EVENT_BUS.register(this);
}
public static void gatherData(GatherDataEvent event) {
DataGenerator gen = event.getGenerator();
gen.addProvider(true, new LangMerger(gen, MOD_ID, NAME, TFMGLangPartials.values()));
}
private void clientSetup(final FMLClientSetupEvent event) {
ItemBlockRenderTypes.setRenderLayer(TFMGColoredFires.GREEN_FIRE.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(TFMGColoredFires.BLUE_FIRE.get(), RenderType.cutout());

View File

@@ -0,0 +1,43 @@
package com.drmangotea.tfmg.base;
import com.drmangotea.tfmg.CreateTFMG;
import com.google.common.base.Supplier;
import com.google.gson.JsonElement;
import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.Create;
import com.simibubi.create.foundation.advancement.AllAdvancements;
import com.simibubi.create.foundation.data.LangPartial;
import com.simibubi.create.foundation.ponder.PonderLocalization;
import com.simibubi.create.foundation.utility.FilesHelper;
import com.simibubi.create.foundation.utility.Lang;
public enum TFMGLangPartials implements LangPartial {
INTERFACE("UI & Messages");
;
private final String display;
private final Supplier<JsonElement> provider;
private TFMGLangPartials(String display) {
this.display = display;
this.provider = this::fromResource;
}
public String getDisplayName() {
return display;
}
public JsonElement provide() {
return provider.get();
}
private JsonElement fromResource() {
String fileName = Lang.asId(name());
String filepath = "assets/" + CreateTFMG.MOD_ID + "/lang/default/" + fileName + ".json";
JsonElement element = FilesHelper.loadJsonResource(filepath);
return element;
}
}