diff --git a/patches/minecraft/net/minecraft/data/DataGenerator.java.patch b/patches/minecraft/net/minecraft/data/DataGenerator.java.patch index 1d0f14ba52..4be8ddca44 100644 --- a/patches/minecraft/net/minecraft/data/DataGenerator.java.patch +++ b/patches/minecraft/net/minecraft/data/DataGenerator.java.patch @@ -16,7 +16,7 @@ stopwatch1.start(); hashcache.m_253116_(hashcache.m_253234_(p_254418_, p_253750_::m_213708_).join()); stopwatch1.stop(); -@@ -56,6 +_,30 @@ +@@ -56,6 +_,34 @@ public DataGenerator.PackGenerator m_253030_(boolean p_253826_, String p_254134_) { Path path = this.f_244116_.m_247566_(PackOutput.Target.DATA_PACK).resolve("minecraft").resolve("datapacks").resolve(p_254134_); return new DataGenerator.PackGenerator(p_253826_, p_254134_, new PackOutput(path)); @@ -30,6 +30,10 @@ + return this.f_244116_; + } + ++ public PackOutput getPackOutput(String path) { ++ return new PackOutput(f_243753_.resolve(path)); ++ } ++ + public T addProvider(boolean run, DataProvider.Factory factory) { + return addProvider(run, factory.m_253034_(this.f_244116_)); + } diff --git a/src/main/java/net/minecraftforge/client/model/generators/BlockModelProvider.java b/src/main/java/net/minecraftforge/client/model/generators/BlockModelProvider.java index 65caf69a39..1ecde58854 100644 --- a/src/main/java/net/minecraftforge/client/model/generators/BlockModelProvider.java +++ b/src/main/java/net/minecraftforge/client/model/generators/BlockModelProvider.java @@ -5,7 +5,7 @@ package net.minecraftforge.client.model.generators; -import net.minecraft.data.DataGenerator; +import net.minecraft.data.PackOutput; import net.minecraftforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.NotNull; @@ -15,8 +15,8 @@ import org.jetbrains.annotations.NotNull; */ public abstract class BlockModelProvider extends ModelProvider { - public BlockModelProvider(DataGenerator generator, String modid, ExistingFileHelper existingFileHelper) { - super(generator, modid, BLOCK_FOLDER, BlockModelBuilder::new, existingFileHelper); + public BlockModelProvider(PackOutput output, String modid, ExistingFileHelper existingFileHelper) { + super(output, modid, BLOCK_FOLDER, BlockModelBuilder::new, existingFileHelper); } @NotNull diff --git a/src/main/java/net/minecraftforge/client/model/generators/BlockStateProvider.java b/src/main/java/net/minecraftforge/client/model/generators/BlockStateProvider.java index 14ff75b990..fcffaa5902 100644 --- a/src/main/java/net/minecraftforge/client/model/generators/BlockStateProvider.java +++ b/src/main/java/net/minecraftforge/client/model/generators/BlockStateProvider.java @@ -14,7 +14,7 @@ import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import java.io.IOException; + import java.nio.file.Path; import java.util.Arrays; import java.util.LinkedHashMap; @@ -25,7 +25,6 @@ import java.util.function.Function; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.data.CachedOutput; -import net.minecraft.data.DataGenerator; import net.minecraft.data.DataProvider; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; @@ -73,20 +72,20 @@ public abstract class BlockStateProvider implements DataProvider { @VisibleForTesting protected final Map registeredBlocks = new LinkedHashMap<>(); - private final DataGenerator generator; + private final PackOutput output; private final String modid; private final BlockModelProvider blockModels; private final ItemModelProvider itemModels; - public BlockStateProvider(DataGenerator gen, String modid, ExistingFileHelper exFileHelper) { - this.generator = gen; + public BlockStateProvider(PackOutput output, String modid, ExistingFileHelper exFileHelper) { + this.output = output; this.modid = modid; - this.blockModels = new BlockModelProvider(gen, modid, exFileHelper) { + this.blockModels = new BlockModelProvider(output, modid, exFileHelper) { @Override public CompletableFuture run(CachedOutput cache) { return CompletableFuture.allOf(); } @Override protected void registerModels() {} }; - this.itemModels = new ItemModelProvider(gen, modid, this.blockModels.existingFileHelper) { + this.itemModels = new ItemModelProvider(output, modid, this.blockModels.existingFileHelper) { @Override protected void registerModels() {} @Override public CompletableFuture run(CachedOutput cache) { return CompletableFuture.allOf(); } @@ -862,7 +861,7 @@ public abstract class BlockStateProvider implements DataProvider { private CompletableFuture saveBlockState(CachedOutput cache, JsonObject stateJson, Block owner) { ResourceLocation blockName = Preconditions.checkNotNull(key(owner)); - Path outputPath = this.generator.getPackOutput().getOutputFolder(PackOutput.Target.RESOURCE_PACK) + Path outputPath = this.output.getOutputFolder(PackOutput.Target.RESOURCE_PACK) .resolve(blockName.getNamespace()).resolve("blockstates").resolve(blockName.getPath() + ".json"); return DataProvider.saveStable(cache, stateJson, outputPath); } diff --git a/src/main/java/net/minecraftforge/client/model/generators/ItemModelProvider.java b/src/main/java/net/minecraftforge/client/model/generators/ItemModelProvider.java index 0787fb8332..6f5e9d45f1 100644 --- a/src/main/java/net/minecraftforge/client/model/generators/ItemModelProvider.java +++ b/src/main/java/net/minecraftforge/client/model/generators/ItemModelProvider.java @@ -5,7 +5,7 @@ package net.minecraftforge.client.model.generators; -import net.minecraft.data.DataGenerator; +import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraftforge.common.data.ExistingFileHelper; @@ -20,8 +20,8 @@ import java.util.Objects; */ public abstract class ItemModelProvider extends ModelProvider { - public ItemModelProvider(DataGenerator generator, String modid, ExistingFileHelper existingFileHelper) { - super(generator, modid, ITEM_FOLDER, ItemModelBuilder::new, existingFileHelper); + public ItemModelProvider(PackOutput output, String modid, ExistingFileHelper existingFileHelper) { + super(output, modid, ITEM_FOLDER, ItemModelBuilder::new, existingFileHelper); } public ItemModelBuilder basicItem(Item item) diff --git a/src/main/java/net/minecraftforge/client/model/generators/ModelProvider.java b/src/main/java/net/minecraftforge/client/model/generators/ModelProvider.java index fdafad5eb6..d08c9bd6a3 100644 --- a/src/main/java/net/minecraftforge/client/model/generators/ModelProvider.java +++ b/src/main/java/net/minecraftforge/client/model/generators/ModelProvider.java @@ -16,7 +16,6 @@ import java.util.concurrent.CompletableFuture; import java.util.function.BiFunction; import java.util.function.Function; import net.minecraft.data.CachedOutput; -import net.minecraft.data.DataGenerator; import net.minecraft.data.DataProvider; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; @@ -34,7 +33,7 @@ public abstract class ModelProvider> implements DataPr protected static final ResourceType MODEL_WITH_EXTENSION = new ResourceType(PackType.CLIENT_RESOURCES, "", "models"); private static final Gson GSON = (new GsonBuilder()).setPrettyPrinting().create(); - protected final DataGenerator generator; + protected final PackOutput output; protected final String modid; protected final String folder; protected final Function factory; @@ -45,9 +44,9 @@ public abstract class ModelProvider> implements DataPr protected abstract void registerModels(); - public ModelProvider(DataGenerator generator, String modid, String folder, Function factory, ExistingFileHelper existingFileHelper) { - Preconditions.checkNotNull(generator); - this.generator = generator; + public ModelProvider(PackOutput output, String modid, String folder, Function factory, ExistingFileHelper existingFileHelper) { + Preconditions.checkNotNull(output); + this.output = output; Preconditions.checkNotNull(modid); this.modid = modid; Preconditions.checkNotNull(folder); @@ -58,8 +57,8 @@ public abstract class ModelProvider> implements DataPr this.existingFileHelper = existingFileHelper; } - public ModelProvider(DataGenerator generator, String modid, String folder, BiFunction builderFromModId, ExistingFileHelper existingFileHelper) { - this(generator, modid, folder, loc->builderFromModId.apply(loc, existingFileHelper), existingFileHelper); + public ModelProvider(PackOutput output, String modid, String folder, BiFunction builderFromModId, ExistingFileHelper existingFileHelper) { + this(output, modid, folder, loc->builderFromModId.apply(loc, existingFileHelper), existingFileHelper); } public T getBuilder(String path) { @@ -408,6 +407,6 @@ public abstract class ModelProvider> implements DataPr protected Path getPath(T model) { ResourceLocation loc = model.getLocation(); - return this.generator.getPackOutput().getOutputFolder(PackOutput.Target.RESOURCE_PACK).resolve(loc.getNamespace()).resolve("models").resolve(loc.getPath() + ".json"); + return this.output.getOutputFolder(PackOutput.Target.RESOURCE_PACK).resolve(loc.getNamespace()).resolve("models").resolve(loc.getPath() + ".json"); } } \ No newline at end of file diff --git a/src/main/java/net/minecraftforge/common/data/GlobalLootModifierProvider.java b/src/main/java/net/minecraftforge/common/data/GlobalLootModifierProvider.java index e9a6f6370a..bc63f6115c 100644 --- a/src/main/java/net/minecraftforge/common/data/GlobalLootModifierProvider.java +++ b/src/main/java/net/minecraftforge/common/data/GlobalLootModifierProvider.java @@ -13,14 +13,12 @@ import com.google.gson.JsonObject; import com.mojang.serialization.JsonOps; import cpw.mods.modlauncher.api.LamdbaExceptionUtils; import net.minecraft.data.CachedOutput; -import net.minecraft.data.DataGenerator; import net.minecraft.data.DataProvider; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; import net.minecraftforge.common.loot.IGlobalLootModifier; import net.minecraftforge.common.loot.LootModifier; -import java.io.IOException; import java.nio.file.Path; import java.util.ArrayList; import java.util.HashMap; @@ -37,14 +35,14 @@ import java.util.stream.Collectors; public abstract class GlobalLootModifierProvider implements DataProvider { private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create(); - private final DataGenerator gen; + private final PackOutput output; private final String modid; private final Map toSerialize = new HashMap<>(); private boolean replace = false; - public GlobalLootModifierProvider(DataGenerator gen, String modid) + public GlobalLootModifierProvider(PackOutput output, String modid) { - this.gen = gen; + this.output = output; this.modid = modid; } @@ -66,8 +64,8 @@ public abstract class GlobalLootModifierProvider implements DataProvider { start(); - Path forgePath = this.gen.getPackOutput().getOutputFolder(PackOutput.Target.DATA_PACK).resolve("forge").resolve("loot_modifiers").resolve("global_loot_modifiers.json"); - Path modifierFolderPath = this.gen.getPackOutput().getOutputFolder(PackOutput.Target.DATA_PACK).resolve(this.modid).resolve("loot_modifiers"); + Path forgePath = this.output.getOutputFolder(PackOutput.Target.DATA_PACK).resolve("forge").resolve("loot_modifiers").resolve("global_loot_modifiers.json"); + Path modifierFolderPath = this.output.getOutputFolder(PackOutput.Target.DATA_PACK).resolve(this.modid).resolve("loot_modifiers"); List entries = new ArrayList<>(); ImmutableList.Builder> futuresBuilder = new ImmutableList.Builder<>(); diff --git a/src/main/java/net/minecraftforge/common/data/JsonCodecProvider.java b/src/main/java/net/minecraftforge/common/data/JsonCodecProvider.java index 463ef2b92b..83a47cf2f4 100644 --- a/src/main/java/net/minecraftforge/common/data/JsonCodecProvider.java +++ b/src/main/java/net/minecraftforge/common/data/JsonCodecProvider.java @@ -32,7 +32,6 @@ import net.minecraft.server.packs.PackType; import net.minecraftforge.common.crafting.CraftingHelper; import net.minecraftforge.common.crafting.conditions.ICondition; import net.minecraftforge.common.data.ExistingFileHelper.ResourceType; -import net.minecraftforge.data.event.GatherDataEvent; import net.minecraftforge.registries.DataPackRegistriesHooks; import org.slf4j.Logger; @@ -48,7 +47,7 @@ import org.slf4j.Logger; public class JsonCodecProvider implements DataProvider { private static final Logger LOGGER = LogUtils.getLogger(); - protected final DataGenerator dataGenerator; + protected final PackOutput output; protected final ExistingFileHelper existingFileHelper; protected final String modid; protected final DynamicOps dynamicOps; @@ -59,14 +58,14 @@ public class JsonCodecProvider implements DataProvider protected Map conditions = Collections.emptyMap(); /** - * @param dataGenerator DataGenerator provided by {@link GatherDataEvent}. + * @param output {@linkplain PackOutput} provided by the {@link DataGenerator}. * @param dynamicOps DynamicOps to encode values to jsons with using the provided Codec, e.g. {@link JsonOps#INSTANCE}. * @param packType PackType specifying whether to generate entries in assets or data. * @param directory String representing the directory to generate jsons in, e.g. "dimension" or "cheesemod/cheese". * @param codec Codec to encode values to jsons with using the provided DynamicOps. * @param entries Map of named entries to serialize to jsons. Paths for values are derived from the ResourceLocation's entryid:entrypath as specified above. */ - public JsonCodecProvider(DataGenerator dataGenerator, ExistingFileHelper existingFileHelper, String modid, DynamicOps dynamicOps, PackType packType, + public JsonCodecProvider(PackOutput output, ExistingFileHelper existingFileHelper, String modid, DynamicOps dynamicOps, PackType packType, String directory, Codec codec, Map entries) { // Track generated data so other dataproviders can validate if needed. @@ -75,7 +74,7 @@ public class JsonCodecProvider implements DataProvider { existingFileHelper.trackGenerated(id, resourceType); } - this.dataGenerator = dataGenerator; + this.output = output; this.existingFileHelper = existingFileHelper; this.modid = modid; this.dynamicOps = dynamicOps; @@ -92,14 +91,14 @@ public class JsonCodecProvider implements DataProvider * be generated this way. * * @param Registry element type, e.g. Biome - * @param dataGenerator DataGenerator provided by {@link GatherDataEvent}. + * @param output {@linkplain PackOutput} provided by the {@link DataGenerator}. * @param modid namespace of the mod adding this DataProvider, for logging purposes. * @param registryOps RegistryOps to encode values to json with. * @param registryKey ResourceKey identifying the registry and its directory. * @param entries Map of entries to encode and their ResourceLocations. Paths for values are derived from the ResourceLocation's entryid:entrypath. */ @SuppressWarnings("unchecked") - public static JsonCodecProvider forDatapackRegistry(DataGenerator dataGenerator, ExistingFileHelper existingFileHelper, String modid, + public static JsonCodecProvider forDatapackRegistry(PackOutput output, ExistingFileHelper existingFileHelper, String modid, RegistryOps registryOps, ResourceKey> registryKey, Map entries) { final ResourceLocation registryId = registryKey.location(); @@ -110,13 +109,13 @@ public class JsonCodecProvider implements DataProvider : registryId.getNamespace() + "/" + registryId.getPath(); RegistryDataLoader.RegistryData registryData = DataPackRegistriesHooks.getDataPackRegistries().stream().filter(data -> data.key() == registryKey).findAny().orElseThrow(); final Codec codec = (Codec) registryData.elementCodec(); - return new JsonCodecProvider<>(dataGenerator, existingFileHelper, modid, registryOps, PackType.SERVER_DATA, registryFolder, codec, entries); + return new JsonCodecProvider<>(output, existingFileHelper, modid, registryOps, PackType.SERVER_DATA, registryFolder, codec, entries); } @Override public CompletableFuture run(final CachedOutput cache) { - final Path outputFolder = this.dataGenerator.getPackOutput().getOutputFolder(this.packType == PackType.CLIENT_RESOURCES + final Path outputFolder = this.output.getOutputFolder(this.packType == PackType.CLIENT_RESOURCES ? PackOutput.Target.RESOURCE_PACK : PackOutput.Target.DATA_PACK); ImmutableList.Builder> futuresBuilder = new ImmutableList.Builder<>(); diff --git a/src/main/java/net/minecraftforge/common/data/LanguageProvider.java b/src/main/java/net/minecraftforge/common/data/LanguageProvider.java index c298a09cb3..652d3a0836 100644 --- a/src/main/java/net/minecraftforge/common/data/LanguageProvider.java +++ b/src/main/java/net/minecraftforge/common/data/LanguageProvider.java @@ -12,7 +12,6 @@ import java.util.TreeMap; import java.util.concurrent.CompletableFuture; import java.util.function.Supplier; import net.minecraft.data.CachedOutput; -import net.minecraft.data.DataGenerator; import net.minecraft.data.DataProvider; import net.minecraft.data.PackOutput; import net.minecraft.world.effect.MobEffect; @@ -24,12 +23,12 @@ import net.minecraft.world.level.block.Block; public abstract class LanguageProvider implements DataProvider { private final Map data = new TreeMap<>(); - private final DataGenerator gen; + private final PackOutput output; private final String modid; private final String locale; - public LanguageProvider(DataGenerator gen, String modid, String locale) { - this.gen = gen; + public LanguageProvider(PackOutput output, String modid, String locale) { + this.output = output; this.modid = modid; this.locale = locale; } @@ -41,7 +40,7 @@ public abstract class LanguageProvider implements DataProvider { addTranslations(); if (!data.isEmpty()) - return save(cache, this.gen.getPackOutput().getOutputFolder(PackOutput.Target.RESOURCE_PACK).resolve(this.modid).resolve("lang").resolve(this.locale + ".json")); + return save(cache, this.output.getOutputFolder(PackOutput.Target.RESOURCE_PACK).resolve(this.modid).resolve("lang").resolve(this.locale + ".json")); return CompletableFuture.allOf(); } diff --git a/src/main/java/net/minecraftforge/common/data/SoundDefinitionsProvider.java b/src/main/java/net/minecraftforge/common/data/SoundDefinitionsProvider.java index 5709806d08..39386e5f07 100644 --- a/src/main/java/net/minecraftforge/common/data/SoundDefinitionsProvider.java +++ b/src/main/java/net/minecraftforge/common/data/SoundDefinitionsProvider.java @@ -13,7 +13,6 @@ import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.function.Supplier; import net.minecraft.data.CachedOutput; -import net.minecraft.data.DataGenerator; import net.minecraft.data.DataProvider; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; @@ -30,7 +29,7 @@ import org.apache.logging.log4j.Logger; public abstract class SoundDefinitionsProvider implements DataProvider { private static final Logger LOGGER = LogManager.getLogger(); - private final DataGenerator generator; + private final PackOutput output; private final String modId; private final ExistingFileHelper helper; @@ -39,13 +38,13 @@ public abstract class SoundDefinitionsProvider implements DataProvider /** * Creates a new instance of this data provider. * - * @param generator The data generator instance provided by the event you are initializing this provider in. + * @param output The {@linkplain PackOutput} instance provided by the data generator. * @param modId The mod ID of the current mod. * @param helper The existing file helper provided by the event you are initializing this provider in. */ - protected SoundDefinitionsProvider(final DataGenerator generator, final String modId, final ExistingFileHelper helper) + protected SoundDefinitionsProvider(final PackOutput output, final String modId, final ExistingFileHelper helper) { - this.generator = generator; + this.output = output; this.modId = modId; this.helper = helper; } @@ -63,7 +62,7 @@ public abstract class SoundDefinitionsProvider implements DataProvider this.validate(); if (!this.sounds.isEmpty()) { - return this.save(cache, this.generator.getPackOutput().getOutputFolder(PackOutput.Target.RESOURCE_PACK).resolve(this.modId).resolve("sounds.json")); + return this.save(cache, this.output.getOutputFolder(PackOutput.Target.RESOURCE_PACK).resolve(this.modId).resolve("sounds.json")); } return CompletableFuture.allOf(); diff --git a/src/test/java/net/minecraftforge/debug/DataGeneratorTest.java b/src/test/java/net/minecraftforge/debug/DataGeneratorTest.java index 8c72f4cc3c..77ce054e18 100644 --- a/src/test/java/net/minecraftforge/debug/DataGeneratorTest.java +++ b/src/test/java/net/minecraftforge/debug/DataGeneratorTest.java @@ -136,12 +136,12 @@ public class DataGeneratorTest PackOutput packOutput = gen.getPackOutput(); CompletableFuture lookupProvider = event.getLookupProvider(); - gen.addProvider(event.includeClient(), new Lang(gen)); + gen.addProvider(event.includeClient(), new Lang(packOutput)); // Let blockstate provider see generated item models by passing its existing file helper - ItemModelProvider itemModels = new ItemModels(gen, event.getExistingFileHelper()); + ItemModelProvider itemModels = new ItemModels(packOutput, event.getExistingFileHelper()); gen.addProvider(event.includeClient(), itemModels); gen.addProvider(event.includeClient(), new BlockStates(gen, itemModels.existingFileHelper)); - gen.addProvider(event.includeClient(), new SoundDefinitions(gen, event.getExistingFileHelper())); + gen.addProvider(event.includeClient(), new SoundDefinitions(packOutput, event.getExistingFileHelper())); gen.addProvider(event.includeServer(), new Recipes(packOutput)); gen.addProvider(event.includeServer(), new Tags(packOutput, lookupProvider, event.getExistingFileHelper())); @@ -334,9 +334,9 @@ public class DataGeneratorTest private static final Logger LOGGER = LogManager.getLogger(); private final ExistingFileHelper helper; - public SoundDefinitions(final DataGenerator generator, final ExistingFileHelper helper) + public SoundDefinitions(final PackOutput output, final ExistingFileHelper helper) { - super(generator, MODID, helper); + super(output, MODID, helper); this.helper = helper; } @@ -589,7 +589,7 @@ public class DataGeneratorTest public static class Lang extends LanguageProvider { - public Lang(DataGenerator gen) + public Lang(PackOutput gen) { super(gen, MODID, "en_us"); } @@ -611,7 +611,7 @@ public class DataGeneratorTest { private static final Logger LOGGER = LogManager.getLogger(); - public ItemModels(DataGenerator generator, ExistingFileHelper existingFileHelper) + public ItemModels(PackOutput generator, ExistingFileHelper existingFileHelper) { super(generator, MODID, existingFileHelper); } diff --git a/src/test/java/net/minecraftforge/debug/client/model/CustomTransformTypeTest.java b/src/test/java/net/minecraftforge/debug/client/model/CustomTransformTypeTest.java index 61e1908cb5..9599dfbe76 100644 --- a/src/test/java/net/minecraftforge/debug/client/model/CustomTransformTypeTest.java +++ b/src/test/java/net/minecraftforge/debug/client/model/CustomTransformTypeTest.java @@ -15,6 +15,7 @@ import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.data.DataGenerator; +import net.minecraft.data.PackOutput; import net.minecraft.data.models.model.ModelLocationUtils; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.Connection; @@ -139,17 +140,18 @@ public class CustomTransformTypeTest public void gatherData(GatherDataEvent event) { DataGenerator gen = event.getGenerator(); + final PackOutput output = gen.getPackOutput(); - gen.addProvider(event.includeClient(), new ItemModels(gen, event.getExistingFileHelper())); - gen.addProvider(event.includeClient(), new BlockStateModels(gen, event.getExistingFileHelper())); + gen.addProvider(event.includeClient(), new ItemModels(output, event.getExistingFileHelper())); + gen.addProvider(event.includeClient(), new BlockStateModels(output, event.getExistingFileHelper())); } public static class BlockStateModels extends BlockStateProvider { - public BlockStateModels(DataGenerator gen, ExistingFileHelper exFileHelper) + public BlockStateModels(PackOutput output, ExistingFileHelper exFileHelper) { - super(gen, MODID, exFileHelper); + super(output, MODID, exFileHelper); } @Override @@ -164,9 +166,9 @@ public class CustomTransformTypeTest public static class ItemModels extends ItemModelProvider { - public ItemModels(DataGenerator generator, ExistingFileHelper existingFileHelper) + public ItemModels(PackOutput output, ExistingFileHelper existingFileHelper) { - super(generator, MODID, existingFileHelper); + super(output, MODID, existingFileHelper); } @Override diff --git a/src/test/java/net/minecraftforge/debug/client/model/NewModelLoaderTest.java b/src/test/java/net/minecraftforge/debug/client/model/NewModelLoaderTest.java index 903a3061c4..b86f032ca7 100644 --- a/src/test/java/net/minecraftforge/debug/client/model/NewModelLoaderTest.java +++ b/src/test/java/net/minecraftforge/debug/client/model/NewModelLoaderTest.java @@ -8,6 +8,7 @@ package net.minecraftforge.debug.client.model; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonObject; import net.minecraft.client.resources.model.ModelBaker; +import net.minecraft.data.PackOutput; import net.minecraft.world.item.*; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; @@ -181,18 +182,19 @@ public class NewModelLoaderTest private void datagen(GatherDataEvent event) { DataGenerator gen = event.getGenerator(); + final PackOutput output = gen.getPackOutput(); // Let blockstate provider see generated item models by passing its existing file helper - ItemModelProvider itemModels = new ItemModels(gen, event.getExistingFileHelper()); + ItemModelProvider itemModels = new ItemModels(output, event.getExistingFileHelper()); gen.addProvider(event.includeClient(), itemModels); - gen.addProvider(event.includeClient(), new BlockStates(gen, itemModels.existingFileHelper)); + gen.addProvider(event.includeClient(), new BlockStates(output, itemModels.existingFileHelper)); } public static class ItemModels extends ItemModelProvider { - public ItemModels(DataGenerator generator, ExistingFileHelper existingFileHelper) + public ItemModels(PackOutput output, ExistingFileHelper existingFileHelper) { - super(generator, MODID, existingFileHelper); + super(output, MODID, existingFileHelper); } @Override @@ -215,9 +217,9 @@ public class NewModelLoaderTest public static class BlockStates extends BlockStateProvider { - public BlockStates(DataGenerator gen, ExistingFileHelper exFileHelper) + public BlockStates(PackOutput output, ExistingFileHelper exFileHelper) { - super(gen, MODID, exFileHelper); + super(output, MODID, exFileHelper); } @Override diff --git a/src/test/java/net/minecraftforge/debug/item/TagBasedToolTypesTest.java b/src/test/java/net/minecraftforge/debug/item/TagBasedToolTypesTest.java index 92b005ec63..8039de3cbc 100644 --- a/src/test/java/net/minecraftforge/debug/item/TagBasedToolTypesTest.java +++ b/src/test/java/net/minecraftforge/debug/item/TagBasedToolTypesTest.java @@ -7,6 +7,7 @@ package net.minecraftforge.debug.item; import net.minecraft.core.HolderLookup; import net.minecraft.data.DataGenerator; +import net.minecraft.data.PackOutput; import net.minecraft.data.loot.BlockLootSubProvider; import net.minecraft.data.loot.LootTableProvider; import net.minecraft.resources.ResourceLocation; @@ -112,8 +113,9 @@ public class TagBasedToolTypesTest { DataGenerator gen = event.getGenerator(); ExistingFileHelper existing = event.getExistingFileHelper(); + final PackOutput output = gen.getPackOutput(); - gen.addProvider(event.includeServer(), new BlockTagsProvider(gen.getPackOutput(), event.getLookupProvider(), MODID, existing) + gen.addProvider(event.includeServer(), new BlockTagsProvider(output, event.getLookupProvider(), MODID, existing) { @Override protected void addTags(HolderLookup.Provider registry) { @@ -143,7 +145,7 @@ public class TagBasedToolTypesTest gen.addProvider(event.includeServer(), new LootTableProvider(event.getGenerator().getPackOutput(), Set.of(), List.of(new LootTableProvider.SubProviderEntry(TestBlockLootProvider::new, LootContextParamSets.BLOCK)))); - gen.addProvider(event.includeClient(), new BlockStateProvider(gen, MODID, existing) + gen.addProvider(event.includeClient(), new BlockStateProvider(output, MODID, existing) { @Override protected void registerStatesAndModels() @@ -151,7 +153,7 @@ public class TagBasedToolTypesTest simpleBlockWithItem(STONE.get(), models().cubeAll(STONE.getId().getPath(), mcLoc("block/debug"))); } }); - gen.addProvider(event.includeClient(), new ItemModelProvider(gen, MODID, existing) + gen.addProvider(event.includeClient(), new ItemModelProvider(output, MODID, existing) { @Override protected void registerModels()