Use LinkedList in generated chunk for memory efficiency

This commit is contained in:
DBotThePony 2025-03-25 11:09:22 +07:00
parent a4e40bd464
commit 0af5fb7301
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -33,6 +33,7 @@ import ru.dbotthepony.mc.otm.worldgen.feature.EnhancedFeature
import ru.dbotthepony.mc.otm.worldgen.placement.EnhancedPlacementModifier
import java.io.DataOutputStream
import java.time.Duration
import java.util.LinkedList
import kotlin.math.sqrt
private object NodeCodec : Codec<EnhancedPlacedFeature.Node> {
@ -143,7 +144,7 @@ object EnhancedPlacedFeature : Feature<EnhancedPlacedFeature.Config>(
private data class Placement(val context: EnhancedPlacementContext, val positions: BlockPosSet, val feature: EnhancedFeature.Configured<*, *>)
// TODO: inefficient
private val placed = ArrayList<Placement>()
private val placed = LinkedList<Placement>()
override fun place(context: EnhancedPlacementContext, positions: List<BlockPos>, feature: EnhancedFeature.Configured<*, *>) {
placed.add(Placement(context, BlockPosSet().also { it.addAll(positions) }, feature))