Skip to content

Commit

Permalink
feat(utils): LanguageUtils
Browse files Browse the repository at this point in the history
  • Loading branch information
WakelessSloth56 committed Mar 27, 2022
1 parent 99eca3e commit 2f179d3
Showing 1 changed file with 38 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package org.auioc.mods.arnicalib.utils.game;

import java.util.List;
import com.mojang.brigadier.suggestion.SuggestionProvider;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.language.ClientLanguage;
import net.minecraft.client.resources.language.LanguageInfo;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.SharedSuggestionProvider;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

@OnlyIn(Dist.CLIENT)
public interface LanguageUtils {

LanguageInfo DEFAULT_LANGUAGE = new LanguageInfo("en_us", "US", "English", false);

SuggestionProvider<CommandSourceStack> ALL_LANGUAGES_SUGGESTION = (ctx, builder) -> {
return SharedSuggestionProvider.suggest(Minecraft.getInstance().getLanguageManager().getLanguages().stream().map(LanguageInfo::getCode), builder);
};

static ClientLanguage getLanguage(LanguageInfo langInfo) {
return ClientLanguage.loadFrom(
Minecraft.getInstance().getResourceManager(),
List.of(langInfo)
);
}

static ClientLanguage getLanguage(String langCode) {
var langInfo = Minecraft.getInstance().getLanguageManager().getLanguage(langCode);
if (langInfo == null) {
langInfo = DEFAULT_LANGUAGE;
}

return getLanguage(langInfo);
}

}

0 comments on commit 2f179d3

Please # to comment.