From 8f1717879916f8bc5f686082b04616ac5a7f54bf Mon Sep 17 00:00:00 2001 From: SuperRonanCraft Date: Fri, 7 Aug 2020 11:52:45 -0400 Subject: [PATCH] particles --- pom.xml | 17 ++++++----- .../SuperRonanCraft/BetterRTP/player/RTP.java | 1 + .../BetterRTP/player/RTPTeleport.java | 28 +++++++++++++++++++ src/main/resources/config.yml | 4 +++ 4 files changed, 41 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index a771add..9378f46 100644 --- a/pom.xml +++ b/pom.xml @@ -78,20 +78,13 @@ org.spigotmc spigot-api - 1.16.1-R0.1-SNAPSHOT + 1.8.8-R0.1-SNAPSHOT provided - - org.spigotmc spigot - 1.16.1-R0.1-SNAPSHOT + 1.8.8-R0.1-SNAPSHOT provided @@ -119,5 +112,11 @@ 1.0.5 compile + + + xyz.xenondevs + particle + 1.5.1 + \ No newline at end of file diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/RTP.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/RTP.java index ed3fcfb..89228c0 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/RTP.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/RTP.java @@ -181,6 +181,7 @@ public class RTP { getPl().getText().getOtherNotSafe(sendi, maxAttempts, p.getDisplayName()); getPl().getCmd().cooldowns.remove(p.getUniqueId()); getPl().getEco().unCharge(p, price); + getPl().getCmd().rtping.put(p.getUniqueId(), false); } //Get a random location depending the world type diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/RTPTeleport.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/RTPTeleport.java index fc4bea9..cb08afd 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/RTPTeleport.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/RTPTeleport.java @@ -2,12 +2,15 @@ package me.SuperRonanCraft.BetterRTP.player; import io.papermc.lib.PaperLib; import me.SuperRonanCraft.BetterRTP.Main; +import me.SuperRonanCraft.BetterRTP.references.file.FileBasics; import org.bukkit.Chunk; import org.bukkit.Location; import org.bukkit.Sound; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; +import org.bukkit.util.Vector; +import xyz.xenondevs.particle.ParticleEffect; import java.util.ArrayList; import java.util.List; @@ -35,6 +38,7 @@ public class RTPTeleport { public void run() { if (getPl().getText().getSoundsEnabled()) sounds(p); + particles(p); } }); } catch (Exception e) { @@ -106,6 +110,30 @@ public class RTPTeleport { p.playSound(p.getLocation(), sound, 1F, 1F); } + private void particles(Player p) { + if (getPl().getFiles().getType(FileBasics.FILETYPE.CONFIG).getBoolean("Settings.Particles.Enabled")) + try { + String type = getPl().getFiles().getType(FileBasics.FILETYPE.CONFIG).getString("Settings.Particles.Type"); + ParticleEffect effect = ParticleEffect.valueOf(type.toUpperCase()); + int radius = 30; + int precision = getPl().getFiles().getType(FileBasics.FILETYPE.CONFIG).getInt("Settings.Particles.Amount");; + Location loc = p.getLocation().add(new Vector(0, 2, 0)); + for (int i = 1; i < precision; i++) { + double p1 = (i * Math.PI) / (precision / 2); + double p2 = (i - 1) * Math.PI / (precision / 2); + + double x1 = Math.cos(p1) * radius; + double x2 = Math.cos(p2) * radius; + double z1 = Math.sin(p1) * radius; + double z2 = Math.sin(p2) * radius; + Vector vec = new Vector(x2 - x1, 0, z2 - z1); + effect.display(loc.clone().add(vec), new Vector(0, -0.125, 0), 1f, 0, null); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + private Main getPl() { return Main.getInstance(); } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 8d45500..5ae439e 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -25,6 +25,10 @@ Settings: Enabled: true Time: 5 CancelOnMove: true + Particles: + Enabled: true + Type: 'PORTAL' #list of particle types at https://github.com/ByteZ1337/ParticleLib/blob/master/src/main/java/xyz/xenondevs/particle/ParticleEffect.java + Amount: 180 DisableUpdater: false Default: