Skip to content

Commit 05bcbc1

Browse files
committed
Try and fix file encoding errors
1 parent 603dc9a commit 05bcbc1

3 files changed

Lines changed: 28 additions & 5 deletions

File tree

src/main/java/dev/dfonline/codeclient/FileManager.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import dev.dfonline.codeclient.config.Config;
44

5-
import java.io.*;
5+
import java.io.IOException;
66
import java.nio.charset.Charset;
77
import java.nio.file.Files;
88
import java.nio.file.Path;
@@ -20,10 +20,18 @@ public static Path Path(){
2020
}
2121

2222
public static Path writeFile(String fileName, String content) throws IOException {
23+
return writeFile(fileName, content, true);
24+
}
25+
public static Path writeFile(String fileName, String content, boolean doCharSet) throws IOException {
2326
Path path = Path().resolve(fileName);
2427
Files.deleteIfExists(path);
2528
Files.createFile(path);
26-
Files.write(path,content.getBytes(), StandardOpenOption.WRITE);
29+
if(doCharSet) {
30+
Files.write(path, content.getBytes(Config.getConfig().SaveCharSet.charSet), StandardOpenOption.WRITE);
31+
}
32+
else {
33+
Files.write(path, content.getBytes(), StandardOpenOption.WRITE);
34+
}
2735
return path;
2836
}
2937

src/main/java/dev/dfonline/codeclient/action/impl/GetActionDump.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public boolean onReceivePacket(Packet<?> packet) {
7070
OverlayManager.addOverlayText(Text.literal("GetActionDump:").formatted(Formatting.GOLD));
7171
OverlayManager.addOverlayText(Text.literal("Size: ").formatted(Formatting.LIGHT_PURPLE).append(Text.literal(String.valueOf(length)).formatted(Formatting.GREEN)));
7272
OverlayManager.addOverlayText(Text.literal("Lines: ").formatted(Formatting.LIGHT_PURPLE).append(Text.literal(String.valueOf(lines)).formatted(Formatting.GREEN)));
73-
OverlayManager.addOverlayText(Text.literal("Time: ").formatted(Formatting.LIGHT_PURPLE).append(Text.literal(String.valueOf((float) (new Date().getTime() - startTime.getTime()) / 1000))).formatted(Formatting.GREEN));
73+
OverlayManager.addOverlayText(Text.literal("Time: ").formatted(Formatting.LIGHT_PURPLE).append(Text.literal(String.valueOf((float) (new Date().getTime() - startTime.getTime()) / 1000)).formatted(Formatting.GREEN)));
7474
if(Objects.equals(content, "}")) {
7575
isDone = true;
7676
OverlayManager.addOverlayText(Text.literal(""));

src/main/java/dev/dfonline/codeclient/config/Config.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ public class Config {
3636
public LayerInteractionMode CodeLayerInteractionMode = LayerInteractionMode.AUTO;
3737
public boolean AirControl = false;
3838
public boolean FocusSearch = false;
39+
public CharSetOption SaveCharSet = CharSetOption.UTF_8;
3940

4041
private void save() {
4142
try {
@@ -58,7 +59,8 @@ private void save() {
5859
object.addProperty("CodeLayerInteractionMode",CodeLayerInteractionMode.name());
5960
object.addProperty("AirControl",AirControl);
6061
object.addProperty("FocusSearch",FocusSearch);
61-
FileManager.writeFile("options.json", object.toString());
62+
object.addProperty("SaveCharSet",SaveCharSet.name());
63+
FileManager.writeFile("options.json", object.toString(), false);
6264
} catch (Exception e) {
6365
CodeClient.LOGGER.info("Couldn't save config: " + e);
6466
}
@@ -104,7 +106,7 @@ public YetAnotherConfigLib getLibConfig() {
104106
.flag(OptionFlag.GAME_RESTART)
105107
.build())
106108
.option(Option.createBuilder(CharSetOption.class)
107-
.name(Text.literal("File Charset"))
109+
.name(Text.literal("Read Charset"))
108110
.description(OptionDescription.createBuilder()
109111
.text(Text.literal("Can fix artifacts in ActionDump loading."))
110112
.build())
@@ -116,6 +118,19 @@ public YetAnotherConfigLib getLibConfig() {
116118
.flag(minecraftClient -> ActionDump.clear())
117119
.controller(nodeOption -> () -> new EnumController<>(nodeOption, CharSetOption.class))
118120
.build())
121+
.option(Option.createBuilder(CharSetOption.class)
122+
.name(Text.literal("Save Charset"))
123+
.description(OptionDescription.createBuilder()
124+
.text(Text.literal("When getting the actiondump get it in a needed format."),Text.literal("Default recommended."))
125+
.build())
126+
.binding(
127+
CharSetOption.UTF_8,
128+
() -> SaveCharSet,
129+
opt -> SaveCharSet = opt
130+
)
131+
.flag(minecraftClient -> ActionDump.clear())
132+
.controller(nodeOption -> () -> new EnumController<>(nodeOption, CharSetOption.class))
133+
.build())
119134
.option(Option.createBuilder(boolean.class)
120135
.name(Text.literal("Auto Fly"))
121136
.description(OptionDescription.createBuilder()

0 commit comments

Comments
 (0)