From caebd1fed390251c4ac1156cd58a5678f6ac89a2 Mon Sep 17 00:00:00 2001 From: akastijn Date: Sat, 7 Feb 2026 22:50:23 +0100 Subject: [PATCH] Validate particle size --- src/main/java/com/alttd/config/ParticleConfig.java | 6 ++++++ .../java/com/alttd/frame_spawners/FrameSpawnerPlayer.java | 6 ++++-- src/main/java/com/alttd/objects/ParticleSet.java | 8 ++++---- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/alttd/config/ParticleConfig.java b/src/main/java/com/alttd/config/ParticleConfig.java index 1014491..fd46efa 100644 --- a/src/main/java/com/alttd/config/ParticleConfig.java +++ b/src/main/java/com/alttd/config/ParticleConfig.java @@ -200,6 +200,9 @@ public class ParticleConfig { String color = particleInfo.getColor(); if (dataType.equals(Particle.DustOptions.class)) { if (color != null) { + if (particleInfo.getSize() <= 1) { + throw new IllegalArgumentException("Particle size must be greater than 1"); + } particleBuilder.color(getColor(color), particleInfo.getSize()); } else { @@ -207,6 +210,9 @@ public class ParticleConfig { } } else if (dataType.equals(Particle.DustTransition.class)) { if (color == null || particleInfo.getColorGradientEnd() != null) { + if (particleInfo.getSize() <= 1) { + throw new IllegalArgumentException("Particle size must be greater than 1"); + } particleBuilder.colorTransition(getColor(color), getColor(particleInfo.getColorGradientEnd()), particleInfo.getSize()); diff --git a/src/main/java/com/alttd/frame_spawners/FrameSpawnerPlayer.java b/src/main/java/com/alttd/frame_spawners/FrameSpawnerPlayer.java index 956f989..895841b 100644 --- a/src/main/java/com/alttd/frame_spawners/FrameSpawnerPlayer.java +++ b/src/main/java/com/alttd/frame_spawners/FrameSpawnerPlayer.java @@ -78,10 +78,12 @@ public class FrameSpawnerPlayer extends BukkitRunnable { return; } Frame next = iterator.next(); - if (stationary) + if (stationary) { next.spawn(location, yaw); - else + } + else { next.spawn(player.getLocation(), player.getLocation().getYaw()); + } } }.runTaskTimerAsynchronously(AltitudeParticles.getInstance(), 0, frameDelay); if (amount != -1) diff --git a/src/main/java/com/alttd/objects/ParticleSet.java b/src/main/java/com/alttd/objects/ParticleSet.java index 6bd9410..d18cb66 100644 --- a/src/main/java/com/alttd/objects/ParticleSet.java +++ b/src/main/java/com/alttd/objects/ParticleSet.java @@ -64,16 +64,16 @@ public class ParticleSet { public void run(Player player, PlayerSettings playerSettings) { if (tooSoon(player.getUniqueId()) && !player.hasPermission("apart.bypass-cooldown")) return; - if (Config.DEBUG) - Logger.info("Starting particle set % for %.", uniqueId, player.getName()); + if (Config.DEBUG) { + log.info("Starting particle set {} for {}.", uniqueId, player.getName()); + } FrameSpawnerPlayer frameSpawnerPlayer = new FrameSpawnerPlayer(repeat, frames, frameDelay, player, playerSettings, aPartType, uniqueId, stationary); frameSpawnerPlayer.runTaskTimerAsynchronously(AltitudeParticles.getInstance(), 0, repeatDelay); } private boolean tooSoon(UUID uuid) { PlayerSettings ps = PlayerSettings.getPlayer(uuid); - if (ps.canRun(aPartType)) - { + if (ps.canRun(aPartType)) { ps.run(aPartType); return false; }