Chat-Transform/src/main/java/io/gitlab/jfronny/chattransform/Cfg.java

71 lines
2.2 KiB
Java

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<String, String> 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<String, Boolean> 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);
}
}