Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package io.github.tivecs.lab.language;
- import org.bukkit.Bukkit;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.UUID;
- public class LanguageHandler {
- private HashMap<String, Language> registeredLanguages = new HashMap<>();
- private HashMap<UUID, String> userSelectedLanguage = new HashMap<>();
- private Language defaultLanguage = null;
- public LanguageHandler(){ }
- public LanguageHandler(File languageFolder){
- loadLanguages(languageFolder);
- }
- //-----------------------------------
- @SuppressWarnings("unchecked")
- public void sendMessage(UUID userUniqueId, String messagePath){
- Player onlineUser = Bukkit.getPlayer(userUniqueId);
- if (onlineUser.isOnline()) {
- if (userSelectedLanguage.get(userUniqueId) == null) {
- if (registeredLanguages.size() > 0) {
- List<String> s = new ArrayList<>(registeredLanguages.keySet());
- userSelectedLanguage.put(userUniqueId, s.get(0));
- } else {
- return;
- }
- }
- Language lang = registeredLanguages.get(userSelectedLanguage.get(userUniqueId));
- List<String> msg = (List<String>) lang.getData().getOrDefault(messagePath, new ArrayList<>());
- for (String m : msg){
- onlineUser.sendMessage(m);
- }
- }
- }
- @SuppressWarnings("unchecked")
- public void sendMessage(CommandSender user, String messagePath){
- }
- //-----------------------------------
- public void registerUser(UUID userUniqueId, String langId){
- userSelectedLanguage.put(userUniqueId, langId);
- }
- public void loadLanguages(File parentDirectory){
- if (parentDirectory.isDirectory()){
- File[] langs = parentDirectory.listFiles();
- for (File f : langs){
- Language lang = new Language(f);
- lang.readAttribute();
- lang.readConfig();
- if (lang.isAsDefaultLanguage()){
- defaultLanguage = lang;
- }
- registeredLanguages.put(lang.getLanguageId(), lang);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement