Extractor: Add Tags

This commit is contained in:
Snowiiii
2024-11-10 17:14:48 +01:00
parent 63979710b2
commit b91825f507
3 changed files with 10772 additions and 0 deletions

10731
assets/tags.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -29,6 +29,7 @@ class Extractor : ModInitializer {
SyncedRegistries(),
Packets(),
Screens(),
Tags(),
Items(),
Blocks(),
)

View File

@@ -0,0 +1,40 @@
package de.snowii.extractor.extractors
import com.google.gson.JsonArray
import com.google.gson.JsonElement
import com.google.gson.JsonObject
import de.snowii.extractor.Extractor
import net.minecraft.registry.tag.TagPacketSerializer
import net.minecraft.server.MinecraftServer
class Tags : Extractor.Extractor {
override fun fileName(): String {
return "tags.json"
}
override fun extract(server: MinecraftServer): JsonElement {
val tagsJson = JsonArray()
val tags = TagPacketSerializer.serializeTags(server.combinedDynamicRegistries)
for (tag in tags.entries) {
val tagGroupTagsJson = JsonObject()
tagGroupTagsJson.addProperty("name", tag.key.value.toString())
val tagValues =
tag.value.toRegistryTags(server.combinedDynamicRegistries.combinedRegistryManager.getOrThrow(tag.key))
for (value in tagValues.tags) {
val tagGroupTagsJsonArray = JsonArray()
for (tagVal in value.value) {
tagGroupTagsJsonArray.add(tagVal.key.orElseThrow().value.toString())
}
tagGroupTagsJson.add(value.key.id.toString(), tagGroupTagsJsonArray)
}
tagsJson.add(tagGroupTagsJson)
}
return tagsJson
}
}