Use LinkedList in generated chunk for memory efficiency
This commit is contained in:
parent
a4e40bd464
commit
0af5fb7301
@ -33,6 +33,7 @@ import ru.dbotthepony.mc.otm.worldgen.feature.EnhancedFeature
|
|||||||
import ru.dbotthepony.mc.otm.worldgen.placement.EnhancedPlacementModifier
|
import ru.dbotthepony.mc.otm.worldgen.placement.EnhancedPlacementModifier
|
||||||
import java.io.DataOutputStream
|
import java.io.DataOutputStream
|
||||||
import java.time.Duration
|
import java.time.Duration
|
||||||
|
import java.util.LinkedList
|
||||||
import kotlin.math.sqrt
|
import kotlin.math.sqrt
|
||||||
|
|
||||||
private object NodeCodec : Codec<EnhancedPlacedFeature.Node> {
|
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<*, *>)
|
private data class Placement(val context: EnhancedPlacementContext, val positions: BlockPosSet, val feature: EnhancedFeature.Configured<*, *>)
|
||||||
|
|
||||||
// TODO: inefficient
|
// TODO: inefficient
|
||||||
private val placed = ArrayList<Placement>()
|
private val placed = LinkedList<Placement>()
|
||||||
|
|
||||||
override fun place(context: EnhancedPlacementContext, positions: List<BlockPos>, feature: EnhancedFeature.Configured<*, *>) {
|
override fun place(context: EnhancedPlacementContext, positions: List<BlockPos>, feature: EnhancedFeature.Configured<*, *>) {
|
||||||
placed.add(Placement(context, BlockPosSet().also { it.addAll(positions) }, feature))
|
placed.add(Placement(context, BlockPosSet().also { it.addAll(positions) }, feature))
|
||||||
|
Loading…
Reference in New Issue
Block a user