diff --git a/changelog.txt b/changelog.txt index a8e2401..56ddfbb 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,7 @@ == UPDATING WILL DELETE YOUR CONFIG.YML == * Create a backup of your config.yml if you wish to import all your old settings! +=== v5.1 === +* Fix bug preventing the use of /pp effect, style, data, and reset from being used before a player has opened the GUI === v5 === + Added a GUI. Opens with /pp or /pp gui. Icons and messages are completely customizable from the config. + Added a way to disable the GUI, because I know somebody will ask diff --git a/src/com/esophose/playerparticles/PlayerParticles.java b/src/com/esophose/playerparticles/PlayerParticles.java index 4048caa..903471d 100644 --- a/src/com/esophose/playerparticles/PlayerParticles.java +++ b/src/com/esophose/playerparticles/PlayerParticles.java @@ -7,7 +7,7 @@ */ /* - * TODO: v5.1 + * TODO: v5.2 * + Command to force set an effect/style for a player * + Tab completion for fixed effects * + Add new style 'tornado' diff --git a/src/com/esophose/playerparticles/manager/ConfigManager.java b/src/com/esophose/playerparticles/manager/ConfigManager.java index 33934e7..a53f5b9 100644 --- a/src/com/esophose/playerparticles/manager/ConfigManager.java +++ b/src/com/esophose/playerparticles/manager/ConfigManager.java @@ -337,21 +337,21 @@ public class ConfigManager { * @param particleEffect The effect that is being saved */ public void savePPlayer(UUID playerUUID, ParticleEffect particleEffect) { - if (!PlayerParticles.useMySQL) { - ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".effect"); - section.set("name", particleEffect.getName()); - save(); - } else { - async(() -> { - try { - PlayerParticles.mySQL.updateSQL("UPDATE pp_users SET effect = '" + particleEffect.getName() + "' WHERE player_uuid = '" + playerUUID + "';"); - } catch (SQLException e) { - e.printStackTrace(); - } - }); - } - getPPlayer(playerUUID, (pplayer) -> { + if (!PlayerParticles.useMySQL) { + ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".effect"); + section.set("name", particleEffect.getName()); + save(); + } else { + async(() -> { + try { + PlayerParticles.mySQL.updateSQL("UPDATE pp_users SET effect = '" + particleEffect.getName() + "' WHERE player_uuid = '" + playerUUID + "';"); + } catch (SQLException e) { + e.printStackTrace(); + } + }); + } + pplayer.setParticleEffect(particleEffect); }); } @@ -363,21 +363,21 @@ public class ConfigManager { * @param particleStyle The style that is being saved */ public void savePPlayer(UUID playerUUID, ParticleStyle particleStyle) { - if (!PlayerParticles.useMySQL) { - ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".style"); - section.set("name", particleStyle.getName()); - save(); - } else { - async(() -> { - try { - PlayerParticles.mySQL.updateSQL("UPDATE pp_users SET style = '" + particleStyle.getName() + "' WHERE player_uuid = '" + playerUUID + "';"); - } catch (SQLException e) { - e.printStackTrace(); - } - }); - } - getPPlayer(playerUUID, (pplayer) -> { + if (!PlayerParticles.useMySQL) { + ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".style"); + section.set("name", particleStyle.getName()); + save(); + } else { + async(() -> { + try { + PlayerParticles.mySQL.updateSQL("UPDATE pp_users SET style = '" + particleStyle.getName() + "' WHERE player_uuid = '" + playerUUID + "';"); + } catch (SQLException e) { + e.printStackTrace(); + } + }); + } + pplayer.setParticleStyle(particleStyle); }); } @@ -389,22 +389,22 @@ public class ConfigManager { * @param particleItemData The data that is being saved */ public void savePPlayer(UUID playerUUID, ItemData particleItemData) { - if (!PlayerParticles.useMySQL) { - ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".itemData"); - section.set("material", particleItemData.getMaterial().name()); - section.set("data", particleItemData.getData()); - save(); - } else { - async(() -> { - try { - PlayerParticles.mySQL.updateSQL("UPDATE pp_data_item SET material = '" + particleItemData.getMaterial().name() + "', data = '" + particleItemData.getData() + "' WHERE uuid = '" + playerUUID + "';"); - } catch (SQLException e) { - e.printStackTrace(); - } - }); - } - getPPlayer(playerUUID, (pplayer) -> { + if (!PlayerParticles.useMySQL) { + ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".itemData"); + section.set("material", particleItemData.getMaterial().name()); + section.set("data", particleItemData.getData()); + save(); + } else { + async(() -> { + try { + PlayerParticles.mySQL.updateSQL("UPDATE pp_data_item SET material = '" + particleItemData.getMaterial().name() + "', data = '" + particleItemData.getData() + "' WHERE uuid = '" + playerUUID + "';"); + } catch (SQLException e) { + e.printStackTrace(); + } + }); + } + pplayer.setItemData(particleItemData); }); } @@ -416,22 +416,22 @@ public class ConfigManager { * @param particleBlockData The data that is being saved */ public void savePPlayer(UUID playerUUID, BlockData particleBlockData) { - if (!PlayerParticles.useMySQL) { - ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".blockData"); - section.set("material", particleBlockData.getMaterial().name()); - section.set("data", particleBlockData.getData()); - save(); - } else { - async(() -> { - try { - PlayerParticles.mySQL.updateSQL("UPDATE pp_data_block SET material = '" + particleBlockData.getMaterial().name() + "', data = '" + particleBlockData.getData() + "' WHERE uuid = '" + playerUUID + "';"); - } catch (SQLException e) { - e.printStackTrace(); - } - }); - } - getPPlayer(playerUUID, (pplayer) -> { + if (!PlayerParticles.useMySQL) { + ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".blockData"); + section.set("material", particleBlockData.getMaterial().name()); + section.set("data", particleBlockData.getData()); + save(); + } else { + async(() -> { + try { + PlayerParticles.mySQL.updateSQL("UPDATE pp_data_block SET material = '" + particleBlockData.getMaterial().name() + "', data = '" + particleBlockData.getData() + "' WHERE uuid = '" + playerUUID + "';"); + } catch (SQLException e) { + e.printStackTrace(); + } + }); + } + pplayer.setBlockData(particleBlockData); }); } @@ -443,23 +443,23 @@ public class ConfigManager { * @param particleColorData The data that is being saved */ public void savePPlayer(UUID playerUUID, OrdinaryColor particleColorData) { - if (!PlayerParticles.useMySQL) { - ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".colorData"); - section.set("r", particleColorData.getRed()); - section.set("g", particleColorData.getGreen()); - section.set("b", particleColorData.getBlue()); - save(); - } else { - async(() -> { - try { - PlayerParticles.mySQL.updateSQL("UPDATE pp_data_color SET r = " + particleColorData.getRed() + ", g = " + particleColorData.getGreen() + ", b = " + particleColorData.getBlue() + " WHERE uuid = '" + playerUUID + "';"); - } catch (SQLException e) { - e.printStackTrace(); - } - }); - } - getPPlayer(playerUUID, (pplayer) -> { + if (!PlayerParticles.useMySQL) { + ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".colorData"); + section.set("r", particleColorData.getRed()); + section.set("g", particleColorData.getGreen()); + section.set("b", particleColorData.getBlue()); + save(); + } else { + async(() -> { + try { + PlayerParticles.mySQL.updateSQL("UPDATE pp_data_color SET r = " + particleColorData.getRed() + ", g = " + particleColorData.getGreen() + ", b = " + particleColorData.getBlue() + " WHERE uuid = '" + playerUUID + "';"); + } catch (SQLException e) { + e.printStackTrace(); + } + }); + } + pplayer.setColorData(particleColorData); }); } @@ -471,21 +471,21 @@ public class ConfigManager { * @param particleNoteColorData The data that is being saved */ public void savePPlayer(UUID playerUUID, NoteColor particleNoteColorData) { - if (!PlayerParticles.useMySQL) { - ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".noteColorData"); - section.set("note", (byte) (particleNoteColorData.getValueX() * 24)); - save(); - } else { - async(() -> { - try { - PlayerParticles.mySQL.updateSQL("UPDATE pp_data_note SET note = " + (byte) (particleNoteColorData.getValueX() * 24) + " WHERE uuid = '" + playerUUID + "';"); - } catch (SQLException e) { - e.printStackTrace(); - } - }); - } - getPPlayer(playerUUID, (pplayer) -> { + if (!PlayerParticles.useMySQL) { + ConfigurationSection section = playerDataYaml.getConfigurationSection(playerUUID.toString() + ".noteColorData"); + section.set("note", (byte) (particleNoteColorData.getValueX() * 24)); + save(); + } else { + async(() -> { + try { + PlayerParticles.mySQL.updateSQL("UPDATE pp_data_note SET note = " + (byte) (particleNoteColorData.getValueX() * 24) + " WHERE uuid = '" + playerUUID + "';"); + } catch (SQLException e) { + e.printStackTrace(); + } + }); + } + pplayer.setNoteColorData(particleNoteColorData); }); } diff --git a/src/com/esophose/playerparticles/manager/ParticleManager.java b/src/com/esophose/playerparticles/manager/ParticleManager.java index d06339c..a567456 100644 --- a/src/com/esophose/playerparticles/manager/ParticleManager.java +++ b/src/com/esophose/playerparticles/manager/ParticleManager.java @@ -13,9 +13,11 @@ import java.util.ArrayList; import java.util.UUID; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; @@ -55,7 +57,7 @@ public class ParticleManager extends BukkitRunnable implements Listener { * * @param e The event */ - @EventHandler + @EventHandler(priority = EventPriority.MONITOR) public void onPlayerJoin(PlayerJoinEvent e) { ConfigManager.getInstance().loadPPlayer(e.getPlayer().getUniqueId()); } @@ -65,7 +67,7 @@ public class ParticleManager extends BukkitRunnable implements Listener { * * @param e The event */ - @EventHandler + @EventHandler(priority = EventPriority.MONITOR) public void onPlayerQuit(PlayerQuitEvent e) { PPlayer pplayer = ConfigManager.getInstance().getPPlayer(e.getPlayer().getUniqueId()); if (pplayer != null) @@ -191,9 +193,8 @@ public class ParticleManager extends BukkitRunnable implements Listener { valid = false; } - // Check for the string matching to maintain support for 1.7 - // This was checking GameMode.SPECTATOR before and was throwing errors - if (player.getGameMode().name().equalsIgnoreCase("spectator")) { + // Don't show their particles if they are in spectator mode + if (player.getGameMode() == GameMode.SPECTATOR) { valid = false; } diff --git a/src/config.yml b/src/config.yml index 2f2c961..37c425a 100644 --- a/src/config.yml +++ b/src/config.yml @@ -14,7 +14,7 @@ # I don't recommend changing it # NOTE: Updating to a new version of the plugin will change this number and delete your config. # Make sure you create a backup each time before you update! -version: 5.0 +version: 5.1 # Check for new versions of the plugin # Default: true diff --git a/src/plugin.yml b/src/plugin.yml index e91dcec..16eec9e 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,9 +1,9 @@ name: PlayerParticles main: com.esophose.playerparticles.PlayerParticles -version: 5.0 +version: 5.1 description: Make particles around players in fancy ways. author: Esophose -website: http://dev.bukkit.org/bukkit-plugins/playerparticles/ +website: https://dev.bukkit.org/projects/playerparticles commands: pp: description: The main PlayerParticles command. \ No newline at end of file