From 9b628723aa868b984a30e07567ad8bce16ecfdad Mon Sep 17 00:00:00 2001 From: QmelZ <59574967+QmelZ@users.noreply.github.com> Date: Tue, 28 Apr 2026 17:49:31 +0300 Subject: [PATCH 1/2] rename bundle to get proper syntax hl and match base game bundles --- assets/bundles/{bundle.shitpost => bundle_shitpost.properties} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename assets/bundles/{bundle.shitpost => bundle_shitpost.properties} (100%) diff --git a/assets/bundles/bundle.shitpost b/assets/bundles/bundle_shitpost.properties similarity index 100% rename from assets/bundles/bundle.shitpost rename to assets/bundles/bundle_shitpost.properties From 1dbbfcccef09a216a4dcaa0bf3d62f2d49c75bca Mon Sep 17 00:00:00 2001 From: QmelZ <59574967+QmelZ@users.noreply.github.com> Date: Tue, 28 Apr 2026 19:54:17 +0300 Subject: [PATCH 2/2] shitpost bundle --- src/meld/Meld.java | 7 +++++- src/meld/core/Bundles.java | 44 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 src/meld/core/Bundles.java diff --git a/src/meld/Meld.java b/src/meld/Meld.java index 7affe5f..1f20355 100644 --- a/src/meld/Meld.java +++ b/src/meld/Meld.java @@ -39,11 +39,16 @@ public class Meld extends Mod{ public static NativeJavaPackage p = null; public static Melting melting; - + public Meld(){ Events.on(EventType.ClientLoadEvent.class, e -> { MeldRegions.load(); }); + + Events.on(FileTreeInitEvent.class, e -> { + // TODO: potentially run earlier? + Bundles.load(); + }); } public static String prefix(String in){ diff --git a/src/meld/core/Bundles.java b/src/meld/core/Bundles.java new file mode 100644 index 0000000..9f11fbb --- /dev/null +++ b/src/meld/core/Bundles.java @@ -0,0 +1,44 @@ +package meld.core; + +import java.util.*; +import arc.*; +import arc.struct.*; +import arc.util.*; +import arc.util.io.*; +import meld.*; +import mindustry.*; +import mindustry.ui.dialogs.*; + +import static arc.Core.*; + +// very hacky dont do this +public final class Bundles{ + private static final Locale locale = new Locale("shitpost"); + + private Bundles(){} + + public static void load(){ + setupLocale(); + loadBundle(); + } + + private static void setupLocale(){ + Vars.locales = new Seq<>(Vars.locales).add(locale).toArray(); + LanguageDialog.displayNames.put(locale.toString(), "Meld Shitpost"); + } + + private static void loadBundle(){ + if(!settings.getString("locale").equals(locale.toString())) return; + Log.info("loading meld shitpost bundle"); + + var modRoot = Vars.mods.getMod(Meld.name).root; + var bundleFile = modRoot.child("bundles").child("bundle_" + locale + ".properties"); + if(!bundleFile.exists()){ + Log.warn("couldn't find shitpost bundle"); + return; + } + + Reflect.set(bundle, "locale", locale); + PropertiesUtils.load(bundle.getProperties(), bundleFile.reader()); + } +}