Fix sounds broken on non-1.15 versions
This commit is contained in:
@@ -2,13 +2,11 @@ package me.libraryaddict.disguise.utilities.sounds;
|
||||
|
||||
import lombok.Getter;
|
||||
import me.libraryaddict.disguise.LibsDisguises;
|
||||
import me.libraryaddict.disguise.utilities.reflection.ReflectionManager;
|
||||
import me.libraryaddict.disguise.utilities.sounds.SoundGroup;
|
||||
import me.libraryaddict.disguise.utilities.sounds.SoundGroup.SoundType;
|
||||
import org.bukkit.Sound;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* Only living disguises go in here!
|
||||
@@ -231,10 +229,14 @@ public enum DisguiseSoundEnums {
|
||||
Sound.ENTITY_ZOMBIE_VILLAGER_DEATH, Sound.ENTITY_ZOMBIE_VILLAGER_AMBIENT, Sound.ENTITY_ZOMBIE_INFECT,
|
||||
Sound.ENTITY_ZOMBIE_ATTACK_WOODEN_DOOR, Sound.ENTITY_ZOMBIE_BREAK_WOODEN_DOOR,
|
||||
Sound.ENTITY_ZOMBIE_ATTACK_IRON_DOOR);
|
||||
|
||||
private SoundGroup group = new SoundGroup(name());
|
||||
@Getter
|
||||
private HashMap<Sound, SoundType> sounds = new HashMap<>();
|
||||
|
||||
DisguiseSoundEnums(Object hurt, Object step, Object death, Object idle, Object... sounds) {
|
||||
if (LibsDisguises.getInstance() != null) {
|
||||
throw new IllegalStateException("This cannot be called on a running server");
|
||||
}
|
||||
|
||||
addSound(hurt, SoundType.HURT);
|
||||
addSound(step, SoundType.STEP);
|
||||
addSound(death, SoundType.DEATH);
|
||||
@@ -266,6 +268,6 @@ public enum DisguiseSoundEnums {
|
||||
}
|
||||
|
||||
private void addSound(Sound sound, SoundType type) {
|
||||
group.addSound(ReflectionManager.getCraftSound(sound), type);
|
||||
sounds.put(sound, type);
|
||||
}
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@ package me.libraryaddict.disguise.utilities.sounds;
|
||||
|
||||
import lombok.Getter;
|
||||
import me.libraryaddict.disguise.disguisetypes.Disguise;
|
||||
import me.libraryaddict.disguise.utilities.DisguiseUtilities;
|
||||
import me.libraryaddict.disguise.utilities.reflection.ReflectionManager;
|
||||
import org.bukkit.Sound;
|
||||
|
||||
@@ -33,8 +32,12 @@ public class SoundGroup {
|
||||
}
|
||||
|
||||
public void addSound(Object sound, SoundType type) {
|
||||
if (sound instanceof String) {
|
||||
sound = ReflectionManager.createMinecraftKey((String) sound);
|
||||
if (sound instanceof Sound) {
|
||||
sound = ReflectionManager.getCraftSound((Sound) sound);
|
||||
} else if (sound instanceof String) {
|
||||
sound = ReflectionManager.createSoundEffect((String) sound);
|
||||
} else if (!sound.getClass().getName().equals("SoundEffect")) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
|
||||
disguiseSounds.put(sound, type);
|
||||
|
@@ -2,7 +2,7 @@ package me.libraryaddict.disguise.utilities.sounds;
|
||||
|
||||
import me.libraryaddict.disguise.LibsDisguises;
|
||||
import me.libraryaddict.disguise.utilities.DisguiseUtilities;
|
||||
import me.libraryaddict.disguise.utilities.reflection.ReflectionManager;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
@@ -70,25 +70,33 @@ public class SoundManager {
|
||||
}
|
||||
|
||||
private void loadSounds() {
|
||||
DisguiseSoundEnums.values();
|
||||
}
|
||||
|
||||
/*private void loadSounds() {
|
||||
try (InputStream stream = LibsDisguises.getInstance().getResource("ANTI_PIRACY_ENCODED_WITH_SOUNDS")) {
|
||||
List<String> lines = new BufferedReader(new InputStreamReader(stream, StandardCharsets.UTF_8)).lines()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
for (String line : lines) {
|
||||
String[] groups = line.split("/");
|
||||
String[] groups = line.split("/", -1);
|
||||
|
||||
SoundGroup group = new SoundGroup(groups[0]);
|
||||
|
||||
int i = 0;
|
||||
for (SoundGroup.SoundType type : SoundGroup.SoundType.values()) {
|
||||
String[] sounds = groups[++i].split(",");
|
||||
String s = groups[++i];
|
||||
|
||||
if (s.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
String[] sounds = s.split(",");
|
||||
|
||||
for (String sound : sounds) {
|
||||
group.addSound(sound, type);
|
||||
try {
|
||||
Sound actualSound = Sound.valueOf(sound);
|
||||
|
||||
group.addSound(actualSound, type);
|
||||
}
|
||||
catch (Exception ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -96,5 +104,5 @@ public class SoundManager {
|
||||
catch (IOException | NoClassDefFoundError e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user