mirror of
https://github.com/Coloryr/AllMusic.git
synced 2026-11-12 02:37:30 +00:00
117 lines
4.7 KiB
Java
117 lines
4.7 KiB
Java
package coloryr.allmusic.core.command;
|
|
|
|
import coloryr.allmusic.core.AllMusic;
|
|
import coloryr.allmusic.core.hud.HudUtils;
|
|
import coloryr.allmusic.core.objs.hud.PosObj;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Locale;
|
|
import java.util.Map;
|
|
|
|
public class CommandHud implements ICommand {
|
|
private final Map<String, ICommand> CommandList = new HashMap<>();
|
|
|
|
public CommandHud() {
|
|
CommandList.put("enable", new HudEnable());
|
|
CommandList.put("reset", new Reset());
|
|
CommandList.put("picsize", new PicSize());
|
|
CommandList.put("picrotate", new PicRotate());
|
|
CommandList.put("picrotatespeed", new PicRotateSpeed());
|
|
}
|
|
|
|
private static class HudEnable implements ICommand {
|
|
@Override
|
|
public void ex(Object sender, String name, String[] args) {
|
|
if (args.length == 3) {
|
|
try {
|
|
String pos = args[2].toLowerCase(Locale.ROOT);
|
|
boolean temp = HudUtils.setHudEnable(name, pos);
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.State
|
|
.replace("%State%", temp ? "启用" : "关闭")
|
|
.replace("%Hud%", AllMusic.getMessage().HudList.Get(pos)));
|
|
} catch (Exception e) {
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error);
|
|
}
|
|
} else {
|
|
boolean temp = HudUtils.setHudEnable(name, null);
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.State
|
|
.replace("%State%", temp ? "启用" : "关闭")
|
|
.replace("%Hud%", AllMusic.getMessage().HudList.All));
|
|
}
|
|
}
|
|
}
|
|
|
|
private static class Reset implements ICommand {
|
|
@Override
|
|
public void ex(Object sender, String name, String[] args) {
|
|
HudUtils.reset(name);
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.Reset);
|
|
}
|
|
}
|
|
|
|
private static class PicSize implements ICommand {
|
|
@Override
|
|
public void ex(Object sender, String name, String[] args) {
|
|
if (args.length != 3 || !HudUtils.setPicSize(name, args[2])) {
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error);
|
|
return;
|
|
}
|
|
AllMusic.side.sendMessage(sender,
|
|
AllMusic.getMessage().Hud.PicSize.replace("%Size%", args[2]));
|
|
}
|
|
}
|
|
|
|
private static class PicRotate implements ICommand {
|
|
@Override
|
|
public void ex(Object sender, String name, String[] args) {
|
|
if (args.length != 3) {
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error);
|
|
return;
|
|
}
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Hud.PicRotate
|
|
.replace("%State%", String.valueOf(HudUtils.setPicRotate(name, args[2]))));
|
|
}
|
|
}
|
|
|
|
private static class PicRotateSpeed implements ICommand {
|
|
@Override
|
|
public void ex(Object sender, String name, String[] args) {
|
|
if (args.length != 3 || !HudUtils.setPicRotateSpeed(name, args[2])) {
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error);
|
|
return;
|
|
}
|
|
AllMusic.side.sendMessage(sender,
|
|
AllMusic.getMessage().Hud.PicRotateSpeed.replace("%Size%", args[2]));
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void ex(Object sender, String name, String[] args) {
|
|
if (args.length == 1) {
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error);
|
|
} else {
|
|
ICommand command = CommandList.get(args[1]);
|
|
if (command != null) {
|
|
command.ex(sender, name, args);
|
|
} else if (args.length != 4) {
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error);
|
|
} else {
|
|
try {
|
|
PosObj obj = HudUtils.setHudPos(name, args[1], args[2], args[3]);
|
|
if (obj == null) {
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error);
|
|
} else {
|
|
String temp = AllMusic.getMessage().Hud.Set
|
|
.replace("%Hud%", args[1])
|
|
.replace("%x%", args[2])
|
|
.replace("%y%", args[3]);
|
|
AllMusic.side.sendMessage(sender, temp);
|
|
}
|
|
} catch (Exception e) {
|
|
AllMusic.side.sendMessage(sender, AllMusic.getMessage().Command.Error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|