package tc.oc.pgm.settings;
import javax.inject.Singleton;
import me.anxuiz.settings.Setting;
import me.anxuiz.settings.SettingBuilder;
import me.anxuiz.settings.types.BooleanType;
import tc.oc.commons.bukkit.settings.SettingBinder;
import tc.oc.commons.bukkit.settings.SettingCallbackBinder;
import tc.oc.commons.core.inject.HybridManifest;
/**
* Assorted PGM settings that don't have a proper home yet
*/
public class Settings extends HybridManifest {
@Override
protected void configure() {
final SettingBinder settings = new SettingBinder(publicBinder());
settings.addBinding().toInstance(ObserverSetting.get());
settings.addBinding().toInstance(BLOOD);
settings.addBinding().toInstance(RATINGS);
settings.addBinding().toInstance(SOUNDS);
bindAndExpose(ObserversCallback.class).in(Singleton.class);
new SettingCallbackBinder(publicBinder())
.changesIn(ObserverSetting.get()).to(ObserversCallback.class);
}
public static final Setting BLOOD = new SettingBuilder()
.name("Blood")
.summary("See blood when players get hurt")
.type(new BooleanType())
.defaultValue(false).get();
public static final Setting RATINGS = new SettingBuilder()
.name("Ratings").alias("rate")
.summary("Automatically show the map rating dialog for maps you haven't rated yet")
.type(new BooleanType())
.defaultValue(true).get();
public static final Setting SOUNDS = new SettingBuilder()
.name("Sounds").alias("sound")
.summary("Hear sounds to alert you of the last three seconds of a countdown")
.type(new BooleanType())
.defaultValue(true).get();
}