diff --git a/src/main/kotlin/com/steelextractor/SteelExtractor.kt b/src/main/kotlin/com/steelextractor/SteelExtractor.kt index 3ab76b9..5c207f5 100644 --- a/src/main/kotlin/com/steelextractor/SteelExtractor.kt +++ b/src/main/kotlin/com/steelextractor/SteelExtractor.kt @@ -19,6 +19,7 @@ import com.steelextractor.extractors.SoundEvents import com.steelextractor.extractors.SoundTypes import com.steelextractor.extractors.MultiNoiseBiomeParameters import com.steelextractor.extractors.BiomeHashes +import com.steelextractor.extractors.CandleCakes import com.steelextractor.extractors.ChunkStageHashes import com.steelextractor.extractors.Weathering import com.steelextractor.extractors.Strippables @@ -152,6 +153,7 @@ object SteelExtractor : ModInitializer { StructureStarts(), Strippables(), Weathering(), + CandleCakes(), Waxables(), PoiTypesExtractor() ) @@ -341,7 +343,12 @@ object SteelExtractor : ModInitializer { manuallyMarked++ } } - chunkStageExtractor.captureFinalFeatureHashes(server, dim.dimId, cluster.positions, cluster.featureChunks) + chunkStageExtractor.captureFinalFeatureHashes( + server, + dim.dimId, + cluster.positions, + cluster.featureChunks + ) dim.clusters.removeFirst() } diff --git a/src/main/kotlin/com/steelextractor/extractors/CandleCakes.kt b/src/main/kotlin/com/steelextractor/extractors/CandleCakes.kt new file mode 100644 index 0000000..d91c38f --- /dev/null +++ b/src/main/kotlin/com/steelextractor/extractors/CandleCakes.kt @@ -0,0 +1,30 @@ +package com.steelextractor.extractors + +import com.google.gson.JsonElement +import com.google.gson.JsonObject +import com.steelextractor.SteelExtractor +import net.minecraft.core.registries.BuiltInRegistries +import net.minecraft.server.MinecraftServer +import net.minecraft.world.level.block.CandleBlock +import net.minecraft.world.level.block.CandleCakeBlock + +class CandleCakes : SteelExtractor.Extractor { + override fun fileName(): String { + return "steel-core/build/candle_cakes.json" + } + + override fun extract(server: MinecraftServer): JsonElement { + val field = CandleCakeBlock::class.java.getDeclaredField("BY_CANDLE") + field.isAccessible = true + @Suppress("UNCHECKED_CAST") val BY_CANDLES: Map = + field.get(null) as Map + return JsonObject().apply { + BY_CANDLES.forEach { (key, value) -> + addProperty( + BuiltInRegistries.BLOCK.getKey(key).path, + BuiltInRegistries.BLOCK.getKey(value).path, + ) + } + } + } +}