lang merger
This commit is contained in:
@@ -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());
|
||||
|
||||
43
src/main/java/com/drmangotea/tfmg/base/TFMGLangPartials.java
Normal file
43
src/main/java/com/drmangotea/tfmg/base/TFMGLangPartials.java
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user