Solved Saving list of objects error

Discussion in 'Plugin Development' started by TerZer, Feb 26, 2017.

Thread Status:
Not open for further replies.
  1. Offline

    TerZer

    So.. I tried to save list of my created object Arena, so after reload I could get that. But then I save list to file it's show me null.
    Code:
    Code:
    public static File farms;
    public static FileConfiguration getfarms;
    static List<Arena> arenaList = new ArrayList<Arena>();
      
        public void onEnable() {
          
            worldEditPlugin = (WorldEditPlugin) getServer().getPluginManager().getPlugin("WorldEdit");
          
            if(worldEditPlugin == null){
              
                getServer().getConsoleSender().sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_PURPLE + "AutoFarm" + ChatColor.GRAY + "] " + ChatColor.RED + "Nėra WorldEdit įskiepio");
                getPluginLoader().disablePlugin(this);
              
            }
            else{
                getServer().getConsoleSender().sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_PURPLE + "AutoFarm" + ChatColor.GRAY + "] " + ChatColor.GREEN + "Sukurtas - TerZer");
                getServer().getConsoleSender().sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_PURPLE + "AutoFarm" + ChatColor.GRAY + "] " + ChatColor.GREEN + "Versija - 1.0");
            }
            loadArenas();
            saveArenas();
            m = this;
            registerConfig();
            getCommand("farmcreate").setExecutor(new Commands());
            new PlayerListener(this);
            @SuppressWarnings("unchecked")
            List<Arena> list = (List<Arena>) getfarms.get("Arenos");
            arenaList = list;
            if(arenaList != null){
                for(Arena arena : list){
                  
                    farmDelay(arena);
                  
                }
            }
        }
    
        public void onDisable() {
          
            getfarms.set("Arenos", arenaList);
            saveArenas();
          
        }
      
        public static void farmCreation(Arena arena){
          
            if(arenaList == null || arenaList.isEmpty()){
                List<Arena> list = new ArrayList<Arena>();
                list.add(arena);
                arenaList = list;
            }
            else{
              
                arenaList.add(arena);
              
            }
          
            setFarm(arena);
            farmDelay(arena);
          
        }
      
        public static void farmDelay(Arena arena){
          
            new BukkitRunnable() {
              
                @Override
                public void run() {
                  
                    Arena ar = new Arena(arena.loc1, arena.loc2, arena.material, arena.laikas);
                    setFarm(ar);
                  
                }
            }.runTaskTimer(m, 20*arena.laikas, 20*arena.laikas);
          
        }
    My Arena object:

    Code:
    public class Arena {
      
        ArrayList<Location> locations = new ArrayList<Location>();
        Location loc1,loc2;
        Material material;
        int laikas;
      
        public Arena(Location loc1, Location loc2, Material material, int laikas) {
          
            this.laikas = laikas;
            this.material = material;
            this.loc1 = loc1;
            this.loc2 = loc2;
          
            locations.addAll(generateCube(loc1, loc2));
        }
      
        public Map<String, Object> serialize() {
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("loc1", loc1);
            map.put("loc2", loc2);
            map.put("material", material);
            map.put("laikas", laikas);
            map.put("locations", locations);
            return map;
        }
      
        public ArrayList<Location> generateCube(Location loc1, Location loc2) {
          
            int MinX, MaxX, MinY, MaxY, MinZ, MaxZ;
          
            ArrayList<Location> temp = new ArrayList<Location>();
          
            if(loc1.getX() < loc2.getX()){
                MinX = loc1.getBlockX();
                MaxX = loc2.getBlockX();
            } else {
                MinX = loc2.getBlockX();
                MaxX = loc1.getBlockX();
            }
            if(loc1.getY() < loc2.getY()){
                MinY = loc1.getBlockY();
                MaxY = loc2.getBlockY();
            } else {
                MinY = loc2.getBlockY();
                MaxY = loc1.getBlockY();
            }
            if(loc1.getZ() < loc2.getZ()){
                MinZ = loc1.getBlockZ();
                MaxZ = loc2.getBlockZ();
            } else {
                MinZ = loc2.getBlockZ();
                MaxZ = loc1.getBlockZ();
            }
          
            for(int x = MinX; x <= MaxX; x++){
                for(int y = MinY; y <= MaxY; y++){
                    for(int z = MinZ; z <= MaxZ; z++){
                      
                        Location loc = new Location(loc1.getWorld(), x, y, z, loc1.getYaw(), loc1.getPitch());
                        temp.add(loc);
                    }
                }
            }
          
            return temp;
        }
    }
     
  2. Offline

    Zombie_Striker

    @TerZer
    Have you debugged? Are you sure there is an actual value being saved to the config? Are you sure the config contains the value? Are you sure you are using the correct path?
     
  3. Offline

    timtower Administrator Administrator Moderator

    @TerZer Could you also post your load and save method?
     
  4. Offline

    TerZer

    Yes. It trows null error in saving list.
    Code:
    23:08:50] [Server thread/ERROR]: Error occurred while disabling AutoFarm v1.0 (Is it up to date?)
    org.yaml.snakeyaml.error.YAMLException: No JavaBean properties found in lt.TerZer.autofarm.Arena
        at org.yaml.snakeyaml.introspector.PropertyUtils.getPropertiesMap(PropertyUtils.java:87) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.introspector.PropertyUtils.createPropertySet(PropertyUtils.java:110) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.introspector.PropertyUtils.getProperties(PropertyUtils.java:102) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.introspector.PropertyUtils.getProperties(PropertyUtils.java:94) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.representer.Representer.getProperties(Representer.java:246) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.representer.Representer$RepresentJavaBean.representData(Representer.java:50) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:105) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.representer.BaseRepresenter.representSequence(BaseRepresenter.java:133) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentList.representData(SafeRepresenter.java:175) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:94) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:156) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:306) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:94) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.representer.BaseRepresenter.represent(BaseRepresenter.java:64) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:242) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:206) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.yaml.snakeyaml.Yaml.dump(Yaml.java:181) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.configuration.file.YamlConfiguration.saveToString(YamlConfiguration.java:39) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.configuration.file.FileConfiguration.save(FileConfiguration.java:68) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at lt.TerZer.autofarm.main.saveArenas(main.java:158) ~[?:?]
        at lt.TerZer.autofarm.main.onDisable(main.java:66) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:273) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:361) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:424) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:417) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.plugin.SimplePluginManager.clearPlugins(SimplePluginManager.java:458) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.craftbukkit.v1_11_R1.CraftServer.reload(CraftServer.java:717) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.Bukkit.reload(Bukkit.java:540) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchCommand(CraftServer.java:650) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchServerCommand(CraftServer.java:636) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at net.minecraft.server.v1_11_R1.DedicatedServer.aM(DedicatedServer.java:437) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:400) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
    [23:08:50]
    Code:
    public static void saveArenas() {
            File file = new File(s + "/plugins/AutoFarm", "arenos.yml");
            try {
                getfarms.save(file);
            } catch (IOException e) {
                e.printStackTrace();
            };
        }
     
    Last edited: Feb 26, 2017
  5. Offline

    timtower Administrator Administrator Moderator

    @TerZer Implement Serializable and register it to the configuration handler.
     
  6. Offline

    TerZer

    Can you show me example how to do this?
     
  7. Offline

    timtower Administrator Administrator Moderator

  8. Offline

    TerZer

    Thanks, but I still got the error:
    (I tried to save 1 arena, that worked for me, but then I save list of Arenas it simply trow this error)
    Code:
    [15:49:39 ERROR]: Cannot load C:\Users\Gigabyte\Desktop\Serveriu stuff\test\plug
    ins\AutoFarm\arenos.yml
    org.bukkit.configuration.InvalidConfigurationException: could not determine a co
    nstructor for the tag tag:yaml.org,2002:org.bukkit.Material
    in 'string', line 19, column 13:
          material: !!org.bukkit.Material 'POTATO'
                    ^
    
            at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlCo
    nfiguration.java:56) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguratio
    n.java:184) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguratio
    n.java:130) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(Yam
    lConfiguration.java:179) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at lt.TerZer.autofarm.main.loadArenas(main.java:173) [autofarm.jar:?]
            at lt.TerZer.autofarm.main.onEnable(main.java:46) [autofarm.jar:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:271) [sp
    igot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:337) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:405) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugin(CraftServer.
    java:376) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugins(CraftServer
    .java:326) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.reload(CraftServer.java:7
    50) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.Bukkit.reload(Bukkit.java:540) [spigot-1.11.2.jar:git-Spig
    ot-d4f98a3-cb61ac0]
            at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
    25) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
    1) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchCommand(CraftServ
    er.java:650) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.PlayerConnection.handleCommand(PlayerCo
    nnection.java:1344) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.jav
    a:1179) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.PacketPlayInChat.a(PacketPlayInChat.jav
    a:45) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.PacketPlayInChat.a(PacketPlayInChat.jav
    a:1) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:
    13) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [
    ?:1.8.0_101]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_101]
            at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot-1.
    11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:
    747) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:
    399) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:
    678) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.jav
    a:576) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
    Caused by: org.yaml.snakeyaml.constructor.ConstructorException: could not determ
    ine a constructor for the tag tag:yaml.org,2002:org.bukkit.Material
    in 'string', line 19, column 13:
          material: !!org.bukkit.Material 'POTATO'
                    ^
    
            at org.yaml.snakeyaml.constructor.SafeConstructor$ConstructUndefined.con
    struct(SafeConstructor.java:505) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
    
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseCo
    nstructor.java:182) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping2ndSte
    p(BaseConstructor.java:373) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.SafeConstructor.constructMapping2ndSte
    p(SafeConstructor.java:147) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping(BaseC
    onstructor.java:354) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlMap.const
    ruct(SafeConstructor.java:489) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.c
    onstruct(YamlConstructor.java:26) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0
    ]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseCo
    nstructor.java:182) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping2ndSte
    p(BaseConstructor.java:373) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.SafeConstructor.constructMapping2ndSte
    p(SafeConstructor.java:147) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping(BaseC
    onstructor.java:354) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlMap.const
    ruct(SafeConstructor.java:489) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.c
    onstruct(YamlConstructor.java:26) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0
    ]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseCo
    nstructor.java:182) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(Base
    Constructor.java:141) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
    tructor.java:127) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450) ~[spigot-1.11.2
    .jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.Yaml.load(Yaml.java:369) ~[spigot-1.11.2.jar:git-S
    pigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlCo
    nfiguration.java:54) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            ... 28 more
    My main:

    Code:
    public void onEnable() {
           
            worldEditPlugin = (WorldEditPlugin) getServer().getPluginManager().getPlugin("WorldEdit");
           
            if(worldEditPlugin == null){
               
                getServer().getConsoleSender().sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_PURPLE + "AutoFarm" + ChatColor.GRAY + "] " + ChatColor.RED + "Nėra WorldEdit įskiepio");
                getPluginLoader().disablePlugin(this);
               
            }
            else{
                getServer().getConsoleSender().sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_PURPLE + "AutoFarm" + ChatColor.GRAY + "] " + ChatColor.GREEN + "Sukurtas - TerZer");
                getServer().getConsoleSender().sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_PURPLE + "AutoFarm" + ChatColor.GRAY + "] " + ChatColor.GREEN + "Versija - 1.0");
            }
            loadArenas();
            saveArenas();
            m = this;
            registerConfig();
           
            getCommand("farmcreate").setExecutor(new Commands());
            new PlayerListener(this);
            @SuppressWarnings("unchecked")
            List<Arena> list = (List<Arena>) getfarms.get("Arenos");
            arenaList = list;
            if(arenaList != null){
                for(Arena arena : list){
                   
                    farmDelay(arena);
                   
                }
            }
        }
    
        public void onDisable() {
           
            getfarms.set("Arenos", arenaList);
            saveArenas();
           
        }
       
        public static void farmCreation(Arena arena){
           
            if(arenaList == null || arenaList.isEmpty()){
                List<Arena> list = new ArrayList<Arena>();
                list.add(arena);
                arenaList = list;
            }
            else{
               
                arenaList.add(arena);
               
            }
           
            //ERORR CHECK
            //getfarms.set("Arena", arena);
            //saveArenas();
            ///arena = (Arena) getfarms.get("Arena");
            setFarm(arena);
            farmDelay(arena);
           
        }
       
        public static void farmDelay(Arena arena){
           
            new BukkitRunnable() {
               
                @Override
                public void run() {
                   
                    Arena ar = new Arena(arena.loc1, arena.loc2, arena.material, arena.laikas);
                    setFarm(ar);
                   
                }
            }.runTaskTimer(m, 20*arena.laikas, 20*arena.laikas);
           
        }
       
        private void registerConfig() {
            this.getConfig().options().copyDefaults(true);
            this.saveConfig();
        }
       
        public static void saveArenas() {
            File file = new File(s + "/plugins/AutoFarm", "arenos.yml");
            try {
                getfarms.save(file);
            } catch (IOException e) {
                e.printStackTrace();
            };
        }
        public void loadArenas() {
           
            if (farms == null) {
                farms = new File(s + "/plugins/AutoFarm", "arenos.yml");
            }
            getfarms = YamlConfiguration.loadConfiguration(farms);
            ConfigurationSerialization.registerClass(Arena.class, "Arena");
        }
       
    }
    Arena class:
    Code:
    public class Arena implements Cloneable, ConfigurationSerializable {
       
        ArrayList<Location> locations = new ArrayList<Location>();
        Location loc1,loc2;
        Material material;
        int laikas;
       
        public Arena(Location loc1, Location loc2, Material material, int laikas) {
           
            this.laikas = laikas;
            this.material = material;
            this.loc1 = loc1;
            this.loc2 = loc2;
           
            locations.addAll(generateCube(loc1, loc2));
        }
       
        public Map<String, Object> serialize() {
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("loc1", loc1);
            map.put("loc2", loc2);
            map.put("material", material);
            map.put("laikas", laikas);
            return map;
        }
       
        public static Arena deserialize(Map<String, Object> map) {
            return new Arena((Location) map.get("loc1"), (Location) map.get("loc2"), (Material) map.get("material"), (int) map.get("laikas"));
        }
       
        public ArrayList<Location> generateCube(Location loc1, Location loc2) {
           
            int MinX, MaxX, MinY, MaxY, MinZ, MaxZ;
           
            ArrayList<Location> temp = new ArrayList<Location>();
           
            if(loc1.getX() < loc2.getX()){
                MinX = loc1.getBlockX();
                MaxX = loc2.getBlockX();
            } else {
                MinX = loc2.getBlockX();
                MaxX = loc1.getBlockX();
            }
            if(loc1.getY() < loc2.getY()){
                MinY = loc1.getBlockY();
                MaxY = loc2.getBlockY();
            } else {
                MinY = loc2.getBlockY();
                MaxY = loc1.getBlockY();
            }
            if(loc1.getZ() < loc2.getZ()){
                MinZ = loc1.getBlockZ();
                MaxZ = loc2.getBlockZ();
            } else {
                MinZ = loc2.getBlockZ();
                MaxZ = loc1.getBlockZ();
            }
           
            for(int x = MinX; x <= MaxX; x++){
                for(int y = MinY; y <= MaxY; y++){
                    for(int z = MinZ; z <= MaxZ; z++){
                       
                        Location loc = new Location(loc1.getWorld(), x, y, z, loc1.getYaw(), loc1.getPitch());
                        temp.add(loc);
                    }
                }
            }
           
            return temp;
        }
    }
    
     
    Last edited: Feb 27, 2017
  9. Offline

    timtower Administrator Administrator Moderator

    @TerZer Save the Material name, not the Material itself.
     
  10. Offline

    TerZer

    Did that, but still I can't save list of Arenas :(
    Error:
    Code:
    org.bukkit.configuration.InvalidConfigurationException: org.yaml.snakeyaml.error
    .YAMLException: Could not deserialize object
    Deserialize:
    Code:
    public static Arena deserialize(Map<String, Object> map) {
            return new Arena((Location) map.get("loc1"), (Location) map.get("loc2"), (String) map.get("material"), (int) map.get("laikas"));
        }
     
  11. Offline

    timtower Administrator Administrator Moderator

    @TerZer Could you post the generated config?
     
  12. Offline

    TerZer

    Yes, but I can only post 1 Arena save, because when I save list its auto delete everything:
    Code:
    Arena:
      ==: lt.TerZer.autofarm.Arena
      loc2:
        ==: org.bukkit.Location
        world: world
        x: 318.0
        y: 62.0
        z: 518.0
        pitch: 0.0
        yaw: 0.0
      loc1:
        ==: org.bukkit.Location
        world: world
        x: 315.0
        y: 62.0
        z: 514.0
        pitch: 0.0
        yaw: 0.0
      material: CARROT
      laikas: 2
    
     
  13. Offline

    timtower Administrator Administrator Moderator

    @TerZer Serialize location to a string or hashmap.
    And did the method changed for saving the list?
     
  14. Offline

    TerZer

    Haven't changed anything in saving method:
    Code:
    public void onDisable() {
           
            getfarms.set("Arenos", arenaList);
            saveArenas();
           
        }
    But when I save location to a string, how I suppose to get back location?
     
  15. Offline

    timtower Administrator Administrator Moderator

    @TerZer That should work for multiple arena's as well.
    And you need to reverse the process again.
     
  16. Offline

    TerZer

    What should work?
     
  17. Offline

    timtower Administrator Administrator Moderator

    @TerZer The method that you have for saving your arena's
     
  18. Offline

    TerZer

    So... Now my Arena class looks like this:
    Code:
    public class Arena implements Cloneable, ConfigurationSerializable {
       
        ArrayList<Location> locations = new ArrayList<Location>();
        Location loc1,loc2;
        Material material;
        int laikas;
       
        public Arena(Location loc1, Location loc2, String material, int laikas) {
           
            this.laikas = laikas;
            this.material = Material.getMaterial(material);
            this.loc1 = loc1;
            this.loc2 = loc2;
           
            locations.addAll(generateCube(loc1, loc2));
        }
       
        public Map<String, Object> serialize() {
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("loc1", "" + loc1.getWorld().getName() + " " + loc1.getBlockX() + " " + loc1.getBlockY() + " " + loc1.getBlockZ());
            map.put("loc2", "" + loc2.getWorld().getName() + " " + loc2.getBlockX() + " " + loc2.getBlockY() + " " + loc2.getBlockZ());
            map.put("material", material.name());
            map.put("laikas", laikas);
            return map;
        }
       
        public static Arena deserialize(Map<String, Object> map) {
           
            String first = (String) map.get("loc1");
            String second = (String) map.get("loc2");
            String[] split = first.split(" ");
            World world = Bukkit.getWorld(split[0]);
            double x = Double.parseDouble(split[1]);
            double y = Double.parseDouble(split[2]);
            double z = Double.parseDouble(split[3]);
           
            Location loc1 = new Location(world, x, y, z);
           
            split = second.split(" ");
            world = Bukkit.getWorld(split[0]);
            x = Double.parseDouble(split[1]);
            y = Double.parseDouble(split[2]);
            z = Double.parseDouble(split[3]);
           
            Location loc2 = new Location(world, x, y, z);
           
            return new Arena(loc1, loc2, (String) map.get("material"), (int) map.get("laikas"));
        }
       
        public ArrayList<Location> generateCube(Location loc1, Location loc2) {
           
            int MinX, MaxX, MinY, MaxY, MinZ, MaxZ;
           
            ArrayList<Location> temp = new ArrayList<Location>();
           
            if(loc1.getX() < loc2.getX()){
                MinX = loc1.getBlockX();
                MaxX = loc2.getBlockX();
            } else {
                MinX = loc2.getBlockX();
                MaxX = loc1.getBlockX();
            }
            if(loc1.getY() < loc2.getY()){
                MinY = loc1.getBlockY();
                MaxY = loc2.getBlockY();
            } else {
                MinY = loc2.getBlockY();
                MaxY = loc1.getBlockY();
            }
            if(loc1.getZ() < loc2.getZ()){
                MinZ = loc1.getBlockZ();
                MaxZ = loc2.getBlockZ();
            } else {
                MinZ = loc2.getBlockZ();
                MaxZ = loc1.getBlockZ();
            }
           
            for(int x = MinX; x <= MaxX; x++){
                for(int y = MinY; y <= MaxY; y++){
                    for(int z = MinZ; z <= MaxZ; z++){
                       
                        Location loc = new Location(loc1.getWorld(), x, y, z, loc1.getYaw(), loc1.getPitch());
                        temp.add(loc);
                    }
                }
            }
           
            return temp;
        }
    }
    
    Main:
    Code:
    public class main extends JavaPlugin {
       
        static String s = Paths.get("").toAbsolutePath().toString();
        public static Plugin m = null;
       
        public static FileConfiguration getfarms;
        public static File farms;
       
        static WorldEditPlugin worldEditPlugin = null;
        static List<Arena> arenaList = new ArrayList<Arena>();
       
        @SuppressWarnings("unchecked")
        public void onEnable() {
           
            worldEditPlugin = (WorldEditPlugin) getServer().getPluginManager().getPlugin("WorldEdit");
           
            if(worldEditPlugin == null){
               
                getServer().getConsoleSender().sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_PURPLE + "AutoFarm" + ChatColor.GRAY + "] " + ChatColor.RED + "Nėra WorldEdit įskiepio");
                getPluginLoader().disablePlugin(this);
               
            }
            else{
                getServer().getConsoleSender().sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_PURPLE + "AutoFarm" + ChatColor.GRAY + "] " + ChatColor.GREEN + "Sukurtas - TerZer");
                getServer().getConsoleSender().sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_PURPLE + "AutoFarm" + ChatColor.GRAY + "] " + ChatColor.GREEN + "Versija - 1.0");
            }
            loadArenas();
            saveArenas();
            m = this;
            registerConfig();
           
            getCommand("farmcreate").setExecutor(new Commands());
            new PlayerListener(this);
            if(getfarms.get("Arenos") != null){
                List<Arena> list = (List<Arena>) getfarms.get("Arenos");
                arenaList = list;
                if(arenaList != null){
                    for(Arena arena : list){
                       
                        farmDelay(arena);
                       
                    }
                }
            }
        }
    
        public void onDisable() {
           
            getfarms.set("Arenos", arenaList);
            saveArenas();
           
        }
       
        public static void farmCreation(Arena arena){
           
            if(arenaList == null || arenaList.isEmpty()){
                List<Arena> list = new ArrayList<Arena>();
                list.add(arena);
                arenaList = list;
            }
            else{
               
                arenaList.add(arena);
               
            }
           
            //ERORR CHECK
            //getfarms.set("Arena", arena);
            //saveArenas();
            //arena = (Arena) getfarms.get("Arena");
           
            getfarms.set("Arenos", arenaList);
            saveArenas();
           
            setFarm(arena);
            farmDelay(arena);
           
        }
       
        public static void farmDelay(Arena arena){
           
            new BukkitRunnable() {
               
                @Override
                public void run() {
                   
                    Arena ar = new Arena(arena.loc1, arena.loc2, arena.material.name(), arena.laikas);
                    setFarm(ar);
                   
                }
            }.runTaskTimer(m, 20*arena.laikas, 20*arena.laikas);
           
        }
       
        private void registerConfig() {
            this.getConfig().options().copyDefaults(true);
            this.saveConfig();
        }
       
        public static void saveArenas() {
            File file = new File(s + "/plugins/AutoFarm", "arenos.yml");
            try {
                getfarms.save(file);
            } catch (IOException e) {
                e.printStackTrace();
            };
        }
        public void loadArenas() {
           
            if (farms == null) {
                farms = new File(s + "/plugins/AutoFarm", "arenos.yml");
            }
            getfarms = YamlConfiguration.loadConfiguration(farms);
            ConfigurationSerialization.registerClass(Arena.class, "Arena");
        }
       
    }
    And the error I now get is:
    Code:
    org.bukkit.configuration.InvalidConfigurationException: org.yaml.snakeyaml.error
    .YAMLException: Could not deserialize object
            at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlCo
    nfiguration.java:56) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguratio
    n.java:184) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguratio
    n.java:130) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(Yam
    lConfiguration.java:179) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at lt.TerZer.autofarm.main.loadArenas(main.java:180) [autofarm.jar:?]
            at lt.TerZer.autofarm.main.onEnable(main.java:47) [autofarm.jar:?]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:271) [sp
    igot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:337) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:405) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugin(CraftServer.
    java:376) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugins(CraftServer
    .java:326) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.reload(CraftServer.java:7
    50) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.Bukkit.reload(Bukkit.java:540) [spigot-1.11.2.jar:git-Spig
    ot-d4f98a3-cb61ac0]
            at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
    25) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
    1) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchCommand(CraftServ
    er.java:650) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.PlayerConnection.handleCommand(PlayerCo
    nnection.java:1344) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.jav
    a:1179) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.PacketPlayInChat.a(PacketPlayInChat.jav
    a:45) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.PacketPlayInChat.a(PacketPlayInChat.jav
    a:1) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:
    13) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [
    ?:1.8.0_101]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_101]
            at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot-1.
    11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:
    747) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:
    399) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:
    678) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.jav
    a:576) [spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
    Caused by: org.yaml.snakeyaml.error.YAMLException: Could not deserialize object
            at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.c
    onstruct(YamlConstructor.java:37) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0
    ]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseCo
    nstructor.java:182) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructSequenceStep2
    (BaseConstructor.java:275) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructSequence(Base
    Constructor.java:246) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlSeq.const
    ruct(SafeConstructor.java:470) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseCo
    nstructor.java:182) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping2ndSte
    p(BaseConstructor.java:373) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.SafeConstructor.constructMapping2ndSte
    p(SafeConstructor.java:147) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping(BaseC
    onstructor.java:354) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlMap.const
    ruct(SafeConstructor.java:489) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.c
    onstruct(YamlConstructor.java:26) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0
    ]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseCo
    nstructor.java:182) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(Base
    Constructor.java:141) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
    tructor.java:127) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450) ~[spigot-1.11.2
    .jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.Yaml.load(Yaml.java:369) ~[spigot-1.11.2.jar:git-S
    pigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlCo
    nfiguration.java:54) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            ... 28 more
    Caused by: java.lang.IllegalArgumentException: Specified class does not exist ('
    lt.TerZer.autofarm.Arena')
            at org.bukkit.configuration.serialization.ConfigurationSerialization.des
    erializeObject(ConfigurationSerialization.java:185) ~[spigot-1.11.2.jar:git-Spig
    ot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.c
    onstruct(YamlConstructor.java:35) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0
    ]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseCo
    nstructor.java:182) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructSequenceStep2
    (BaseConstructor.java:275) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructSequence(Base
    Constructor.java:246) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlSeq.const
    ruct(SafeConstructor.java:470) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseCo
    nstructor.java:182) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping2ndSte
    p(BaseConstructor.java:373) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.SafeConstructor.constructMapping2ndSte
    p(SafeConstructor.java:147) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping(BaseC
    onstructor.java:354) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlMap.const
    ruct(SafeConstructor.java:489) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.c
    onstruct(YamlConstructor.java:26) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0
    ]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseCo
    nstructor.java:182) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(Base
    Constructor.java:141) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
    tructor.java:127) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450) ~[spigot-1.11.2
    .jar:git-Spigot-d4f98a3-cb61ac0]
            at org.yaml.snakeyaml.Yaml.load(Yaml.java:369) ~[spigot-1.11.2.jar:git-S
    pigot-d4f98a3-cb61ac0]
            at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlCo
    nfiguration.java:54) ~[spigot-1.11.2.jar:git-Spigot-d4f98a3-cb61ac0]
            ... 28 more
     
  19. Offline

    timtower Administrator Administrator Moderator

    @TerZer Could you post your config?
     
  20. Offline

    TerZer

    Config:
    Code:
    # Leisti žaidėjui valgyti?
    valgyti: false
    
    Arenos saving config:
    Code:
    Arenos:
    - ==: lt.TerZer.autofarm.Arena
      loc2: world 318 62 518
      loc1: world 315 62 514
      material: CARROT
      laikas: 2
    
     
  21. Offline

    timtower Administrator Administrator Moderator

    @TerZer And where did you register it as serializable?
     
  22. Offline

    TerZer

    On load, then I load config file:
    Code:
    public void loadArenas() {
           
            if (farms == null) {
                farms = new File(s + "/plugins/AutoFarm", "arenos.yml");
            }
            getfarms = YamlConfiguration.loadConfiguration(farms);
            ConfigurationSerialization.registerClass(Arena.class, "Arena");
        }
     
  23. Offline

    timtower Administrator Administrator Moderator

    @TerZer Now register it as the first line in the onEnable.
     
  24. Offline

    TerZer

    That's worked, THANK YOU VERY MUCH!
     
Thread Status:
Not open for further replies.

Share This Page