From 0af5fb73013387b8f54b7d9f9fe4cef9bb548c70 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Tue, 25 Mar 2025 11:09:22 +0700 Subject: [PATCH] Use LinkedList in generated chunk for memory efficiency --- .../ru/dbotthepony/mc/otm/worldgen/EnhancedPlacedFeature.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/EnhancedPlacedFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/EnhancedPlacedFeature.kt index 6ab25a122..96a1e6d3b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/EnhancedPlacedFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/EnhancedPlacedFeature.kt @@ -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 { @@ -143,7 +144,7 @@ object EnhancedPlacedFeature : Feature( private data class Placement(val context: EnhancedPlacementContext, val positions: BlockPosSet, val feature: EnhancedFeature.Configured<*, *>) // TODO: inefficient - private val placed = ArrayList() + private val placed = LinkedList() override fun place(context: EnhancedPlacementContext, positions: List, feature: EnhancedFeature.Configured<*, *>) { placed.add(Placement(context, BlockPosSet().also { it.addAll(positions) }, feature))