package io.gitlab.jfronny.chattransform; import io.gitlab.jfronny.commons.serialize.gson.api.v1.Ignore; import io.gitlab.jfronny.libjf.config.api.v1.*; import java.util.*; @JfConfig public class Cfg { @Entry public static Map substitutions = Map.of(); @Category public static class Client { @Entry public static Mode mode = Mode.Live; @Entry public static boolean visualize = true; } @Category public static class Server { @Entry public static boolean messageOnFirstConnect = true; @Entry public static Map playerStates = new HashMap<>(); @Entry public static boolean playerConfigurable = true; @Entry public static boolean defaultEnable = true; } public enum Mode { Live, OnSend } @Preset public static void owo() { substitutions = new LinkedHashMap<>(); substitutions.put("r", "w"); substitutions.put("l", "w"); substitutions.put("R", "W"); substitutions.put("L", "W"); substitutions.put("no", "nu"); substitutions.put("has", "haz"); substitutions.put("have", "haz"); substitutions.put("you", "uu"); substitutions.put("the ", "da "); substitutions.put("The ", "Da "); } @Ignore private static final char[] consonants = "bcdfghjklmprstwz".toCharArray(); @Preset public static void katakana() { substitutions = new LinkedHashMap<>(); substitutions.put("-", "ー"); for (char c : consonants) { substitutions.put("" + c + c, "ッ" + c); } substitutions.put("nn", "ン"); JapaneseMap.fromTable(JapaneseMap.katakanaTable, substitutions::put); System.out.println("katakana " + substitutions); } @Preset public static void hiragana() { substitutions = new LinkedHashMap<>(); substitutions.put("-", "ー"); for (char c : consonants) { substitutions.put("" + c + c, "っ" + c); } substitutions.put("nn", "ん"); JapaneseMap.fromTable(JapaneseMap.hiraganaTable, substitutions::put); System.out.println("hiragana " + substitutions); } }