mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-12 00:07:45 +00:00
Allow using PackOutputs in Forge-added datagen classes (#9182)
This commit is contained in:
1 parent
e541201129
commit
2ea16d89ca
13 files changed
+75
-72
No files matched your search
@@ -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 extends DataProvider> T addProvider(boolean run, DataProvider.Factory<T> factory) {
|
||||
+ return addProvider(run, factory.m_253034_(this.f_244116_));
|
||||
+ }
|
||||
|
||||
@@ -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<BlockModelBuilder> {
|
||||
|
||||
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
|
||||
|
||||
@@ -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<Block, IGeneratedBlockState> 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);
|
||||
}
|
||||
|
||||
@@ -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<ItemModelBuilder> {
|
||||
|
||||
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)
|
||||
|
||||
@@ -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<T extends ModelBuilder<T>> 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<ResourceLocation, T> factory;
|
||||
@@ -45,9 +44,9 @@ public abstract class ModelProvider<T extends ModelBuilder<T>> implements DataPr
|
||||
|
||||
protected abstract void registerModels();
|
||||
|
||||
public ModelProvider(DataGenerator generator, String modid, String folder, Function<ResourceLocation, T> factory, ExistingFileHelper existingFileHelper) {
|
||||
Preconditions.checkNotNull(generator);
|
||||
this.generator = generator;
|
||||
public ModelProvider(PackOutput output, String modid, String folder, Function<ResourceLocation, T> 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<T extends ModelBuilder<T>> implements DataPr
|
||||
this.existingFileHelper = existingFileHelper;
|
||||
}
|
||||
|
||||
public ModelProvider(DataGenerator generator, String modid, String folder, BiFunction<ResourceLocation, ExistingFileHelper, T> builderFromModId, ExistingFileHelper existingFileHelper) {
|
||||
this(generator, modid, folder, loc->builderFromModId.apply(loc, existingFileHelper), existingFileHelper);
|
||||
public ModelProvider(PackOutput output, String modid, String folder, BiFunction<ResourceLocation, ExistingFileHelper, T> 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<T extends ModelBuilder<T>> 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");
|
||||
}
|
||||
}
|
||||
@@ -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<String, JsonElement> 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<ResourceLocation> entries = new ArrayList<>();
|
||||
|
||||
ImmutableList.Builder<CompletableFuture<?>> futuresBuilder = new ImmutableList.Builder<>();
|
||||
|
||||
@@ -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<T> 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<JsonElement> dynamicOps;
|
||||
@@ -59,14 +58,14 @@ public class JsonCodecProvider<T> implements DataProvider
|
||||
protected Map<ResourceLocation, ICondition[]> 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<JsonElement> dynamicOps, PackType packType,
|
||||
public JsonCodecProvider(PackOutput output, ExistingFileHelper existingFileHelper, String modid, DynamicOps<JsonElement> dynamicOps, PackType packType,
|
||||
String directory, Codec<T> codec, Map<ResourceLocation, T> entries)
|
||||
{
|
||||
// Track generated data so other dataproviders can validate if needed.
|
||||
@@ -75,7 +74,7 @@ public class JsonCodecProvider<T> 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<T> implements DataProvider
|
||||
* be generated this way.
|
||||
*
|
||||
* @param <T> 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 <T> JsonCodecProvider<T> forDatapackRegistry(DataGenerator dataGenerator, ExistingFileHelper existingFileHelper, String modid,
|
||||
public static <T> JsonCodecProvider<T> forDatapackRegistry(PackOutput output, ExistingFileHelper existingFileHelper, String modid,
|
||||
RegistryOps<JsonElement> registryOps, ResourceKey<Registry<T>> registryKey, Map<ResourceLocation, T> entries)
|
||||
{
|
||||
final ResourceLocation registryId = registryKey.location();
|
||||
@@ -110,13 +109,13 @@ public class JsonCodecProvider<T> implements DataProvider
|
||||
: registryId.getNamespace() + "/" + registryId.getPath();
|
||||
RegistryDataLoader.RegistryData<?> registryData = DataPackRegistriesHooks.getDataPackRegistries().stream().filter(data -> data.key() == registryKey).findAny().orElseThrow();
|
||||
final Codec<T> codec = (Codec<T>) 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<CompletableFuture<?>> futuresBuilder = new ImmutableList.Builder<>();
|
||||
|
||||
@@ -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<String, String> 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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -136,12 +136,12 @@ public class DataGeneratorTest
|
||||
PackOutput packOutput = gen.getPackOutput();
|
||||
CompletableFuture<HolderLookup.Provider> 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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in new issue
Block a user