Skip to content

Commit d907dc5

Browse files
feat: Switch to translatable texts
1 parent 17c572b commit d907dc5

File tree

8 files changed

+46
-21
lines changed

8 files changed

+46
-21
lines changed

build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id 'fabric-loom' version '1.7-SNAPSHOT'
2+
id 'fabric-loom' version '1.10-SNAPSHOT'
33
id 'maven-publish'
44
}
55

@@ -42,6 +42,7 @@ dependencies {
4242
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
4343
modImplementation("maven.modrinth:controlling:AfdAiHU4")
4444
modImplementation("maven.modrinth:searchables:sxC8II3c")
45+
// modImplementation("maven.modrinth:amecs-reborn:2.0.0")
4546
include(implementation("com.moulberry:mixinconstraints:1.0.1"))
4647

4748

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.21.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

src/main/java/wtf/cheeze/smkb/SaveMyKeybinds.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,6 @@ public void onInitialize() {
4646
}
4747
}
4848

49-
public static void sendToast(String title, String message) {
50-
sendToast(Text.literal(title), Text.literal(message));
51-
}
5249
public static void sendToast(Text title, Text message) {
5350
MinecraftClient.getInstance().getToastManager().add(new SystemToast(SystemToast.Type.PERIODIC_NOTIFICATION, title, message));
5451
}

src/main/java/wtf/cheeze/smkb/mixin/KeybindsScreenMixin.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public abstract class KeybindsScreenMixin {
4040
private void addCustomButton(CallbackInfo ci, @Local DirectionalLayoutWidget widget) {
4141
widget.add(SavePresetScreen.getButton());
4242
widget.add(LoadPresetScreen.getButton());
43-
SaveMyKeybinds.LOGGER.info("Added custom buttons");
4443
}
4544
@Inject(method = "initFooter", at = @At("TAIL"))
4645
private void addCustomButton2(CallbackInfo ci, @Local DirectionalLayoutWidget widget) {

src/main/java/wtf/cheeze/smkb/preset/PresetManager.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import com.google.gson.GsonBuilder;
2323
import net.minecraft.client.MinecraftClient;
2424
import net.minecraft.client.util.InputUtil;
25+
import net.minecraft.text.Text;
26+
import net.minecraft.util.Formatting;
2527
import wtf.cheeze.smkb.SaveMyKeybinds;
2628

2729
import java.io.FileWriter;
@@ -40,10 +42,10 @@ public static int savePreset(String name) {
4042
FileWriter writer = new FileWriter(presetFile.toFile());
4143
writer.write(GSON.toJson(preset));
4244
writer.close();
43-
SaveMyKeybinds.sendToast("§aPreset Saved", "Saved Preset " + name);
45+
SaveMyKeybinds.sendToast(Text.translatable("smkb.toast.save.success.title").formatted(Formatting.GREEN), Text.translatable("smkb.toast.save.success.body", name));
4446
} catch (Exception e) {
4547
SaveMyKeybinds.LOGGER.error("Failed to write preset file", e);
46-
SaveMyKeybinds.sendToast("Error Saving Preset", "Preset" + name + " could not be saved due to an error");
48+
SaveMyKeybinds.sendToast(Text.translatable("smkb.toast.save.failure.title").formatted(Formatting.RED), Text.translatable("smkb.toast.save.failure.body", name));
4749
return 0;
4850
}
4951
return 1;
@@ -60,10 +62,10 @@ public static int loadPreset(String name) {
6062
keybinding.setBoundKey(InputUtil.fromTranslationKey(presetBinding.key));
6163
}
6264
}
63-
SaveMyKeybinds.sendToast("§aPreset Loaded", "Loaded Preset " + name);
65+
SaveMyKeybinds.sendToast(Text.translatable("smkb.toast.load.success.title").formatted(Formatting.GREEN), Text.translatable("smkb.toast.load.success.body", name));
6466
} catch (Exception e) {
6567
SaveMyKeybinds.LOGGER.error("Failed to read preset file", e);
66-
SaveMyKeybinds.sendToast("Error Loading Preset", "Preset" + name + " could not be loaded due to an error");
68+
SaveMyKeybinds.sendToast(Text.translatable("smkb.toast.load.failure.title").formatted(Formatting.RED), Text.translatable("smkb.toast.load.failure.body", name));
6769
return 0;
6870
}
6971
return 1;
@@ -73,10 +75,10 @@ public static int deletePreset(String name) {
7375
try {
7476
Path presetFile = SaveMyKeybinds.FOLDER_PATH.resolve(name + ".preset.json");
7577
Files.delete(presetFile);
76-
SaveMyKeybinds.sendToast("§aPreset Deleted", "Deleted Preset " + name);
78+
SaveMyKeybinds.sendToast(Text.translatable("smkb.toast.delete.success.title").formatted(Formatting.GREEN), Text.translatable("smkb.toast.delete.success.body", name));
7779
} catch (Exception e) {
7880
SaveMyKeybinds.LOGGER.error("Failed to delete preset file", e);
79-
SaveMyKeybinds.sendToast("Error Deleting Preset", "Preset" + name + " could not be deleted due to an error");
81+
SaveMyKeybinds.sendToast(Text.translatable("smkb.toast.delete.failure.title").formatted(Formatting.RED), Text.translatable("smkb.toast.delete.failure.body", name));
8082
return 0;
8183
}
8284
return 1;

src/main/java/wtf/cheeze/smkb/screen/LoadPresetScreen.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,21 @@ public class LoadPresetScreen extends SMKBScreen {
3636
private final ButtonWidget loadButton;
3737

3838
public LoadPresetScreen(Screen parent) {
39-
super(Text.literal("Load Presets"), parent);
39+
super(Text.translatable("smkb.screen.loadPresets"), parent);
4040
this.listWidget = new ListWidget(
4141
MinecraftClient.getInstance(),
4242
MinecraftClient.getInstance().getWindow().getScaledWidth(),
4343
(int) (SMKBScreen.screenHeight() * 0.75f) - 25, 25, 20);
4444
int h = (int) (SMKBScreen.screenHeight() * 0.8f);
45-
this.deleteButton = ButtonWidget.builder(Text.literal("Delete"), button -> {
45+
this.deleteButton = ButtonWidget.builder(Text.translatable("smkb.screen.delete"), button -> {
4646
var t = listWidget.getSelectedOrNull();
4747
if (t == null) return;
4848
PresetManager.deletePreset(t.text);
4949
listWidget.reload();
5050

5151
}).dimensions(centerX() - 160 ,h,150,20).build();
5252

53-
this.loadButton = ButtonWidget.builder(Text.literal("Load"), button -> {
53+
this.loadButton = ButtonWidget.builder(Text.translatable("smkb.screen.load"), button -> {
5454
var t = listWidget.getSelectedOrNull();
5555
if (t == null) return;
5656

@@ -85,7 +85,7 @@ public void init() {
8585
}
8686

8787
public static ButtonWidget getButton() {
88-
return ButtonWidget.builder(Text.literal("Load Presets"), button -> {
88+
return ButtonWidget.builder(Text.translatable("smkb.screen.loadPresets"), button -> {
8989
MinecraftClient.getInstance().setScreen(new LoadPresetScreen(MinecraftClient.getInstance().currentScreen));
9090
}).width(74).build();
9191
}

src/main/java/wtf/cheeze/smkb/screen/SavePresetScreen.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
import net.minecraft.client.gui.screen.Screen;
2424
import net.minecraft.client.gui.widget.ButtonWidget;
2525
import net.minecraft.client.gui.widget.TextFieldWidget;
26+
import net.minecraft.client.resource.language.I18n;
2627
import net.minecraft.text.Text;
28+
import net.minecraft.util.Formatting;
2729
import org.intellij.lang.annotations.Language;
2830
import wtf.cheeze.smkb.SaveMyKeybinds;
2931
import wtf.cheeze.smkb.preset.PresetManager;
@@ -42,16 +44,16 @@ public class SavePresetScreen extends SMKBScreen {
4244

4345

4446
public SavePresetScreen(Screen parent) {
45-
super(Text.literal("Save Presets"), parent);
47+
super(Text.translatable("smkb.screen.savePresets"), parent);
4648
this.nameWidget = new TextFieldWidget(MinecraftClient.getInstance().textRenderer, centerX() - 150, 40, 300, 20, Text.literal("Preset"));
4749
this.saveWidget = ButtonWidget.builder(Text.literal("Save"), (button) -> {
4850
var t = nameWidget.getText();
4951
if (t.isBlank()) {
50-
SaveMyKeybinds.sendToast("Invalid Preset Name", "Preset name cannot be empty");
52+
SaveMyKeybinds.sendToast(Text.translatable("smkb.toast.invalid.empty.title").formatted(Formatting.RED), Text.translatable("smkb.toast.invalid.empty.body"));
5153
return;
5254
}
5355
if (FORBIDDEN_CHARS_PATTERN.matcher(t).find()) {
54-
SaveMyKeybinds.sendToast("Invalid Preset Name", "Preset name cannot contain any of the following characters: \\/:*?\"<>|");
56+
SaveMyKeybinds.sendToast(Text.translatable("smkb.toast.invalid.special.title").formatted(Formatting.RED), Text.translatable("smkb.toast.invalid.special.body"));
5557
return;
5658
}
5759
if (PresetManager.savePreset(t) != 0) {
@@ -72,11 +74,11 @@ public void init() {
7274
@Override
7375
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
7476
super.render(context, mouseX, mouseY, delta);
75-
context.drawCenteredTextWithShadow(textRenderer, Text.literal("Enter Preset Name"), centerX(), 27, 0xbbbbbb);
77+
context.drawCenteredTextWithShadow(textRenderer, Text.translatable("smkb.screen.enterName"), centerX(), 27, 0xbbbbbb);
7678
}
7779

7880
public static ButtonWidget getButton() {
79-
return ButtonWidget.builder(Text.literal("Save Presets"), button -> {
81+
return ButtonWidget.builder(Text.translatable("smkb.screen.savePresets"), button -> {
8082
MinecraftClient.getInstance().setScreen(new SavePresetScreen(MinecraftClient.getInstance().currentScreen));
8183
}).width(74).build();
8284
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"smkb.toast.save.success.title": "Saved Preset",
3+
"smkb.toast.save.success.body": "Saved preset %s",
4+
"smkb.toast.save.failure.title": "Error Saving Preset",
5+
"smkb.toast.save.failure.body": "Preset %s could not be saved due to an error",
6+
"smkb.toast.load.success.title": "Loaded Preset",
7+
"smkb.toast.load.success.body": "Loaded preset %s",
8+
"smkb.toast.load.failure.title": "Error Loading Preset",
9+
"smkb.toast.load.failure.body": "Preset %s could not be loaded due to an error",
10+
"smkb.toast.delete.success.title": "Deleted Preset",
11+
"smkb.toast.delete.success.body": "Deleted preset %s",
12+
"smkb.toast.delete.failure.title": "Error Deleting Preset",
13+
"smkb.toast.delete.failure.body": "Preset %s could not be deleted due to an error",
14+
"smkb.toast.invalid.empty.title": "Invalid Preset Name",
15+
"smkb.toast.invalid.empty.body": "Preset name cannot be empty",
16+
"smkb.toast.invalid.special.title": "Invalid Preset Name",
17+
"smkb.toast.invalid.special.body": "Preset name cannot contain any of the following characters: \\/:*?\"<>|",
18+
"smkb.screen.enterName": "Enter Preset Name",
19+
"smkb.screen.savePresets": "Save Presets",
20+
"smkb.screen.delete": "Delete",
21+
"smkb.screen.loadPresets": "Load Presets",
22+
"smkb.screen.load": "Load"
23+
24+
}

0 commit comments

Comments
 (0)