79 lines
2.1 KiB
Java
79 lines
2.1 KiB
Java
package tc.oc.commons.bukkit.broadcast;
|
|
|
|
import javax.inject.Inject;
|
|
import me.anxuiz.settings.Setting;
|
|
import me.anxuiz.settings.SettingBuilder;
|
|
import me.anxuiz.settings.types.BooleanType;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.entity.Player;
|
|
import tc.oc.commons.bukkit.broadcast.model.BroadcastPrefix;
|
|
import tc.oc.commons.bukkit.settings.SettingManagerProvider;
|
|
|
|
public class BroadcastSettings {
|
|
|
|
public static final Setting TIPS = new SettingBuilder()
|
|
.name("Tips")
|
|
.summary("Show tips in chat")
|
|
.type(new BooleanType())
|
|
.defaultValue(true)
|
|
.get();
|
|
|
|
public static final Setting NEWS = new SettingBuilder()
|
|
.name("News")
|
|
.summary("Show news and alerts in chat")
|
|
.type(new BooleanType())
|
|
.defaultValue(true)
|
|
.get();
|
|
|
|
public static final Setting FACTS = new SettingBuilder()
|
|
.name("Facts")
|
|
.summary("Show facts and knowledge in chat")
|
|
.type(new BooleanType())
|
|
.defaultValue(true)
|
|
.get();
|
|
|
|
public static final Setting RANDOM = new SettingBuilder()
|
|
.name("Random")
|
|
.summary("Show random wisdom in chat")
|
|
.type(new BooleanType())
|
|
.defaultValue(true)
|
|
.get();
|
|
|
|
private final SettingManagerProvider settings;
|
|
|
|
@Inject BroadcastSettings(SettingManagerProvider settings) {
|
|
this.settings = settings;
|
|
}
|
|
|
|
public boolean isVisible(BroadcastPrefix prefix, CommandSender viewer) {
|
|
if(!(viewer instanceof Player)) return true;
|
|
|
|
final Player player = (Player) viewer;
|
|
final Setting setting;
|
|
switch(prefix) {
|
|
case TIP:
|
|
setting = TIPS;
|
|
break;
|
|
|
|
case NEWS:
|
|
setting = NEWS;
|
|
break;
|
|
|
|
case INFO:
|
|
case FACT:
|
|
setting = FACTS;
|
|
break;
|
|
|
|
case CHAT:
|
|
setting = RANDOM;
|
|
break;
|
|
|
|
case ALERT:
|
|
default:
|
|
return true;
|
|
}
|
|
|
|
return (boolean) settings.getManager(player).getValue(setting);
|
|
}
|
|
}
|