From 2479b70162ffa84553aa3386c90350c2612cf961 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Thu, 6 May 2021 22:05:12 +0100 Subject: [PATCH] Fixed recipes unlocking incorrectly --- .../java/com/willfp/talismans/talismans/Talisman.java | 10 +++------- .../com/willfp/talismans/talismans/TalismanLevel.java | 2 -- .../talismans/util/DiscoverRecipeListener.java | 9 +++++++-- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talisman.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talisman.java index c1c8c3b..2ccad78 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talisman.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/Talisman.java @@ -5,18 +5,13 @@ import com.willfp.eco.core.EcoPlugin; import com.willfp.eco.core.Prerequisite; import com.willfp.talismans.TalismansPlugin; import com.willfp.talismans.config.TalismanConfig; -import com.willfp.talismans.talismans.util.TalismanUtils; import com.willfp.talismans.talismans.util.Watcher; import lombok.AccessLevel; import lombok.Getter; -import org.apache.commons.lang.Validate; import org.bukkit.Bukkit; -import org.bukkit.Material; import org.bukkit.NamespacedKey; import org.bukkit.World; import org.bukkit.event.Listener; -import org.bukkit.permissions.Permission; -import org.bukkit.permissions.PermissionDefault; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -26,7 +21,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; -import java.util.UUID; import java.util.stream.Collectors; public abstract class Talisman implements Listener, Watcher { @@ -102,7 +96,9 @@ public abstract class Talisman implements Listener, Watcher { this.levels.clear(); for (String key : config.getSubsection("levels").getKeys(false)) { - this.levels.put(Integer.parseInt(key), new TalismanLevel(this, Integer.parseInt(key), config.getSubsection("levels." + key))); + TalismanLevel level = new TalismanLevel(this, Integer.parseInt(key), config.getSubsection("levels." + key)); + this.levels.put(Integer.parseInt(key), level); + level.update(); } List worldNames = Bukkit.getWorlds().stream().map(World::getName).map(String::toLowerCase).collect(Collectors.toList()); diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/TalismanLevel.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/TalismanLevel.java index 7b7f4a5..6083bd4 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/TalismanLevel.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/TalismanLevel.java @@ -136,8 +136,6 @@ public class TalismanLevel { permission.addParent(Objects.requireNonNull(Bukkit.getPluginManager().getPermission("talismans.fromtable.*")), true); Bukkit.getPluginManager().addPermission(permission); } - - this.update(); } /** diff --git a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/DiscoverRecipeListener.java b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/DiscoverRecipeListener.java index 0112802..64159aa 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/DiscoverRecipeListener.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/talismans/talismans/util/DiscoverRecipeListener.java @@ -3,6 +3,7 @@ package com.willfp.talismans.talismans.util; import com.willfp.eco.core.EcoPlugin; import com.willfp.eco.core.PluginDependent; import com.willfp.talismans.talismans.Talisman; +import com.willfp.talismans.talismans.TalismanLevel; import com.willfp.talismans.talismans.Talismans; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -31,8 +32,12 @@ public class DiscoverRecipeListener extends PluginDependent implements Listener if (this.getPlugin().getConfigYml().getBool("crafting.discover")) { for (Talisman talisman : Talismans.values()) { - if (talisman.isEnabled()) { - player.discoverRecipe(talisman.getKey()); + if (!talisman.isEnabled()) { + continue; + } + + for (TalismanLevel level : talisman.getLevels()) { + player.discoverRecipe(level.getKey()); } } }