Skip to content

Commit 1386ff7

Browse files
committed
add some settings, not working
1 parent 7d22386 commit 1386ff7

5 files changed

Lines changed: 134 additions & 1 deletion

File tree

src/main/java/dsns/betterhud/mods/Biome.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,18 @@
1010

1111
import dsns.betterhud.util.BaseMod;
1212
import dsns.betterhud.util.CustomText;
13+
import dsns.betterhud.util.ModSettings;
1314

1415
public class Biome implements BaseMod {
1516
@Override
1617
public String getModID() {
1718
return "Biome";
1819
}
20+
21+
@Override
22+
public ModSettings getModSettings() {
23+
return new ModSettings("top-right");
24+
}
1925

2026
@Override
2127
public CustomText onStartTick(MinecraftClient client) {

src/main/java/dsns/betterhud/mods/Coordinates.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,18 @@
44
import net.minecraft.entity.player.PlayerEntity;
55
import dsns.betterhud.util.BaseMod;
66
import dsns.betterhud.util.CustomText;
7+
import dsns.betterhud.util.ModSettings;
78

89
public class Coordinates implements BaseMod {
910
@Override
1011
public String getModID() {
1112
return "Coordinates";
1213
}
14+
15+
@Override
16+
public ModSettings getModSettings() {
17+
return new ModSettings("top-right");
18+
}
1319

1420
@Override
1521
public CustomText onStartTick(MinecraftClient client) {

src/main/java/dsns/betterhud/util/BaseMod.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
public interface BaseMod {
66
public String getModID();
7-
7+
8+
public ModSettings getModSettings();
9+
810
public CustomText onStartTick(MinecraftClient client);
911
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package dsns.betterhud.util;
2+
3+
import java.util.HashMap;
4+
5+
public class ModSettings {
6+
private HashMap<String, Setting> settings = new HashMap<String, Setting>();
7+
8+
public ModSettings() {
9+
settings.put("enabled", Setting.createBooleanSetting(true));
10+
11+
settings.put(
12+
"orientation",
13+
Setting.createStringSetting(
14+
"top-left",
15+
new String[] {
16+
"top-left",
17+
"top-right",
18+
"bottom-left",
19+
"bottom-right",
20+
}
21+
)
22+
);
23+
24+
settings.put("customPosition", Setting.createBooleanSetting(false));
25+
settings.put("customX", Setting.createIntegerSetting(0, 0, 100));
26+
settings.put("customY", Setting.createIntegerSetting(0, 0, 100));
27+
settings.put("textColor", Setting.createColorSetting(0xffffffff));
28+
settings.put("backgroundColor", Setting.createColorSetting(0x00000000));
29+
}
30+
31+
public ModSettings(String orientation) {
32+
super();
33+
settings.replace(
34+
"orientation",
35+
Setting.createStringSetting(
36+
orientation,
37+
new String[] {
38+
"top-left",
39+
"top-right",
40+
"bottom-left",
41+
"bottom-right",
42+
}
43+
)
44+
);
45+
}
46+
47+
public HashMap<String, Setting> getSettings() {
48+
return settings;
49+
}
50+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package dsns.betterhud.util;
2+
3+
public class Setting {
4+
5+
private String value;
6+
private String type;
7+
private String[] possibleValues;
8+
9+
public Setting(String value, String type, String[] possibleValues) {
10+
this.value = value;
11+
this.type = type;
12+
this.possibleValues = possibleValues;
13+
}
14+
15+
public static Setting createStringSetting(
16+
String value,
17+
String[] possibleValues
18+
) {
19+
return new Setting(value, "string", possibleValues);
20+
}
21+
22+
public static Setting createBooleanSetting(boolean value) {
23+
return new Setting(
24+
String.valueOf(value),
25+
"boolean",
26+
new String[] { "true", "false" }
27+
);
28+
}
29+
30+
public static Setting createIntegerSetting(int value, int min, int max) {
31+
return new Setting(
32+
String.valueOf(value),
33+
"integer",
34+
new String[] { String.valueOf(min), String.valueOf(max) }
35+
);
36+
}
37+
38+
public static Setting createColorSetting(int value) {
39+
return new Setting(
40+
String.valueOf(value),
41+
"color",
42+
new String[] { String.valueOf(0x00000000), String.valueOf(0xffffffff) }
43+
);
44+
}
45+
46+
public static Setting createDoubleSetting(
47+
double value,
48+
double min,
49+
double max
50+
) {
51+
return new Setting(
52+
String.valueOf(value),
53+
"double",
54+
new String[] { String.valueOf(min), String.valueOf(max) }
55+
);
56+
}
57+
58+
public String getType() {
59+
return type;
60+
}
61+
62+
public String getValue() {
63+
return value;
64+
}
65+
66+
public String[] getPossibleValues() {
67+
return possibleValues;
68+
}
69+
}

0 commit comments

Comments
 (0)