Skip to content

Instantly share code, notes, and snippets.

@Ridanisaurus
Created November 9, 2022 11:54
Show Gist options
  • Save Ridanisaurus/55283a15fb5dd6c515099a4be5d1137d to your computer and use it in GitHub Desktop.
Save Ridanisaurus/55283a15fb5dd6c515099a4be5d1137d to your computer and use it in GitHub Desktop.
@OnlyIn(Dist.CLIENT)
private static void registerClientDataGen() {
generator = DataGeneratorFactory.createEEDataGenerator();
ExistingFileHelper existingFileHelper = new ExistingFileHelper(ImmutableList.of(), ImmutableSet.of(), false, null, null);
generator.addProvider(isClient(), new BlockStatesAndModelsGen(generator, existingFileHelper));
generator.addProvider(isClient(), new ItemModelsGen(generator, existingFileHelper));
generator.addProvider(isClient(), new LangGen(generator));
if (CREATE_LOADED) generator.addProvider(isClient(), new CreateDataGen.CreateItemModels(generator, existingFileHelper));
if (BLOODMAGIC_LOADED) generator.addProvider(isClient(), new BloodMagicDataGen.BloodMagicItemModels(generator, existingFileHelper));
if (MEKANISM_LOADED) generator.addProvider(isClient(), new MekanismDataGen.MekanismItemModels(generator, existingFileHelper));
}
private static void registerServerDataGen() {
generator = DataGeneratorFactory.createEEDataGenerator();
ExistingFileHelper existingFileHelper = new ExistingFileHelper(ImmutableList.of(), ImmutableSet.of(), false, null, null);
BlockTagsGen blockTagsGeneration = new BlockTagsGen(generator, existingFileHelper);
generator.addProvider(isServer(), new ItemTagsGen(generator, blockTagsGeneration, existingFileHelper));
generator.addProvider(isServer(), blockTagsGeneration);
generator.addProvider(isServer(), new BlockHarvestTagsGen.BlockHarvestLevelTagsGen(generator, existingFileHelper));
generator.addProvider(isServer(), new BlockHarvestTagsGen.BlockHarvestToolTagsGen(generator, existingFileHelper));
generator.addProvider(isServer(), new FluidTagsGen(generator, existingFileHelper));
generator.addProvider(isServer(), new RecipesGen(generator));
generator.addProvider(isServer(), new LootTablesGen(generator));
generator.addProvider(isServer(), new OreFeatureDataGen(generator));
if (CREATE_LOADED) {
generator.addProvider(isServer(), new CreateDataGen.CreateItemTags(generator, blockTagsGeneration, existingFileHelper));
generator.addProvider(isServer(), new CreateDataGen.CreateRecipes(generator));
}
if (BLOODMAGIC_LOADED) {
generator.addProvider(isServer(), new BloodMagicDataGen.BloodMagicItemTags(generator, blockTagsGeneration, existingFileHelper));
generator.addProvider(isServer(), new BloodMagicDataGen.BloodMagicRecipes(generator));
}
if (ARSNOUVEAU_LOADED) generator.addProvider(isServer(), new ArsNouveauDataGen.ArsNouveauRecipes(generator));
if (OCCULTISM_LOADED) generator.addProvider(isServer(), new OccultismDataGen.OccultismRecipes(generator));
if (THERMALSERIES_LOADED) generator.addProvider(isServer(), new ThermalDataGen.ThermalRecipes(generator));
if (MEKANISM_LOADED) {
generator.addProvider(isServer(), new MekanismDataGen.MekanismItemTags(generator, blockTagsGeneration, existingFileHelper));
generator.addProvider(isServer(), new MekanismDataGen.MekanismSlurryTags(generator, existingFileHelper));
generator.addProvider(isServer(), new MekanismDataGen.MekanismRecipes(generator));
}
}
private static void registerDataGen() {
if (isClient()) {
registerClientDataGen();
} else {
registerServerDataGen();
}
}
private static boolean isServer() {
return FMLEnvironment.dist == Dist.DEDICATED_SERVER;
}
private static boolean isClient() {
return FMLEnvironment.dist == Dist.CLIENT;
}
public static void generate() {
if (!hasGenerated) {
try {
if(generator == null)
registerDataGen();
generator.run();
} catch (IOException e) {
e.printStackTrace();
}
hasGenerated = true;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment