Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/main/kotlin/de/snowii/extractor/Extractor.kt
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@ class Extractor : ModInitializer {
CustomStats(),
Stats(),
SlotRanges(),
WorldClock(),
TimeLine(),
EnvironmentAttribute(),
/* ChunkDumpTests.NoiseDump(
"no_blend_no_beard_0_0.chunk",
0,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package de.snowii.extractor.extractors

import com.google.gson.JsonElement
import com.google.gson.JsonObject
import com.mojang.serialization.JsonOps
import de.snowii.extractor.Extractor
import net.minecraft.core.registries.Registries
import net.minecraft.server.MinecraftServer
import net.minecraft.world.attribute.EnvironmentAttributes

class EnvironmentAttribute : Extractor.Extractor {
override fun fileName(): String {
return "environement_attribute.json"
}

override fun extract(server: MinecraftServer): JsonElement {
val environnementAttribute = JsonObject()
val ops = server.registryAccess().createSerializationContext(JsonOps.INSTANCE)
val registry =
server.registryAccess().lookupOrThrow(Registries.ENVIRONMENT_ATTRIBUTE)
for (attribute in registry) {
val sub = EnvironmentAttributes.CODEC
.encodeStart(ops,attribute)
.getOrThrow() as JsonObject;
environnementAttribute.add(
registry.getKey(attribute)!!.path,
sub
)
}
return environnementAttribute
}
}
33 changes: 33 additions & 0 deletions src/main/kotlin/de/snowii/extractor/extractors/TimeLine.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package de.snowii.extractor.extractors

import com.google.gson.JsonArray
import com.google.gson.JsonElement
import com.google.gson.JsonObject
import com.mojang.serialization.JsonOps
import de.snowii.extractor.Extractor
import net.minecraft.core.registries.Registries
import net.minecraft.server.MinecraftServer
import net.minecraft.world.timeline.Timeline

class TimeLine : Extractor.Extractor {
override fun fileName(): String {
return "timeline.json"
}

override fun extract(server: MinecraftServer): JsonElement {
val worldClockJson = JsonObject()
val ops = server.registryAccess().createSerializationContext(JsonOps.INSTANCE)
val registry =
server.registryAccess().lookupOrThrow(Registries.TIMELINE)
for (timeline in registry) {
val sub = Timeline.DIRECT_CODEC
.encodeStart(ops,timeline)
.getOrThrow() as JsonObject;
worldClockJson.add(
registry.getKey(timeline)!!.path,
sub
)
}
return worldClockJson
}
}
27 changes: 27 additions & 0 deletions src/main/kotlin/de/snowii/extractor/extractors/WorldClock.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package de.snowii.extractor.extractors

import com.google.gson.JsonArray
import com.google.gson.JsonElement
import de.snowii.extractor.Extractor
import net.minecraft.core.registries.Registries
import net.minecraft.server.MinecraftServer

class WorldClock : Extractor.Extractor {
override fun fileName(): String {
return "world_clock.json"
}

override fun extract(server: MinecraftServer): JsonElement {
val worldClockJson = JsonArray()
val registry =
server.registryAccess().lookupOrThrow(Registries.WORLD_CLOCK)

for (clock in registry) {
worldClockJson.add(
registry.getKey(clock)!!.path,
)
}

return worldClockJson
}
}