OkaeriPoland / okaeri-configs

Simple Java/POJO config library written with love and Lombok
MIT License
77 stars 11 forks source link

java.lang.NoSuchMethodError: eu.okaeri.configs.postprocessor.ConfigPostprocessor.removeLinesUntil() #47

Open Verciak opened 1 month ago

Verciak commented 1 month ago

Describe the bug [20:52:30 ERROR]: Error occurred while enabling paymc-practice v1.0-SNAPSHOT (Is it up to date?) java.lang.NoSuchMethodError: 'pl.paymc.practice.libs.eu.okaeri.configs.postprocessor.ConfigPostprocessor pl.paymc.practice.libs.eu.okaeri.configs.postprocessor.ConfigPostprocessor.removeLinesUntil(java.util.function.Predicate)' at pl.paymc.practice.libs.eu.okaeri.configs.yaml.bukkit.YamlBukkitConfigurer.write(YamlBukkitConfigurer.java:118) ~[?:?] at pl.paymc.practice.libs.eu.okaeri.configs.OkaeriConfig.save(OkaeriConfig.java:365) ~[?:?] at pl.paymc.practice.libs.eu.okaeri.configs.OkaeriConfig.save(OkaeriConfig.java:306) ~[?:?] at pl.paymc.practice.libs.eu.okaeri.configs.OkaeriConfig.save(OkaeriConfig.java:320) ~[?:?] at pl.paymc.practice.libs.eu.okaeri.configs.OkaeriConfig.save(OkaeriConfig.java:292) ~[?:?] at pl.paymc.practice.libs.eu.okaeri.configs.OkaeriConfig.load(OkaeriConfig.java:428) ~[?:?] at pl.paymc.practice.PracticePlugin.lambda$onEnable$0(PracticePlugin.java:80) ~[?:?] at pl.paymc.practice.libs.eu.okaeri.configs.ConfigManager.create(ConfigManager.java:38) ~[?:?] at pl.paymc.practice.PracticePlugin.onEnable(PracticePlugin.java:76) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.16.5.jar:git-Paper-792] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[patched_1.16.5.jar:git-Paper-792] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500) ~[patched_1.16.5.jar:git-Paper-792] at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:518) ~[patched_1.16.5.jar:git-Paper-792] at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:432) ~[patched_1.16.5.jar:git-Paper-792] at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:599) ~[patched_1.16.5.jar:git-Paper-792] at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:298) ~[patched_1.16.5.jar:git-Paper-792] at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1074) ~[patched_1.16.5.jar:git-Paper-792] at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Paper-792] at java.lang.Thread.run(Thread.java:829) [?:?]

To Reproduce Steps to reproduce the behavior:

  1. Create 'building a plugin via gradle kotlin'
  2. Load 'upload to plugins'
  3. See error

Expected behavior Creating the config and general operation

Library version okaeri-configs-yaml-bukkit:5.0.1 okaeri-configs-serdes-bukkit:5.0.1 Project version: Java 11 Minecraft server version: 1.16.5

Config classes and setup routine try { pluginConfiguration = ConfigManager.create(PluginConfiguration.class, (it) -> { it.withConfigurer(new YamlBukkitConfigurer(), new SerdesBukkit()); it.withBindFile(new File(this.getDataFolder(), "config.yml")); it.saveDefaults(); it.load(true); }); } catch (Exception exception) { this.getLogger().log(Level.SEVERE, "Error loading config.yml", exception); this.getPluginLoader().disablePlugin(this); return; }

package pl.paymc.practice.configuration;

import eu.okaeri.configs.OkaeriConfig; import eu.okaeri.configs.annotation.Comment; import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemStack; import pl.paymc.practice.feature.kit.Kit; import pl.paymc.practice.feature.menu.cosmetic.NickColor; import pl.paymc.practice.util.ItemBuilder; import pl.paymc.practice.util.MessageUtil;

import java.util.Arrays; import java.util.List;

public class PluginConfiguration extends OkaeriConfig {

public NickColorSettings nickColorSettings = new NickColorSettings();
public KitSettings kitSettings = new KitSettings();
public SpawnSettings spawnSettings = new SpawnSettings();
public ChatSettings chatSettings = new ChatSettings();
public MenuSettings menuSettings = new MenuSettings();

public static class NickColorSettings extends OkaeriConfig {
    public List<NickColor> nickColorList = List.of(
            new NickColor(
                    "&f",
                    0.00
            ),
            new NickColor(
                    "&1",
                    1.99
            ),
            new NickColor(
                    "&2",
                    1.99
            ),
            new NickColor(
                    "&3",
                    1.99
            ),
            new NickColor(
                    "&5",
                    1.99
            ),
            new NickColor(
                    "&6",
                    1.99
            ),
            new NickColor(
                    "&7",
                    1.99
            ),
            new NickColor(
                    "&8",
                    1.99
            ),
            new NickColor(
                    "&9",
                    1.99
            ),
            new NickColor(
                    "&a",
                    1.99
            ),
            new NickColor(
                    "&b",
                    1.99
            ),
            new NickColor(
                    "&d",
                    1.99
            ),
            new NickColor(
                    "&e",
                    1.99
            )
    );
}

public static class MenuSettings extends OkaeriConfig {
    public ItemStack menuItem = new ItemBuilder(Material.ENDER_CHEST)
            .setTitle(MessageUtil.smallText("&3Menu główne &8(PPM - aby użyć)"))
            .setGlow(true)
            .build();
}

public static class ChatSettings extends OkaeriConfig {
    public String chatFormat = "%luckperms_prefix% &f{RANK}&e★ {NICKCOLOR}{PLAYER}&8: &f";
    public List<String> listaDozwolonychZnakow = Arrays.asList(" ", "A", "Ą", "B", "C", "Ć", "D", "E", "Ę", "F", "G", "H", "I", "J", "K", "L", "Ł", "M", "N", "Ń", "O", "Ó", "P", "Q", "R", "S", "Ś", "T", "U", "V", "W", "X", "Y", "Z", "Ź", "Ż", "a", "ą", "b", "c", "ć", "d", "e", "ę", "f", "g", "h", "i", "j", "k", "l", "ł", "m", "n", "ń", "o", "ó", "p", "q", "r", "s", "ś", "t", "u", "v", "w", "x", "y", "z", "ź", "ż", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "!", "?", ".", ",", ";", ":", "-", "_", "(", ")", "[", "]", "{", "}", "<", ">", "'", "\"", "@", "#", "$", "^", "&", "*", "+", "=", "/", "\\", "|", "~", "`");
}

public static class SpawnSettings extends OkaeriConfig {
    public int minX = -35;
    public int maxX = 36;

    public int maxZ = 35;
    public int minZ = -35;

    public int y = 110;
}

public static class KitSettings extends OkaeriConfig {
    public ItemStack pageItemStack = new ItemBuilder(Material.OAK_FENCE_GATE)
            .setTitle(MessageUtil.smallText("&aNastępna strona &8(PPM - aby użyć)"))
            .setGlow(true)
            .build();

    @Comment("Max kitów to 14 slotem jest menu item")
    public List<Kit> kitList = List.of(
            new Kit(
                    new ItemBuilder(Material.DIAMOND_SWORD)
                            .setTitle(MessageUtil.smallText("&8(LPM - aby grać) &7Zestaw&8: &3standard diax &8(PPM - aby zobaczyć zestaw)"))
                            .build(),
                    "standard_diax",
                    new ItemBuilder(Material.DIAMOND_HELMET)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 3)
                            .build(),
                    new ItemBuilder(Material.DIAMOND_CHESTPLATE)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 3)
                            .build(),
                    new ItemBuilder(Material.DIAMOND_LEGGINGS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 3)
                            .build(),
                    new ItemBuilder(Material.DIAMOND_BOOTS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 3)
                            .build(),
                    List.of(
                            new ItemBuilder(Material.DIAMOND_SWORD)
                                    .build()
                    )
            ),
            new Kit(
                    new ItemBuilder(Material.IRON_SWORD)
                            .setTitle(MessageUtil.smallText("&8(LPM - aby grać) &7Zestaw&8: &3standard iron &8(PPM - aby zobaczyć zestaw)"))
                            .build(),
                    "standard_iron",
                    new ItemBuilder(Material.IRON_HELMET)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 3)
                            .build(),
                    new ItemBuilder(Material.IRON_CHESTPLATE)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 3)
                            .build(),
                    new ItemBuilder(Material.IRON_LEGGINGS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 3)
                            .build(),
                    new ItemBuilder(Material.IRON_BOOTS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 3)
                            .build(),
                    List.of(
                            new ItemBuilder(Material.IRON_SWORD)
                                    .addEnchant(Enchantment.DAMAGE_ALL, 1)
                                    .build()
                    )
            ),
            new Kit(
                    new ItemBuilder(Material.DIAMOND)
                            .setTitle(MessageUtil.smallText("&8(LPM - aby grać) &7Zestaw&8: &3diax &8(PPM - aby zobaczyć zestaw)"))
                            .build(),
                    "diax",
                    new ItemBuilder(Material.DIAMOND_HELMET)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
                            .build(),
                    new ItemBuilder(Material.DIAMOND_CHESTPLATE)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
                            .build(),
                    new ItemBuilder(Material.DIAMOND_LEGGINGS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
                            .build(),
                    new ItemBuilder(Material.DIAMOND_BOOTS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
                            .build(),
                    List.of(
                            new ItemBuilder(Material.DIAMOND_SWORD)
                                    .addEnchant(Enchantment.DAMAGE_ALL, 1)

                                    .build(),
                            new ItemBuilder(Material.GOLDEN_APPLE, 2)
                                    .build()
                    )
            ),
            new Kit(
                    new ItemBuilder(Material.IRON_INGOT)
                            .setTitle(MessageUtil.smallText("&8(LPM - aby grać) &7Zestaw&8: &3iron &8(PPM - aby zobaczyć zestaw)"))
                            .build(),
                    "iron",
                    new ItemBuilder(Material.IRON_HELMET)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    new ItemBuilder(Material.IRON_CHESTPLATE)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    new ItemBuilder(Material.IRON_LEGGINGS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    new ItemBuilder(Material.IRON_BOOTS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    List.of(
                            new ItemBuilder(Material.IRON_SWORD, 1)
                                    .addEnchant(Enchantment.DAMAGE_ALL, 2)
                                    .build(),
                            new ItemBuilder(Material.GOLDEN_APPLE, 4)
                                    .build()
                    )
            ),
            new Kit(
                    new ItemBuilder(Material.IRON_AXE)
                            .setTitle(MessageUtil.smallText("&8(LPM - aby grać) &7Zestaw&8: &3axe iron &8(PPM - aby zobaczyć zestaw)"))
                            .build(),
                    "axe",
                    new ItemBuilder(Material.IRON_HELMET)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
                            .build(),
                    new ItemBuilder(Material.IRON_CHESTPLATE)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
                            .build(),
                    new ItemBuilder(Material.IRON_LEGGINGS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
                            .build(),
                    new ItemBuilder(Material.IRON_BOOTS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 1)
                            .build(),
                    List.of(
                            new ItemBuilder(Material.IRON_AXE)
                                    .build(),
                            new ItemBuilder(Material.GOLDEN_APPLE, 4)
                                    .build(),
                            new ItemBuilder(Material.SHIELD)
                                    .build()
                    )
            ),
            new Kit(
                    new ItemBuilder(Material.DIAMOND_AXE)
                            .setTitle(MessageUtil.smallText("&8(LPM - aby grać) &7Zestaw&8: &3axe diax &8(PPM - aby zobaczyć zestaw)"))
                            .build(),
                    "axe",
                    new ItemBuilder(Material.DIAMOND_HELMET)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 2)
                            .build(),
                    new ItemBuilder(Material.DIAMOND_CHESTPLATE)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 2)
                            .build(),
                    new ItemBuilder(Material.DIAMOND_LEGGINGS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 2)
                            .build(),
                    new ItemBuilder(Material.DIAMOND_BOOTS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 2)
                            .build(),
                    List.of(
                            new ItemBuilder(Material.DIAMOND_AXE)
                                    .addEnchant(Enchantment.DAMAGE_ALL, 1)
                                    .build(),
                            new ItemBuilder(Material.GOLDEN_APPLE, 2)
                                    .build(),
                            new ItemBuilder(Material.SHIELD)
                                    .build()
                    )
            ),
            new Kit(
                    new ItemBuilder(Material.NETHERITE_INGOT)
                            .setTitle(MessageUtil.smallText("&8(LPM - aby grać) &7Zestaw&8: &3netherite &8(PPM - aby zobaczyć zestaw)"))
                            .build(),
                    "netherite",
                    new ItemBuilder(Material.NETHERITE_HELMET)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    new ItemBuilder(Material.NETHERITE_CHESTPLATE)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    new ItemBuilder(Material.NETHERITE_LEGGINGS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    new ItemBuilder(Material.NETHERITE_BOOTS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    List.of(
                            new ItemBuilder(Material.NETHERITE_SWORD)
                                    .addEnchant(Enchantment.DAMAGE_ALL, 5)
                                    .build(),
                            new ItemBuilder(Material.GOLDEN_APPLE, 4)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build()

                    )
            ),
            new Kit(
                    new ItemBuilder(Material.NETHERITE_INGOT)
                            .setTitle(MessageUtil.smallText("&8(LPM - aby grać) &7Zestaw&8: &3netherite + &8(PPM - aby zobaczyć zestaw)"))
                            .build(),
                    "netherite",
                    new ItemBuilder(Material.NETHERITE_HELMET)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    new ItemBuilder(Material.NETHERITE_CHESTPLATE)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    new ItemBuilder(Material.NETHERITE_LEGGINGS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    new ItemBuilder(Material.NETHERITE_BOOTS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    List.of(
                            new ItemBuilder(Material.NETHERITE_SWORD)
                                    .addEnchant(Enchantment.DAMAGE_ALL, 6)
                                    .build(),
                            new ItemBuilder(Material.ENCHANTED_GOLDEN_APPLE, 2)
                                    .build(),
                            new ItemBuilder(Material.GOLDEN_APPLE, 8)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build()

                    )
            ),
            new Kit(
                    new ItemBuilder(Material.TOTEM_OF_UNDYING)
                            .setTitle(MessageUtil.smallText("&8(LPM - aby grać) &7Zestaw&8: &3boxpvp &8(PPM - aby zobaczyć zestaw)"))
                            .build(),
                    "boxpvp",
                    new ItemBuilder(Material.END_ROD)
                            .build(),
                    new ItemBuilder(Material.ELYTRA)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    new ItemBuilder(Material.NETHERITE_LEGGINGS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    new ItemBuilder(Material.NETHERITE_BOOTS)
                            .addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4)
                            .build(),
                    List.of(
                            new ItemBuilder(Material.NETHERITE_SWORD)
                                    .addEnchant(Enchantment.DAMAGE_ALL, 7)
                                    .build(),
                            new ItemBuilder(Material.GOLDEN_APPLE, 32)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build(),
                            new ItemBuilder(Material.TOTEM_OF_UNDYING)
                                    .build()
                    )
            ),
            new Kit(
                    new ItemBuilder(Material.WOODEN_SWORD)
                            .setTitle(MessageUtil.smallText("&8(LPM - aby grać) &7Zestaw&8: &3walka na kije &8(PPM - aby zobaczyć zestaw)"))
                            .build(),
                    "kije",
                    new ItemBuilder(Material.AIR)
                            .build(),
                    new ItemBuilder(Material.AIR)
                            .build(),
                    new ItemBuilder(Material.AIR)
                            .build(),
                    new ItemBuilder(Material.AIR)
                            .build(),
                    List.of(
                            new ItemBuilder(Material.WOODEN_SWORD)
                                    .addEnchant(Enchantment.KNOCKBACK, 1)
                                    .build()
                    )
            )
    );
}

}