From 5fbb8b98d48a1d9dd8f611adf0f76eb4a1da166a Mon Sep 17 00:00:00 2001 From: bluefireoly Date: Tue, 15 Sep 2020 18:55:00 +0200 Subject: [PATCH] Update Circle.kt --- src/main/kotlin/net/axay/kspigot/structures/Circle.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/net/axay/kspigot/structures/Circle.kt b/src/main/kotlin/net/axay/kspigot/structures/Circle.kt index a45bbb5f..f99918d0 100644 --- a/src/main/kotlin/net/axay/kspigot/structures/Circle.kt +++ b/src/main/kotlin/net/axay/kspigot/structures/Circle.kt @@ -7,6 +7,7 @@ import net.axay.kspigot.extensions.geometry.SimpleLocation3D import net.axay.kspigot.particles.KSpigotParticle import org.bukkit.Material import org.bukkit.entity.EntityType +import kotlin.time.seconds private fun circleEdgeLocations(radius: Number) = HashSet().apply { @@ -53,8 +54,13 @@ abstract class Circle(val radius: Number) { HashSet().apply { while (currentRadius >= 0) { - this += circleEdgeLocations(currentRadius) - currentRadius -= 0.5 + this += circleEdgeLocations(currentRadius).mapTo(HashSet()) { + mutableSetOf(it).apply { + this += SimpleLocation2D(it.x + when { it.x >= 1 -> -1; it.x <= -1 -> 1; else -> 0 }, it.y) + this += SimpleLocation2D(it.x, it.y + when { it.y >= 1 -> -1; it.y <= -1 -> 1; else -> 0 }) + } + }.flatten() + currentRadius-- } }