Some more sounds functionality
This commit is contained in:
		| @@ -1,6 +1,7 @@ | ||||
| package me.libraryaddict.disguise.commands.libsdisguises; | ||||
|  | ||||
| import me.libraryaddict.disguise.DisguiseConfig; | ||||
| import me.libraryaddict.disguise.utilities.sounds.SoundManager; | ||||
| import me.libraryaddict.disguise.utilities.translations.LibsMsg; | ||||
| import org.bukkit.command.CommandSender; | ||||
|  | ||||
| @@ -24,6 +25,7 @@ public class LDReload implements LDCommand { | ||||
|     @Override | ||||
|     public void onCommand(CommandSender sender, String[] args) { | ||||
|         DisguiseConfig.loadConfig(); | ||||
|         new SoundManager().load(); | ||||
|         sender.sendMessage(LibsMsg.RELOADED_CONFIG.get()); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -37,7 +37,7 @@ public abstract class ParamInfo { | ||||
|     public ParamInfo(Class paramClass, String name, String descriptiveName, String description, Enum[] possibleValues) { | ||||
|         this(paramClass, name, descriptiveName, description); | ||||
|  | ||||
|         this.possibleValues = new HashMap<>(); | ||||
|         this.possibleValues = new LinkedHashMap<>(); | ||||
|  | ||||
|         for (Enum anEnum : possibleValues) { | ||||
|             this.getValues().put(anEnum.name(), anEnum); | ||||
| @@ -52,7 +52,7 @@ public abstract class ParamInfo { | ||||
|             Map<String, Object> possibleValues) { | ||||
|         this(paramClass, name, descriptiveName, description); | ||||
|  | ||||
|         this.possibleValues = new HashMap<>(); | ||||
|         this.possibleValues = new LinkedHashMap<>(); | ||||
|         this.possibleValues.putAll(possibleValues); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -35,11 +35,7 @@ public class ParamInfoTypes { | ||||
|     } | ||||
|  | ||||
|     public ParamInfoSoundGroup getParamInfoSoundGroup() { | ||||
|         HashMap<String, Object> possibleSoundGroups = new HashMap<>(); | ||||
|  | ||||
|         SoundGroup.getGroups().keySet().forEach(key -> possibleSoundGroups.put(key, key)); | ||||
|  | ||||
|         return new ParamInfoSoundGroup(possibleSoundGroups); | ||||
|         return new ParamInfoSoundGroup(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -1,14 +1,35 @@ | ||||
| package me.libraryaddict.disguise.utilities.params.types.custom; | ||||
|  | ||||
| import me.libraryaddict.disguise.utilities.params.types.ParamInfoEnum; | ||||
| import me.libraryaddict.disguise.utilities.sounds.SoundGroup; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.LinkedHashMap; | ||||
| import java.util.Map; | ||||
|  | ||||
| /** | ||||
|  * Created by libraryaddict on 23/05/2020. | ||||
|  */ | ||||
| public class ParamInfoSoundGroup extends ParamInfoEnum { | ||||
|     public ParamInfoSoundGroup(Map<String, Object> possibleValues) { | ||||
|         super(String.class, "SoundGroup", "A group of sounds", possibleValues); | ||||
|     public ParamInfoSoundGroup() { | ||||
|         super(String.class, "SoundGroup", "A group of sounds", new HashMap<>()); | ||||
|  | ||||
|         recalculate(); | ||||
|     } | ||||
|  | ||||
|     public void recalculate() { | ||||
|         LinkedHashMap<String, Object> possibleSoundGroups = new LinkedHashMap<>(); | ||||
|  | ||||
|         ArrayList<String> list = new ArrayList<>(SoundGroup.getGroups().keySet()); | ||||
|  | ||||
|         list.sort(String.CASE_INSENSITIVE_ORDER); | ||||
|  | ||||
|         for (String s : list) { | ||||
|             possibleSoundGroups.put(s, SoundGroup.getGroup(s)); | ||||
|         } | ||||
|  | ||||
|         getValues().clear(); | ||||
|         getValues().putAll(possibleSoundGroups); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -25,7 +25,7 @@ public class SoundGroup { | ||||
|     } | ||||
|  | ||||
|     @Getter | ||||
|     private final static HashMap<String, SoundGroup> groups = new HashMap<>(); | ||||
|     private final static LinkedHashMap<String, SoundGroup> groups = new LinkedHashMap<>(); | ||||
|     private float damageSoundVolume = 1F; | ||||
|     @Getter | ||||
|     private final LinkedHashMap<Object, SoundType> disguiseSounds = new LinkedHashMap<>(); | ||||
|   | ||||
| @@ -2,6 +2,7 @@ package me.libraryaddict.disguise.utilities.sounds; | ||||
|  | ||||
| import me.libraryaddict.disguise.LibsDisguises; | ||||
| import me.libraryaddict.disguise.utilities.DisguiseUtilities; | ||||
| import me.libraryaddict.disguise.utilities.params.ParamInfoManager; | ||||
| import org.bukkit.Sound; | ||||
| import org.bukkit.configuration.ConfigurationSection; | ||||
| import org.bukkit.configuration.file.YamlConfiguration; | ||||
| @@ -16,8 +17,10 @@ import java.util.stream.Collectors; | ||||
|  */ | ||||
| public class SoundManager { | ||||
|     public void load() { | ||||
|         SoundGroup.getGroups().clear(); | ||||
|         loadSounds(); | ||||
|         loadCustomSounds(); | ||||
|         ParamInfoManager.getParamInfoSoundGroup().recalculate(); | ||||
|     } | ||||
|  | ||||
|     private void loadCustomSounds() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user