что вы курили mojang

Revert "One more data provider"

This reverts commit be2dcc6bae.

Revert "Update datagen class"

This reverts commit ee53b85aff.
This commit is contained in:
DBotThePony 2023-01-13 17:39:47 +07:00
parent b7a551cef4
commit afcbaf75ae
Signed by: DBot
GPG Key ID: DCC23B5715498507
3 changed files with 17 additions and 24 deletions

View File

@ -406,7 +406,7 @@ object DataGen {
val lootModifier = LootModifiers(event.generator)
val languageProvider = MatteryLanguageProvider(event.generator)
val matterData = MatterDataProvider(event)
val researchProvider = AndroidResearchDataProvider(event.generator).also { it.exec { addResearchData(it, languageProvider) } }
val researchProvider = AndroidResearchDataProvider(event.generator, MOD_ID).also { it.exec { addResearchData(it, languageProvider) } }
this.blockModelProvider = blockModelProvider
this.blockStateProvider = blockStateProvider

View File

@ -4,15 +4,15 @@ import it.unimi.dsi.fastutil.objects.ObjectArraySet
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 java.util.Collections
import java.util.LinkedList
import java.util.concurrent.CompletableFuture
import java.util.function.Consumer
@Suppress("unused")
open class AndroidResearchDataProvider(protected val dataGenerator: DataGenerator, val modid: String) : DataProvider {
open class AndroidResearchDataProvider(protected val dataGenerator: DataGenerator) : DataProvider {
protected val pathProvider: DataGenerator.PathProvider = dataGenerator.createPathProvider(DataGenerator.Target.DATA_PACK, AndroidResearchManager.DIRECTORY)
protected val callbacks = LinkedList<(Consumer<AndroidResearchType>) -> Unit>()
private val generated = LinkedList<AndroidResearchType>()
@ -35,18 +35,15 @@ open class AndroidResearchDataProvider(protected val dataGenerator: DataGenerato
return this
}
final override fun run(output: CachedOutput): CompletableFuture<*> {
final override fun run(output: CachedOutput) {
AndroidResearchManager.fireRegistrationEvent()
val set = ObjectArraySet<ResourceLocation>()
val added = LinkedList<AndroidResearchType>()
val futures = ArrayList<CompletableFuture<*>>()
val path = dataGenerator.packOutput.getOutputFolder(PackOutput.Target.DATA_PACK).resolve(modid).resolve(AndroidResearchManager.DIRECTORY)
addEverything {
if (set.add(it.id)) {
futures.add(DataProvider.saveStable(output, it.toJson(), path.resolve("${it.id}.json")))
DataProvider.saveStable(output, it.toJson(), pathProvider.json(it.id))
AndroidResearchManager.put(it)
added.add(it)
} else {
@ -58,8 +55,6 @@ open class AndroidResearchDataProvider(protected val dataGenerator: DataGenerato
value.validate()
generated.add(value)
}
return CompletableFuture.allOf(*futures.toTypedArray())
}
override fun getName(): String {

View File

@ -3,7 +3,6 @@ package ru.dbotthepony.mc.otm.matter
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.minecraft.tags.TagKey
import net.minecraft.world.item.Item
@ -12,13 +11,13 @@ import net.minecraftforge.data.event.GatherDataEvent
import ru.dbotthepony.mc.otm.core.Decimal
import ru.dbotthepony.mc.otm.core.registryName
import java.util.Collections
import java.util.concurrent.CompletableFuture
import java.util.function.Consumer
@Suppress("FunctionName", "unused")
open class MatterDataProvider(protected val dataGenerator: DataGenerator, val modid: String) : DataProvider {
open class MatterDataProvider(protected val dataGenerator: DataGenerator, val namespace: String?) : DataProvider {
constructor(event: GatherDataEvent) : this(event.generator, event.modContainer.namespace)
protected val pathProvider: DataGenerator.PathProvider = dataGenerator.createPathProvider(DataGenerator.Target.DATA_PACK, MatterManager.MATTER_DIRECTORY)
protected val actions = LinkedHashMap<ResourceLocation, AbstractRegistryAction>()
sealed class Configuration(val name: ResourceLocation) {
@ -912,10 +911,14 @@ open class MatterDataProvider(protected val dataGenerator: DataGenerator, val mo
}
protected fun updateLocation(input: ResourceLocation, prefix: String): ResourceLocation {
if (input.namespace == modid) {
return ResourceLocation(input.namespace, prefix + input.path)
if (namespace != null) {
if (input.namespace == namespace) {
return ResourceLocation(input.namespace, prefix + input.path)
} else {
return ResourceLocation(namespace, prefix + input.namespace + "/" + input.path)
}
} else {
return ResourceLocation(modid, prefix + input.namespace + "/" + input.path)
return ResourceLocation(input.namespace, prefix + input.path)
}
}
@ -1201,18 +1204,13 @@ open class MatterDataProvider(protected val dataGenerator: DataGenerator, val mo
protected val added = ArrayList<AbstractRegistryAction>()
val addedView: List<AbstractRegistryAction> = Collections.unmodifiableList(added)
final override fun run(output: CachedOutput): CompletableFuture<*> {
final override fun run(output: CachedOutput) {
addActions()
val promises = ArrayList<CompletableFuture<*>>()
val path = dataGenerator.packOutput.getOutputFolder(PackOutput.Target.DATA_PACK).resolve(modid).resolve(MatterManager.MATTER_DIRECTORY)
for ((key, value) in actions) {
promises.add(DataProvider.saveStable(output, value.toJson(), path.resolve("$key.json")))
DataProvider.saveStable(output, value.toJson(), pathProvider.json(key))
added.add(value)
}
return CompletableFuture.allOf(*promises.toTypedArray())
}
override fun getName(): String {