NullValkyrie

Minecraft 1.19 multipurpose plugin for spigot servers with a lot of features where most modern servers have.
git clone https://codeberg.org/night0721/NullValkyrie
Log | Files | Refs | README | LICENSE

UserDataManager.java (1710B)


      1 package me.night.nullvalkyrie.database;
      2 
      3 import me.night.nullvalkyrie.ui.player.ScoreboardListener;
      4 import org.bson.Document;
      5 import org.bson.conversions.Bson;
      6 
      7 import java.util.HashMap;
      8 
      9 public class UserDataManager {
     10     public void createUserBank(String uuid) {
     11         Document document = new Document();
     12         document.put("UUID", uuid);
     13         document.put("Bank", 0);
     14         new DatabaseManager().getUsersDB().insertOne(document);
     15     }
     16 
     17     public void updateUserBank(String uuid, Integer coins, ScoreboardListener... listener) {
     18         Document document = new DatabaseManager().getUsersDB().find(new Document("UUID", uuid)).first();
     19         if (document != null) {
     20             Integer coinsBefore = document.getInteger("Bank");
     21             Bson updated = new Document("Bank", coins + coinsBefore);
     22             Bson update = new Document("$set", updated);
     23             new DatabaseManager().getUsersDB().updateOne(document, update);
     24             listener[0].sideBarManager.addBank(uuid, coins);
     25         } else {
     26             Document doc = new Document();
     27             doc.put("UUID", uuid);
     28             doc.put("Bank", coins);
     29             new DatabaseManager().getUsersDB().insertOne(doc);
     30             listener[0].sideBarManager.addBank(uuid, coins);
     31         }
     32 
     33 
     34     }
     35 
     36     public HashMap<String, Object> getUser(String uuid) {
     37         Document document = new DatabaseManager().getUsersDB().find(new Document("UUID", uuid)).first();
     38         if (document != null) {
     39             HashMap<String, Object> map = new HashMap<>();
     40             for (String key : document.keySet()) map.put(key, document.get(key));
     41             map.remove("_id");
     42             return map;
     43         }
     44         return null;
     45     }
     46 }