diff options
author | bowser0000 <bowser0000@gmail.com> | 2021-03-18 18:24:48 -0400 |
---|---|---|
committer | bowser0000 <bowser0000@gmail.com> | 2021-03-18 18:24:48 -0400 |
commit | 42449d4110853d43b40c50f96c2814b865d24f8d (patch) | |
tree | d71fda9acc08365db9837daf3442d756398e31f1 /src/main/java/me/Danker/commands/CustomMusicCommand.java | |
parent | e1fd25b6841e94e0b1861528f3f05378fc23a04f (diff) | |
download | SkyblockMod-42449d4110853d43b40c50f96c2814b865d24f8d.tar.gz SkyblockMod-42449d4110853d43b40c50f96c2814b865d24f8d.tar.bz2 SkyblockMod-42449d4110853d43b40c50f96c2814b865d24f8d.zip |
Add custom dungeon boss music
Diffstat (limited to 'src/main/java/me/Danker/commands/CustomMusicCommand.java')
-rw-r--r-- | src/main/java/me/Danker/commands/CustomMusicCommand.java | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/main/java/me/Danker/commands/CustomMusicCommand.java b/src/main/java/me/Danker/commands/CustomMusicCommand.java new file mode 100644 index 0000000..5364930 --- /dev/null +++ b/src/main/java/me/Danker/commands/CustomMusicCommand.java @@ -0,0 +1,70 @@ +package me.Danker.commands; + +import me.Danker.DankersSkyblockMod; +import me.Danker.features.CustomMusic; +import net.minecraft.command.CommandBase; +import net.minecraft.command.CommandException; +import net.minecraft.command.ICommandSender; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.BlockPos; +import net.minecraft.util.ChatComponentText; + +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.UnsupportedAudioFileException; +import java.io.IOException; +import java.util.List; + +public class CustomMusicCommand extends CommandBase { + + @Override + public String getCommandName() { + return "dsmmusic"; + } + + @Override + public String getCommandUsage(ICommandSender arg0) { + return "/" + getCommandName() + " <stop/reload>"; + } + + @Override + public int getRequiredPermissionLevel() { + return 0; + } + + @Override + public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) { + if (args.length == 1) { + return getListOfStringsMatchingLastWord(args, "stop", "reload"); + } + return null; + } + + @Override + public void processCommand(ICommandSender arg0, String[] arg1) throws CommandException { + final EntityPlayer player = (EntityPlayer)arg0; + + if (arg1.length == 0) { + player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: " + getCommandUsage(arg0))); + return; + } + + switch (arg1[0].toLowerCase()) { + case "stop": + if (CustomMusic.dungeonboss != null) CustomMusic.dungeonboss.stop(); + player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Stopped custom music.")); + break; + case "reload": + try { + CustomMusic.init(DankersSkyblockMod.configDirectory); + player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Reloaded custom music.")); + } catch (IOException | LineUnavailableException | UnsupportedAudioFileException e) { + player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "An error occurred while trying to reload music.")); + e.printStackTrace(); + } + break; + default: + player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: " + getCommandUsage(arg0))); + } + } + +} |