что вы курили 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 lootModifier = LootModifiers(event.generator)
val languageProvider = MatteryLanguageProvider(event.generator) val languageProvider = MatteryLanguageProvider(event.generator)
val matterData = MatterDataProvider(event) 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.blockModelProvider = blockModelProvider
this.blockStateProvider = blockStateProvider 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.CachedOutput
import net.minecraft.data.DataGenerator import net.minecraft.data.DataGenerator
import net.minecraft.data.DataProvider import net.minecraft.data.DataProvider
import net.minecraft.data.PackOutput
import net.minecraft.resources.ResourceLocation import net.minecraft.resources.ResourceLocation
import java.util.Collections import java.util.Collections
import java.util.LinkedList import java.util.LinkedList
import java.util.concurrent.CompletableFuture
import java.util.function.Consumer import java.util.function.Consumer
@Suppress("unused") @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>() protected val callbacks = LinkedList<(Consumer<AndroidResearchType>) -> Unit>()
private val generated = LinkedList<AndroidResearchType>() private val generated = LinkedList<AndroidResearchType>()
@ -35,18 +35,15 @@ open class AndroidResearchDataProvider(protected val dataGenerator: DataGenerato
return this return this
} }
final override fun run(output: CachedOutput): CompletableFuture<*> { final override fun run(output: CachedOutput) {
AndroidResearchManager.fireRegistrationEvent() AndroidResearchManager.fireRegistrationEvent()
val set = ObjectArraySet<ResourceLocation>() val set = ObjectArraySet<ResourceLocation>()
val added = LinkedList<AndroidResearchType>() val added = LinkedList<AndroidResearchType>()
val futures = ArrayList<CompletableFuture<*>>()
val path = dataGenerator.packOutput.getOutputFolder(PackOutput.Target.DATA_PACK).resolve(modid).resolve(AndroidResearchManager.DIRECTORY)
addEverything { addEverything {
if (set.add(it.id)) { 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) AndroidResearchManager.put(it)
added.add(it) added.add(it)
} else { } else {
@ -58,8 +55,6 @@ open class AndroidResearchDataProvider(protected val dataGenerator: DataGenerato
value.validate() value.validate()
generated.add(value) generated.add(value)
} }
return CompletableFuture.allOf(*futures.toTypedArray())
} }
override fun getName(): String { 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.CachedOutput
import net.minecraft.data.DataGenerator import net.minecraft.data.DataGenerator
import net.minecraft.data.DataProvider import net.minecraft.data.DataProvider
import net.minecraft.data.PackOutput
import net.minecraft.resources.ResourceLocation import net.minecraft.resources.ResourceLocation
import net.minecraft.tags.TagKey import net.minecraft.tags.TagKey
import net.minecraft.world.item.Item 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.Decimal
import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.core.registryName
import java.util.Collections import java.util.Collections
import java.util.concurrent.CompletableFuture
import java.util.function.Consumer import java.util.function.Consumer
@Suppress("FunctionName", "unused") @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) 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>() protected val actions = LinkedHashMap<ResourceLocation, AbstractRegistryAction>()
sealed class Configuration(val name: ResourceLocation) { 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 { protected fun updateLocation(input: ResourceLocation, prefix: String): ResourceLocation {
if (input.namespace == modid) { if (namespace != null) {
if (input.namespace == namespace) {
return ResourceLocation(input.namespace, prefix + input.path) return ResourceLocation(input.namespace, prefix + input.path)
} else { } else {
return ResourceLocation(modid, prefix + input.namespace + "/" + input.path) return ResourceLocation(namespace, prefix + input.namespace + "/" + input.path)
}
} else {
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>() protected val added = ArrayList<AbstractRegistryAction>()
val addedView: List<AbstractRegistryAction> = Collections.unmodifiableList(added) val addedView: List<AbstractRegistryAction> = Collections.unmodifiableList(added)
final override fun run(output: CachedOutput): CompletableFuture<*> { final override fun run(output: CachedOutput) {
addActions() 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) { 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) added.add(value)
} }
return CompletableFuture.allOf(*promises.toTypedArray())
} }
override fun getName(): String { override fun getName(): String {