1. Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

ArrayList speichern

Dieses Thema im Forum "Programmierung" wurde erstellt von ThrustLP, 25. April 2014.


  1. ThrustLP
    Offline

    ThrustLP

    Registriert seit:
    3. April 2013
    Beiträge:
    35
    Ich habe eine ArrayList:

    ArrayList<String> players = new ArrayList<String>();


    In dieser sind Strings. Wie kann ich sie in meiner Config Speichern und dann wieder richtig laden?



    Danke!
     
  2. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.065
    Geschlecht:
    männlich
    Zum speichern:
    Code (Text):
    1. List<String> players = new ArrayList<>();
    2. //Tue etwas mit der List
    3. getConfig().set("pfad.zur.liste", players);
    Und zum auslesen:
    Code (Text):
    1. List<String> players = getConfig().getStringList("pfad.zur.liste");
     
    Zuletzt bearbeitet: 25. April 2014
  3. Pappi
    Offline

    Pappi Gesperrt

    Registriert seit:
    28. Oktober 2012
    Beiträge:
    141
    Minecraft:
    Pappi / PapaHarni
    Wobei ich zum Auslesen auf Nummer sicher gehen würde und es so machen würde :
    Code (Text):
    1.  
    2. List<String> list = new ArrayList<>();
    3. List<String> players = getConfig().getStringList("pfad.zur.liste", list);
    4.  
    So gibt es zumindest kein Fehler wenn der Pfad mal nicht bestehen sollte oder das Falsche Format hat.
     
  4. ThrustLP
    Offline

    ThrustLP

    Registriert seit:
    3. April 2013
    Beiträge:
    35
    Warum List<> anstatt ArrayList<>?



    Uuuund ich bin wieder zu blöd -.-

    Wo muss ich das hier einbauen wenn ich das mit den beiden ArrayListen machen will?:

    Code (Text):
    1.  
    2. package me.thrustlp.btfhelp;
    3.  
    4. import java.util.ArrayList;
    5. import java.util.HashMap;
    6. import java.util.List;
    7.  
    8. import org.bukkit.Bukkit;
    9. import org.bukkit.Location;
    10. import org.bukkit.command.Command;
    11. import org.bukkit.command.CommandSender;
    12. import org.bukkit.entity.Player;
    13. import org.bukkit.plugin.java.JavaPlugin;
    14.  
    15. public class Main extends JavaPlugin{
    16.    
    17.     String pl = "§6[BTFHelp] ";
    18.     ArrayList<String> players = new ArrayList<String>();
    19.     ArrayList<String> hilfen = new ArrayList<String>();
    20.    
    21.    
    22.     @Override
    23.     public void onEnable(){
    24.         System.out.println("[BTFHelp] Geladen");
    25.         loadConfig();
    26.        
    27.        
    28.     }
    29.    
    30.     @Override
    31.     public void onDisable(){
    32.         System.out.println("[BTFHelp] Deaktiviert");
    33.        
    34.        
    35.        
    36.        
    37.        
    38.     }
    39.    
    40.    
    41.     public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args){
    42.         Player p = (Player) sender;
    43.        
    44.         if(cmd.getName().equalsIgnoreCase("hilfe")){
    45.             if(p.hasPermission("BTFHelp.hilfe") || p.isOnline()){
    46.                 //CHANGE isOp
    47.                 if(args.length >= 1){
    48.                
    49.                     String allArguments = "";
    50.                    
    51.                      for(int i = 0; i < args.length; i++){
    52.                          
    53.                          allArguments += "§3" + args[i] + " ";
    54.                          
    55.                            
    56.                          
    57.                      }
    58.                      
    59.                      hilfen.add(allArguments);
    60.                      players.add(p.getName());
    61.                      
    62.                     p.sendMessage(pl + "§aTicket erstellt! Bitte warte auf hilfe! Wenn du offline gehst bekommst du eine Nachricht wenn dir jemand hilft! Mache dann §4/helpmail §awenn du wieder da bist!");
    63.                    
    64.                    
    65.                    
    66.                    
    67.                    
    68.                    
    69.                 }else{
    70.                     p.sendMessage(pl + "§cBenutze /hilfe [Was brauchst du?]");
    71.                    
    72.                 }
    73.                
    74.                
    75.             }else{
    76.                
    77.                 p.sendMessage("§6[BTFHelp]§c Du hast keine Rechte dazu!");
    78.                
    79.             }
    80.            
    81.            
    82.            
    83.             return true;
    84.         }
    85.        
    86.         if(cmd.getName().equalsIgnoreCase("helfen")){
    87.             if(p.hasPermission("BTFHelp.helfen") || p.isOp()){
    88.                 if(!hilfen.isEmpty() && !players.isEmpty()){
    89.                     Player need = Bukkit.getServer().getPlayer(players.get(0));
    90.                     String nhelp = hilfen.get(0);
    91.                    
    92.                
    93.                     if(need != null){
    94.                    
    95.                     if(need.isOnline()){
    96.                         p.sendMessage(pl + "§aDu hilfst nun §3" + need.getName());
    97.                         p.sendMessage("§aSein Problem: §a" + nhelp);
    98.                         need.sendMessage(pl + "§aDer Supporter§3 " + p.getName() + " §awird sich um dich kümmern!");
    99.                        
    100.                         Location needl = need.getLocation();
    101.                         p.teleport(needl);
    102.                        
    103.                         hilfen.remove(hilfen.get(0));
    104.                         players.remove(players.get(0));
    105.                        
    106.                        
    107.                        
    108.                     }
    109.                    
    110.                    
    111.                    
    112.                 }else{
    113.                    
    114.                     p.sendMessage("off");
    115.                    
    116.                 }
    117.                    
    118.                    
    119.                    
    120.                 }else{
    121.                     p.sendMessage(pl + "§cNiemand braucht gerade Hilfe!");
    122.                    
    123.                 }
    124.                
    125.                
    126.                
    127.             }else{
    128.                
    129.                 p.sendMessage("§6[BTFHelp]§c Du hast keine Rechte dazu!");
    130.             }
    131.            
    132.             return true;
    133.            
    134.         }
    135.        
    136.        
    137.        
    138.        
    139.    
    140.        
    141.         return false;
    142.        
    143.     }
    144.    
    145.    
    146.     public void loadConfig(){
    147.         getConfig().addDefault("BHelp.arraydontedit", "");
    148.         getConfig().addDefault("BHelp.arraydontedit2", "");
    149.        
    150.         getConfig().options().copyDefaults(true);
    151.        
    152.     }
    153.  
    154. }
    155.  
     
    Zuletzt bearbeitet: 25. April 2014
  5. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.065
    Geschlecht:
    männlich
    Code (Text):
    1. package me.thrustlp.btfhelp;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.HashMap;
    5. import java.util.List;
    6.  
    7. import org.bukkit.Bukkit;
    8. import org.bukkit.Location;
    9. import org.bukkit.command.Command;
    10. import org.bukkit.command.CommandSender;
    11. import org.bukkit.entity.Player;
    12. import org.bukkit.plugin.java.JavaPlugin;
    13.  
    14. public class Main extends JavaPlugin{
    15.    
    16.     String pl = "§6[BTFHelp] ";
    17.     ArrayList<String> players = new ArrayList<>();
    18.     ArrayList<String> hilfen = new ArrayList<>();
    19.    
    20.    
    21.     @Override
    22.     public void onEnable(){
    23.                 players = getConfig().getStringList("pfad.zur.liste");
    24.         System.out.println("[BTFHelp] Geladen");
    25.     }
    26.    
    27.     @Override
    28.     public void onDisable(){
    29.         System.out.println("[BTFHelp] Deaktiviert");
    30.        
    31.        
    32.        
    33.        
    34.        
    35.     }
    36.    
    37.    
    38.     public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args){
    39.         Player p = (Player) sender;
    40.        
    41.         if(cmd.getName().equalsIgnoreCase("hilfe")){
    42.             if(p.hasPermission("BTFHelp.hilfe") || p.isOnline()){
    43.                 //CHANGE isOp
    44.                 if(args.length >= 1){
    45.                
    46.                     String allArguments = "";
    47.                    
    48.                      for(int i = 0; i < args.length; i++){
    49.                          
    50.                          allArguments += "§3" + args[i] + " ";
    51.                          
    52.                            
    53.                          
    54.                      }
    55.                      
    56.                      hilfen.add(allArguments);
    57.                      players.add(p.getName());
    58.                      
    59.                     p.sendMessage(pl + "§aTicket erstellt! Bitte warte auf hilfe! Wenn du offline gehst bekommst du eine Nachricht wenn dir jemand hilft! Mache dann §4/helpmail §awenn du wieder da bist!");
    60.                    
    61.                    
    62.                    
    63.                    
    64.                    
    65.                    
    66.                 }else{
    67.                     p.sendMessage(pl + "§cBenutze /hilfe [Was brauchst du?]");
    68.                    
    69.                 }
    70.                
    71.                
    72.             }else{
    73.                
    74.                 p.sendMessage("§6[BTFHelp]§c Du hast keine Rechte dazu!");
    75.                
    76.             }
    77.            
    78.            
    79.            
    80.             return true;
    81.         }
    82.        
    83.         if(cmd.getName().equalsIgnoreCase("helfen")){
    84.             if(p.hasPermission("BTFHelp.helfen") || p.isOp()){
    85.                 if(!hilfen.isEmpty() && !players.isEmpty()){
    86.                     Player need = Bukkit.getServer().getPlayer(players.get(0));
    87.                     String nhelp = hilfen.get(0);
    88.                    
    89.                
    90.                     if(need != null){
    91.                    
    92.                     if(need.isOnline()){
    93.                         p.sendMessage(pl + "§aDu hilfst nun §3" + need.getName());
    94.                         p.sendMessage("§aSein Problem: §a" + nhelp);
    95.                         need.sendMessage(pl + "§aDer Supporter§3 " + p.getName() + " §awird sich um dich kümmern!");
    96.                        
    97.                         Location needl = need.getLocation();
    98.                         p.teleport(needl);
    99.                        
    100.                         hilfen.remove(hilfen.get(0));
    101.                         players.remove(players.get(0));
    102.                        
    103.                        
    104.                        
    105.                     }
    106.                    
    107.                    
    108.                    
    109.                 }else{
    110.                    
    111.                     p.sendMessage("off");
    112.                    
    113.                 }
    114.                    
    115.                    
    116.                    
    117.                 }else{
    118.                     p.sendMessage(pl + "§cNiemand braucht gerade Hilfe!");
    119.                    
    120.                 }
    121.                
    122.                
    123.                
    124.             }else{
    125.                
    126.                 p.sendMessage("§6[BTFHelp]§c Du hast keine Rechte dazu!");
    127.             }
    128.            
    129.             return true;
    130.            
    131.         }
    132.        
    133.        
    134.        
    135.        
    136.    
    137.        
    138.         return false;
    139.        
    140.     }
    141.    
    142.    
    143.     public void loadConfig(){
    144.         getConfig().addDefault("BHelp.arraydontedit", "");
    145.         getConfig().addDefault("BHelp.arraydontedit2", "");
    146.        
    147.         getConfig().options().copyDefaults(true);
    148.        
    149.     }
    150.  
    151. }
    List ist eine Erweiterung von ArrayList. Außerdem kannst du bei "new ArrayList<>" das String weglassen. Der Compiler macht dies automatich.
     
  6. ThrustLP
    Offline

    ThrustLP

    Registriert seit:
    3. April 2013
    Beiträge:
    35
    Vielen Dank ;) Ihr seid echt die besten!!!