2019-03-23 21:58:50 +02:00
|
|
|
package com.minelittlepony.settings;
|
2015-08-01 18:36:33 -04:00
|
|
|
|
2018-10-21 17:19:00 +02:00
|
|
|
import net.minecraft.util.math.MathHelper;
|
|
|
|
|
2019-07-11 09:41:16 +02:00
|
|
|
import com.minelittlepony.common.util.settings.JsonConfig;
|
2019-07-11 19:20:13 +02:00
|
|
|
import com.minelittlepony.common.util.settings.Setting;
|
2019-06-05 15:42:20 +02:00
|
|
|
import com.minelittlepony.pony.meta.Size;
|
|
|
|
|
2018-04-25 21:29:49 +02:00
|
|
|
/**
|
2018-05-15 16:26:52 +02:00
|
|
|
* Storage container for MineLP client settings.
|
2018-04-25 21:29:49 +02:00
|
|
|
*/
|
2019-05-30 21:24:57 +02:00
|
|
|
public class PonyConfig extends JsonConfig {
|
2019-05-28 10:26:26 +02:00
|
|
|
|
2019-07-11 19:20:13 +02:00
|
|
|
/**
|
|
|
|
* Sets the pony level. Want MOAR PONEHS? Well here you go.
|
|
|
|
*/
|
|
|
|
public final Setting<PonyLevel> ponyLevel = value("ponylevel", PonyLevel.PONIES);
|
|
|
|
private final Setting<Float> scaleFactor = value("globalScaleFactor", 0.9F);
|
|
|
|
|
2019-07-13 23:16:17 +02:00
|
|
|
public final Setting<Boolean> sizes = value("settings", "sizes", true);
|
|
|
|
public final Setting<Boolean> snuzzles = value("settings", "snuzzles", true);
|
|
|
|
public final Setting<Boolean> fillycam = value("settings", "fillycam", true);
|
|
|
|
private final Setting<Boolean> showscale = value("settings", "showscale", true);
|
|
|
|
public final Setting<Boolean> fpsmagic = value("settings", "fpsmagic", true);
|
|
|
|
public final Setting<Boolean> ponyskulls = value("settings", "ponyskulls", true);
|
|
|
|
public final Setting<Boolean> frustrum = value("settings", "frustrum", true);
|
2019-07-12 17:06:03 +02:00
|
|
|
|
2019-07-11 19:20:13 +02:00
|
|
|
/**
|
|
|
|
* Debug override for pony sizes.
|
|
|
|
*/
|
|
|
|
public final Setting<Size> sizeOverride = value("sizeOverride", Size.UNSET);
|
2018-04-24 14:55:32 +02:00
|
|
|
|
2018-04-25 21:29:49 +02:00
|
|
|
/**
|
|
|
|
* Gets the current PonyLevel. That is the level of ponies you would like to see.
|
2018-08-26 18:27:28 -04:00
|
|
|
*
|
2018-04-25 21:29:49 +02:00
|
|
|
* @param ignorePony true to ignore whatever value the setting has.
|
|
|
|
*/
|
2018-05-01 19:33:17 +02:00
|
|
|
public PonyLevel getEffectivePonyLevel(boolean ignorePony) {
|
2019-07-11 19:20:13 +02:00
|
|
|
return ignorePony ? PonyLevel.BOTH : ponyLevel.get();
|
2015-11-17 00:17:35 -05:00
|
|
|
}
|
2018-08-20 20:12:14 +02:00
|
|
|
|
2019-06-05 15:42:20 +02:00
|
|
|
public float setGlobalScaleFactor(float f) {
|
2019-08-01 22:32:41 +02:00
|
|
|
|
|
|
|
if (f < 0.15F) {
|
|
|
|
f = 0.1F;
|
|
|
|
}
|
|
|
|
if (f > 2.95) {
|
|
|
|
f = 3;
|
|
|
|
}
|
|
|
|
|
2019-05-30 21:24:57 +02:00
|
|
|
f = Math.round(MathHelper.clamp(f, 0.1F, 3) * 100) / 100F;
|
|
|
|
|
|
|
|
scaleFactor.set(f);
|
2019-07-12 17:06:03 +02:00
|
|
|
showscale.set(f != 1);
|
2019-06-05 15:42:20 +02:00
|
|
|
|
|
|
|
return getGlobalScaleFactor();
|
2018-10-21 17:19:00 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the universal scale factor used to determine how tall ponies are.
|
|
|
|
*/
|
2018-08-20 20:12:14 +02:00
|
|
|
public float getGlobalScaleFactor() {
|
2019-07-12 17:06:03 +02:00
|
|
|
return showscale.get() ? scaleFactor.get() : 1;
|
2018-08-20 20:12:14 +02:00
|
|
|
}
|
2015-08-01 18:36:33 -04:00
|
|
|
}
|