From 0383bfeaf32fbbff68b91f641f296be08bdcd2f8 Mon Sep 17 00:00:00 2001 From: Paldiu Date: Thu, 31 Mar 2022 19:42:18 -0500 Subject: [PATCH] Alpha 1.0 RC02 PATCH 01 Fixed an issue where initializing a new PlayerConfig would attempt to read a non existent value from the Luck Container list. --- .../simplex/luck/listener/PlayerListener.java | 2 +- .../simplex/luck/player/PlayerConfig.java | 3 +- .../simplex/luck/player/PlayerHandler.java | 28 +++++++++---------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/main/java/io/github/simplex/luck/listener/PlayerListener.java b/src/main/java/io/github/simplex/luck/listener/PlayerListener.java index 3386599..ef71d0d 100644 --- a/src/main/java/io/github/simplex/luck/listener/PlayerListener.java +++ b/src/main/java/io/github/simplex/luck/listener/PlayerListener.java @@ -201,7 +201,7 @@ public record PlayerListener(FeelingLucky plugin) implements Listener { if (cause.equals(DamageCause.MAGIC) || cause.equals(DamageCause.POISON)) { if (luck.quickRNG(33.0)) { luck.takeFrom(5.0); - plugin.handler.updatePlayer(player, luck); + PlayerHandler.updatePlayer(player, luck); } } } diff --git a/src/main/java/io/github/simplex/luck/player/PlayerConfig.java b/src/main/java/io/github/simplex/luck/player/PlayerConfig.java index cbdb8be..a3536f1 100644 --- a/src/main/java/io/github/simplex/luck/player/PlayerConfig.java +++ b/src/main/java/io/github/simplex/luck/player/PlayerConfig.java @@ -2,6 +2,7 @@ package io.github.simplex.luck.player; import io.github.simplex.luck.FeelingLucky; import io.github.simplex.luck.SneakyWorker; +import org.bukkit.attribute.Attribute; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.jetbrains.annotations.Contract; @@ -22,7 +23,7 @@ public class PlayerConfig { File file = new File(dataFolder, player.getUniqueId() + ".yml"); if (!file.exists()) { String name = "username: " + player.getName(); - String luck = "luck: " + PlayerHandler.getLuckContainer(player).defaultValue(); + String luck = "luck: " + player.getAttribute(Attribute.GENERIC_LUCK).getDefaultValue(); String multiplier = "multiplier: " + 1.0; SneakyWorker.sneakyTry(() -> { diff --git a/src/main/java/io/github/simplex/luck/player/PlayerHandler.java b/src/main/java/io/github/simplex/luck/player/PlayerHandler.java index 6e8f7a2..92edb1c 100644 --- a/src/main/java/io/github/simplex/luck/player/PlayerHandler.java +++ b/src/main/java/io/github/simplex/luck/player/PlayerHandler.java @@ -31,24 +31,28 @@ public record PlayerHandler(FeelingLucky plugin) implements Listener { return markedPlayers.contains(player); } + public static void updatePlayer(Player player, Luck luck) { + playerLuckMap.replace(player, luck); + } + @EventHandler public void initializePlayer(PlayerLoginEvent event) { Player player = event.getPlayer(); - PlayerConfig config = FeelingLucky.getConfigMap().get(player.getUniqueId()); + PlayerConfig playerConfig = FeelingLucky.getConfigMap().get(player.getUniqueId()); - if (config == null) { - config = new PlayerConfig(plugin, player); - FeelingLucky.getConfigMap().put(player.getUniqueId(), config); + if (playerConfig == null) { + playerConfig = new PlayerConfig(plugin, player); + FeelingLucky.getConfigMap().put(player.getUniqueId(), playerConfig); } - String username = config.getString("username"); - double luck = config.getDouble("luck"); - double multiplier = config.getDouble("multiplier"); + String username = playerConfig.getConfig().getString("username"); + double luck = playerConfig.getConfig().getDouble("luck"); + double multiplier = playerConfig.getConfig().getDouble("multiplier"); if (!player.getName().equalsIgnoreCase(username)) { - config.set("username", player.getName()); - config.save(); - config.load(); + playerConfig.getConfig().set("username", player.getName()); + playerConfig.save(); + playerConfig.load(); } Luck container = new Luck(player, multiplier); @@ -56,8 +60,4 @@ public record PlayerHandler(FeelingLucky plugin) implements Listener { playerLuckMap.put(player, container); } - - public static void updatePlayer(Player player, Luck luck) { - playerLuckMap.replace(player, luck); - } }