Fixed recipes unlocking incorrectly

This commit is contained in:
Auxilor
2021-05-06 22:05:12 +01:00
parent 2e419986e2
commit 2479b70162
3 changed files with 10 additions and 11 deletions

View File

@@ -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<String> worldNames = Bukkit.getWorlds().stream().map(World::getName).map(String::toLowerCase).collect(Collectors.toList());

View File

@@ -136,8 +136,6 @@ public class TalismanLevel {
permission.addParent(Objects.requireNonNull(Bukkit.getPluginManager().getPermission("talismans.fromtable.*")), true);
Bukkit.getPluginManager().addPermission(permission);
}
this.update();
}
/**

View File

@@ -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());
}
}
}