From 13113e4c18acfeafc916f9807a3c89fdcbb55050 Mon Sep 17 00:00:00 2001 From: Byte Dice Date: Sun, 1 Dec 2024 15:24:00 +0100 Subject: [PATCH] updated TODOs, canceled cone & cylinder SDF :( --- .../com/bytedice/bde_particles/Bde_particles.kt | 12 ++++++++++-- .../com/bytedice/bde_particles/particles/Particle.kt | 3 +-- .../com/bytedice/bde_particles/particles/Shapes.kt | 10 ---------- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/main/kotlin/com/bytedice/bde_particles/Bde_particles.kt b/src/main/kotlin/com/bytedice/bde_particles/Bde_particles.kt index 63ad451..8d94f28 100644 --- a/src/main/kotlin/com/bytedice/bde_particles/Bde_particles.kt +++ b/src/main/kotlin/com/bytedice/bde_particles/Bde_particles.kt @@ -34,20 +34,28 @@ import org.joml.Vector2f import java.util.* -// TODO: +// TODO: (future additions) // Allowing the use of regular Minecraft particles instead of just BDEs. // not implementing in v1.0. Maybe in v2.0. + // Better command auto-completion. (and change names of args) // force field "config" option // Custom curve equation command args (parse from strings) + // Cylinder and cone force field shape. -// Better particle performance. + // not implementing in v1.0. Maybe in v2.0. // Emitter groups (multiple emitters for EmitterTool) + // Private functions/classes +// TODO: (project) +// fix ManageEmitter command +// add SpawnEmitter command for spawning emitters via commands + + var ALL_PARTICLE_EMITTERS: Array = emptyArray() var LIVING_PARTICLE_COUNT: Int = 0 val SESSION_UUID: UUID = UUID.randomUUID() diff --git a/src/main/kotlin/com/bytedice/bde_particles/particles/Particle.kt b/src/main/kotlin/com/bytedice/bde_particles/particles/Particle.kt index a0020dd..807cff3 100644 --- a/src/main/kotlin/com/bytedice/bde_particles/particles/Particle.kt +++ b/src/main/kotlin/com/bytedice/bde_particles/particles/Particle.kt @@ -185,7 +185,7 @@ class Particle( val sdfVal = sdfSphere(forceField.pos, shape.radius, pos) val normalizedSdf = normalizeSdf(sdfVal, shape.radius) val velDir = Vector3f(pos).sub(forceField.pos).normalize() - val velMul = if (sdfVal > 0) { 0.0f } + val velMul = if (sdfVal > 0) { 0.0f } else { lerp(shape.force.second, shape.force.second, 1 - normalizedSdf) } return velDir.mul(velMul) @@ -202,7 +202,6 @@ class Particle( return velDir } - // TODO: cone & cylinder SDF private fun calcRot(t: Float) : Vector3f { diff --git a/src/main/kotlin/com/bytedice/bde_particles/particles/Shapes.kt b/src/main/kotlin/com/bytedice/bde_particles/particles/Shapes.kt index 8949e7e..ed600c6 100644 --- a/src/main/kotlin/com/bytedice/bde_particles/particles/Shapes.kt +++ b/src/main/kotlin/com/bytedice/bde_particles/particles/Shapes.kt @@ -126,14 +126,4 @@ sealed class ForceFieldShape { val dir: Vector3f = Vector3f(0.0f, 1.0f, 0.0f), val force: Float = 0.02f ) : ForceFieldShape() - data class Cone( - val size: Vector2f = Vector2f(1.0f, 1.0f), - val dir: Vector3f = Vector3f(0.0f, 1.0f, 0.0f), - val force: Pair = Pair(0.0f, 0.02f) - ) - data class Cylinder( - val size: Vector3f = Vector3f(1.0f, 1.0f, 1.0f), - val dir: Vector3f = Vector3f(0.0f, 1.0f, 0.0f), - val force: Float = 0.02f - ) } \ No newline at end of file