Skip to content

Commit

Permalink
Moved some datagen methods
Browse files Browse the repository at this point in the history
  • Loading branch information
Edivad99 committed Aug 29, 2023
1 parent a072e60 commit b245d07
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 32 deletions.
36 changes: 5 additions & 31 deletions src/main/java/mods/railcraft/Railcraft.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package mods.railcraft;

import java.util.Set;
import mods.railcraft.advancements.RailcraftCriteriaTriggers;
import mods.railcraft.api.carts.CartUtil;
import mods.railcraft.api.carts.RollingStock;
Expand All @@ -11,6 +10,7 @@
import mods.railcraft.client.ClientManager;
import mods.railcraft.data.RailcraftBlockTagsProvider;
import mods.railcraft.data.RailcraftDamageTypeTagsProvider;
import mods.railcraft.data.RailcraftDatapackProvider;
import mods.railcraft.data.RailcraftFluidTagsProvider;
import mods.railcraft.data.RailcraftItemTagsProvider;
import mods.railcraft.data.RailcraftLanguageProvider;
Expand All @@ -24,11 +24,6 @@
import mods.railcraft.data.models.RailcraftItemModelProvider;
import mods.railcraft.data.recipes.RailcraftRecipeProvider;
import mods.railcraft.data.recipes.builders.BrewingRecipe;
import mods.railcraft.data.worldgen.RailcraftBiomeModifiers;
import mods.railcraft.data.worldgen.RailcraftStructureSets;
import mods.railcraft.data.worldgen.RailcraftStructures;
import mods.railcraft.data.worldgen.features.RailcraftOreFeatures;
import mods.railcraft.data.worldgen.placements.RailcraftOrePlacements;
import mods.railcraft.fuel.FuelManagerImpl;
import mods.railcraft.loot.RailcraftLootModifiers;
import mods.railcraft.network.NetworkChannel;
Expand All @@ -39,7 +34,6 @@
import mods.railcraft.util.EntitySearcher;
import mods.railcraft.util.capability.CapabilityUtil;
import mods.railcraft.world.damagesource.RailcraftDamageSources;
import mods.railcraft.world.damagesource.RailcraftDamageType;
import mods.railcraft.world.effect.RailcraftMobEffects;
import mods.railcraft.world.entity.RailcraftEntityTypes;
import mods.railcraft.world.entity.ai.village.poi.RailcraftPoiTypes;
Expand All @@ -66,11 +60,6 @@
import mods.railcraft.world.level.material.RailcraftFluidTypes;
import mods.railcraft.world.level.material.RailcraftFluids;
import mods.railcraft.world.signal.TokenRingManager;
import net.minecraft.core.RegistryAccess;
import net.minecraft.core.RegistrySetBuilder;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.DataProvider;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
Expand All @@ -86,7 +75,6 @@
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.brewing.BrewingRecipeRegistry;
import net.minecraftforge.common.capabilities.RegisterCapabilitiesEvent;
import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider;
import net.minecraftforge.data.event.GatherDataEvent;
import net.minecraftforge.event.AttachCapabilitiesEvent;
import net.minecraftforge.event.BuildCreativeModeTabContentsEvent;
Expand All @@ -105,7 +93,6 @@
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.loading.FMLEnvironment;
import net.minecraftforge.network.NetworkDirection;
import net.minecraftforge.registries.ForgeRegistries;

@Mod(Railcraft.ID)
public class Railcraft {
Expand Down Expand Up @@ -212,6 +199,10 @@ private void handleGatherData(GatherDataEvent event) {
generator.addProvider(event.includeServer(),
new RailcraftPoiTypeTagsProvider(packOutput, lookupProvider, fileHelper));
generator.addProvider(event.includeServer(), new RailcraftLootModifierProvider(packOutput));
generator.addProvider(event.includeServer(),
new RailcraftDamageTypeTagsProvider(packOutput, lookupProvider, fileHelper));
generator.addProvider(event.includeServer(),
new RailcraftDatapackProvider(packOutput, lookupProvider));
generator.addProvider(event.includeClient(),
new RailcraftItemModelProvider(packOutput, fileHelper));
generator.addProvider(event.includeClient(),
Expand All @@ -221,23 +212,6 @@ private void handleGatherData(GatherDataEvent event) {
new RailcraftSoundsProvider(packOutput, fileHelper));
generator.addProvider(event.includeClient(),
new RailcraftSpriteSourceProvider(packOutput, fileHelper));

var builder = new RegistrySetBuilder()
.add(Registries.CONFIGURED_FEATURE, RailcraftOreFeatures::bootstrap)
.add(Registries.PLACED_FEATURE, RailcraftOrePlacements::bootstrap)
.add(ForgeRegistries.Keys.BIOME_MODIFIERS, RailcraftBiomeModifiers::bootstrap)
.add(Registries.DAMAGE_TYPE, RailcraftDamageType::bootstrap)
.add(Registries.STRUCTURE, RailcraftStructures::bootstrap)
.add(Registries.STRUCTURE_SET, RailcraftStructureSets::bootstrap);

generator.addProvider(event.includeServer(),
(DataProvider.Factory<DatapackBuiltinEntriesProvider>) output ->
new DatapackBuiltinEntriesProvider(output, lookupProvider, builder, Set.of(ID)));

generator.addProvider(event.includeServer(),
new RailcraftDamageTypeTagsProvider(packOutput, lookupProvider.thenApply(provider ->
builder.buildPatch(RegistryAccess
.fromRegistryOfRegistries(BuiltInRegistries.REGISTRY), provider)), fileHelper));
}

// ================================================================================
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
import mods.railcraft.Railcraft;
import mods.railcraft.world.damagesource.RailcraftDamageType;
import net.minecraft.core.HolderLookup;
import net.minecraft.core.RegistryAccess;
import net.minecraft.core.RegistrySetBuilder;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.PackOutput;
import net.minecraft.data.tags.TagsProvider;
Expand All @@ -13,10 +16,16 @@

public class RailcraftDamageTypeTagsProvider extends TagsProvider<DamageType> {

private static final RegistrySetBuilder BUILDER = new RegistrySetBuilder()
.add(Registries.DAMAGE_TYPE, RailcraftDamageType::bootstrap);

public RailcraftDamageTypeTagsProvider(PackOutput packOutput,
CompletableFuture<HolderLookup.Provider> lookupProvider,
ExistingFileHelper existingFileHelper) {
super(packOutput, Registries.DAMAGE_TYPE, lookupProvider, Railcraft.ID, existingFileHelper);
super(packOutput, Registries.DAMAGE_TYPE, lookupProvider.thenApply(provider ->
BUILDER.buildPatch(RegistryAccess
.fromRegistryOfRegistries(BuiltInRegistries.REGISTRY), provider)),
Railcraft.ID, existingFileHelper);
}

@Override
Expand Down
34 changes: 34 additions & 0 deletions src/main/java/mods/railcraft/data/RailcraftDatapackProvider.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package mods.railcraft.data;

import java.util.Set;
import java.util.concurrent.CompletableFuture;
import mods.railcraft.Railcraft;
import mods.railcraft.data.worldgen.RailcraftBiomeModifiers;
import mods.railcraft.data.worldgen.RailcraftStructureSets;
import mods.railcraft.data.worldgen.RailcraftStructures;
import mods.railcraft.data.worldgen.features.RailcraftOreFeatures;
import mods.railcraft.data.worldgen.placements.RailcraftOrePlacements;
import mods.railcraft.world.damagesource.RailcraftDamageType;
import net.minecraft.core.HolderLookup;
import net.minecraft.core.RegistrySetBuilder;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.PackOutput;
import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider;
import net.minecraftforge.registries.ForgeRegistries;

public class RailcraftDatapackProvider extends DatapackBuiltinEntriesProvider {

private static final RegistrySetBuilder BUILDER = new RegistrySetBuilder()
.add(Registries.CONFIGURED_FEATURE, RailcraftOreFeatures::bootstrap)
.add(Registries.PLACED_FEATURE, RailcraftOrePlacements::bootstrap)
.add(ForgeRegistries.Keys.BIOME_MODIFIERS, RailcraftBiomeModifiers::bootstrap)
.add(Registries.DAMAGE_TYPE, RailcraftDamageType::bootstrap)
.add(Registries.STRUCTURE, RailcraftStructures::bootstrap)
.add(Registries.STRUCTURE_SET, RailcraftStructureSets::bootstrap);

public RailcraftDatapackProvider(PackOutput output,
CompletableFuture<HolderLookup.Provider> lookupProvider) {
super(output, lookupProvider, BUILDER, Set.of(Railcraft.ID));
}

}

0 comments on commit b245d07

Please sign in to comment.