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!

PlugIn HashMap mit Integer und ItemStack in eine Config abspeichern und wieder aufrufen.

Dieses Thema im Forum "Programmierung" wurde erstellt von gasjul, 26. Oktober 2015.


  1. gasjul
    Offline

    gasjul

    Registriert seit:
    27. September 2012
    Beiträge:
    21
    Hallo,
    ich habe gerade für ein noch geheimes Projekt einen /addkit Command gemacht. Jetzt sollen alle Inventory Contents in eine HashMap gespeichert werden. Diese sind mit dem Integer nummeriert.
    So weit so gut. Das klappt auch alles. Nur beim abspeichern und laden der HashMap in die Config scheitere ich.

    HashMap:
    public HashMap<Integer, ItemStack[]> items = new HashMap<Integer, ItemStack[]>();


    Kann mit jemand einen Code zum abspeichern und laden senden oder einen Ansatz geben ?

    Danke im Vorraus

    MFG
     
  2. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    289
    Minecraft:
    GPSforLEGENDS
  3. letsz0ck3r
    Offline

    letsz0ck3r

    Registriert seit:
    14. Februar 2014
    Beiträge:
    4
    Geschlecht:
    männlich
    Minecraft:
    Heddo
    Code (Text):
    1.  
    2.   public HashMap<Integer, ItemStack[]> items = new HashMap<Integer, ItemStack[]>();
    3.  
    4.    private void loadHashMap() {
    5.      getLogger().info("Start loading kits...");
    6.      for (String id : getConfig().getConfigurationSection("kit").getKeys(false)) {
    7.        List<ItemStack> itemStacks = new ArrayList<ItemStack>();
    8.        for (String i : getConfig().getConfigurationSection("kit." + id).getKeys(false)) {
    9.  
    10.          itemStacks.add(getConfig().getItemStack("kit." + id + "." + i));
    11.        }
    12.        items.put(Integer.valueOf(id), itemStacks.toArray(new ItemStack[itemStacks.size()]));
    13.      }
    14.      getLogger().info("Kits loaded.");
    15.    }
    16.  
    17.    private void saveHashMap() {
    18.      getLogger().info("Start saving kits...");
    19.      int i = 0;
    20.      getConfig().set("kit", null);
    21.      for (Entry<Integer, ItemStack[]> entry : items.entrySet()) {
    22.        for (int j = 0; j < entry.getValue().length; j++) {
    23.            getConfig().set("kit." + i + "." + j, entry.getValue()[j]);
    24.        }
    25.        i++;
    26.      }
    27.      saveConfig();
    28.      getLogger().info("Kits saved.");
    29.    }
    30.  
    So könnte dann die config.yml aus
    Code (Text):
    1.  
    2.  
    3. kit:
    4.   '0':
    5.     '0':
    6.       ==: org.bukkit.inventory.ItemStack
    7.       type: ACACIA_DOOR
    8.   '1':
    9.     '0':
    10.       ==: org.bukkit.inventory.ItemStack
    11.       type: ANVIL
    12.   '2':
    13.     '0':
    14.       ==: org.bukkit.inventory.ItemStack
    15.       type: APPLE
    16.       damage: 1
    17.  
    18.  
     
    Zuletzt bearbeitet: 5. November 2015