package dev.crucifixbeta.api.utils.i18n;

import dev.crucifixbeta.mod.modules.Module;
import dev.crucifixbeta.mod.modules.impl.client.ClientSetting;
import java.util.HashMap;
import java.util.Map;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;

@Environment(EnvType.CLIENT)
public final class LangUtil {
   private static final Map<String, String> TOKENS;

   private LangUtil() {
   }

   public static boolean isChinese() {
      ClientSetting var0 = ClientSetting.INSTANCE;
      return var0 != null && var0.chinese.getValue();
   }

   public static String category(Module.Category category) {
      if (!isChinese()) {
         return category.name();
      } else {
         return switch (category) {
            case Combat -> "\u6218\u6597";
            case Misc -> "\u6742\u9879";
            case Render -> "\u6e32\u67d3";
            case Movement -> "\u79fb\u52a8";
            case Player -> "\u73a9\u5bb6";
            case Exploit -> "\u5229\u7528";
            case Client -> "\u5ba2\u6237\u7aef";
            case Debug -> "debug";
            case HUD -> "\u754c\u9762";
         };
      }
   }

   public static String setting(String raw) {
      if (!isChinese()) {
         return raw;
      } else if (raw == null || raw.isEmpty()) {
         return raw;
      } else {
         return containsCjk(raw) ? raw : translateParts(splitTokens(raw));
      }
   }

   public static String enumValue(Enum<?> e) {
      if (e == null) {
         return "";
      } else if (("_3c3u").equals(e.name())) {
         return "3c3u";
      } else {
         String var1 = e.toString();
         if (var1 == null || var1.isEmpty()) {
            var1 = e.name();
         }

         if (!isChinese()) {
            return var1;
         } else {
            return containsCjk(var1) ? var1 : translateParts(splitTokens(var1));
         }
      }
   }

   public static String ui(String en, String zh) {
      return isChinese() ? zh : en;
   }

   private static boolean containsCjk(String s) {
      for (int var1 = 0; var1 < s.length(); var1++) {
         char var2 = s.charAt(var1);
         if (var2 >= 19968 && var2 <= '鿿') {
            return true;
         }
      }

      return false;
   }

   private static String[] splitTokens(String raw) {
      String var1 = raw.replace('_', ' ').replace('-', ' ').trim();
      StringBuilder var2 = new StringBuilder();
      char var3 = 0;

      for (int var4 = 0; var4 < var1.length(); var4++) {
         char var5 = var1.charAt(var4);
         if (var4 > 0 && Character.isLetterOrDigit(var5)) {
            boolean var6 = Character.isLowerCase(var3) && Character.isUpperCase(var5);
            boolean var7 = Character.isLetter(var3) && Character.isDigit(var5);
            boolean var8 = Character.isUpperCase(var3)
               && Character.isUpperCase(var5)
               && var4 + 1 < var1.length()
               && Character.isLowerCase(var1.charAt(var4 + 1));
            if (var6 || var7 || var8) {
               var2.append(' ');
            }
         }

         var2.append(var5);
         var3 = var5;
      }

      return var2.toString().split("\\s+");
   }

   private static String translateParts(String[] parts) {
      StringBuilder var1 = new StringBuilder();

      for (int var2 = 0; var2 < parts.length; var2++) {
         String var3 = parts[var2];
         if (var3 != null && !var3.isEmpty()) {
            String var4 = var3.toLowerCase();
            if (var2 + 1 < parts.length) {
               String var5 = parts[var2 + 1] == null ? "" : parts[var2 + 1].toLowerCase();
               if (var4.equals("cool") && var5.equals("down")) {
                  var1.append(tokenOrRaw("cooldown", "CoolDown"));
                  var2++;
                  continue;
               }

               if (var4.equals("in") && var5.equals("water")) {
                  var1.append("\u6c34\u4e2d");
                  var2++;
                  continue;
               }

               if (var4.equals("in") && var5.equals("block")) {
                  var1.append("\u65b9\u5757\u5185");
                  var2++;
                  continue;
               }

               if (var4.equals("air") && var5.equals("stop")) {
                  var1.append("\u7a7a\u505c");
                  var2++;
                  continue;
               }

               if (var4.equals("lag") && var5.equals("time")) {
                  var1.append("\u5ef6\u8fdf\u65f6\u95f4");
                  var2++;
                  continue;
               }
            }

            String var6 = TOKENS.get(var4);
            var1.append(var6 != null ? var6 : var3);
         }
      }

      return var1.toString();
   }

   private static String tokenOrRaw(String token, String raw) {
      String var2 = TOKENS.get(token);
      return var2 != null ? var2 : raw;
   }

   static {

      TOKENS = new HashMap<>();
      TOKENS.put("page", "\u9875\u9762");
      TOKENS.put("delay", "\u5ef6\u8fdf");
      TOKENS.put("range", "\u8303\u56f4");
      TOKENS.put("min", "\u6700\u5c0f");
      TOKENS.put("max", "\u6700\u5927");
      TOKENS.put("speed", "\u901f\u5ea6");
      TOKENS.put("strength", "\u5f3a\u5ea6");
      TOKENS.put("radius", "\u534a\u5f84");
      TOKENS.put("size", "\u5927\u5c0f");
      TOKENS.put("width", "\u5bbd\u5ea6");
      TOKENS.put("height", "\u9ad8\u5ea6");
      TOKENS.put("scale", "\u7f29\u653e");
      TOKENS.put("x", "X");
      TOKENS.put("y", "Y");
      TOKENS.put("z", "Z");
      TOKENS.put("offset", "\u504f\u79fb");
      TOKENS.put("color", "\u989c\u8272");
      TOKENS.put("mode", "\u6a21\u5f0f");
      TOKENS.put("enable", "\u542f\u7528");
      TOKENS.put("disable", "\u7981\u7528");
      TOKENS.put("auto", "\u81ea\u52a8");
      TOKENS.put("render", "\u6e32\u67d3");
      TOKENS.put("rendering", "\u6e32\u67d3");
      TOKENS.put("up", "\u5411\u4e0a");
      TOKENS.put("down", "\u5411\u4e0b");
      TOKENS.put("in", "\u5728");
      TOKENS.put("air", "\u7a7a\u6c14");
      TOKENS.put("stop", "\u505c\u6b62");
      TOKENS.put("time", "\u65f6\u95f4");
      TOKENS.put("jump", "\u8df3\u8dc3");
      TOKENS.put("cooldown", "\u51b7\u5374");
      TOKENS.put("cool", "\u51b7\u5374");
      TOKENS.put("silent", "\u9759\u9ed8");
      TOKENS.put("close", "\u5173\u95ed");
      TOKENS.put("open", "\u6253\u5f00");
      TOKENS.put("swap", "\u4ea4\u6362");
      TOKENS.put("switch", "\u5207\u6362");
      TOKENS.put("list", "\u5217\u8868");
      TOKENS.put("module", "\u6a21\u5757");
      TOKENS.put("icon", "\u56fe\u6807");
      TOKENS.put("glow", "\u5149\u6655");
      TOKENS.put("rainbow", "\u5f69\u8679");
      TOKENS.put("pulse", "\u8109\u51b2");
      TOKENS.put("saturation", "\u9971\u548c\u5ea6");
      TOKENS.put("factor", "\u7cfb\u6570");
      TOKENS.put("h", "\u6c34\u5e73");
      TOKENS.put("v", "\u5782\u76f4");
      TOKENS.put("velocity", "\u901f\u5ea6");
      TOKENS.put("explosion", "\u7206\u70b8");
      TOKENS.put("explosions", "\u7206\u70b8");
      TOKENS.put("boost", "\u589e\u5f3a");
      TOKENS.put("strafe", "\u4fa7\u79fb");
      TOKENS.put("block", "\u65b9\u5757");
      TOKENS.put("slow", "\u7f13\u6162");
      TOKENS.put("slowness", "\u7f13\u6162");
      TOKENS.put("lag", "\u5ef6\u8fdf");
      TOKENS.put("slot", "\u69fd\u4f4d");
      TOKENS.put("key", "\u6309\u952e");
      TOKENS.put("reset", "\u91cd\u7f6e");
      TOKENS.put("default", "\u9ed8\u8ba4");
      TOKENS.put("background", "\u80cc\u666f");
      TOKENS.put("border", "\u8fb9\u6846");
      TOKENS.put("grid", "\u7f51\u683c");
      TOKENS.put("rotate", "\u65cb\u8f6c");
      TOKENS.put("shadow", "\u9634\u5f71");
      TOKENS.put("font", "\u5b57\u4f53");
      TOKENS.put("text", "\u6587\u5b57");
      TOKENS.put("only", "\u4ec5");
      TOKENS.put("no", "\u4e0d");
      TOKENS.put("on", "\u5f00");
      TOKENS.put("off", "\u5173");
      TOKENS.put("self", "\u81ea\u8eab");
      TOKENS.put("main", "\u4e3b");
      TOKENS.put("hand", "\u624b");
      TOKENS.put("head", "\u5934");
      TOKENS.put("feet", "\u811a");
      TOKENS.put("name", "\u540d\u79f0");
      TOKENS.put("show", "\u663e\u793a");
      TOKENS.put("sound", "\u97f3\u6548");
      TOKENS.put("message", "\u6d88\u606f");
      TOKENS.put("bar", "\u8fdb\u5ea6\u6761");
      TOKENS.put("place", "\u653e\u7f6e");
      TOKENS.put("break", "\u7834\u574f");
      TOKENS.put("fill", "\u586b\u5145");
      TOKENS.put("move", "\u79fb\u52a8");
      TOKENS.put("step", "\u8de8\u8d8a");
      TOKENS.put("steps", "\u6b65\u6570");
      TOKENS.put("fall", "\u6389\u843d");
      TOKENS.put("ground", "\u5730\u9762");
      TOKENS.put("flying", "\u98de\u884c");
      TOKENS.put("mine", "\u6316\u6398");
      TOKENS.put("mining", "\u6316\u6398");
      TOKENS.put("eating", "\u8fdb\u98df");
      TOKENS.put("check", "\u68c0\u6d4b");
      TOKENS.put("detect", "\u68c0\u6d4b");
      TOKENS.put("ignore", "\u5ffd\u7565");
      TOKENS.put("skip", "\u8df3\u8fc7");
      TOKENS.put("allow", "\u5141\u8bb8");
      TOKENS.put("keep", "\u4fdd\u7559");
      TOKENS.put("force", "\u5f3a\u5236");
      TOKENS.put("prefer", "\u4f18\u5148");
      TOKENS.put("smart", "\u667a\u80fd");
      TOKENS.put("custom", "\u81ea\u5b9a\u4e49");
      TOKENS.put("random", "\u968f\u673a");
      TOKENS.put("sync", "\u540c\u6b65");
      TOKENS.put("update", "\u66f4\u65b0");
      TOKENS.put("apply", "\u5e94\u7528");
      TOKENS.put("start", "\u5f00\u59cb");
      TOKENS.put("end", "\u7ed3\u675f");
      TOKENS.put("wait", "\u7b49\u5f85");
      TOKENS.put("timeout", "\u8d85\u65f6");
      TOKENS.put("pause", "\u6682\u505c");
      TOKENS.put("attack", "\u653b\u51fb");
      TOKENS.put("target", "\u76ee\u6807");
      TOKENS.put("priority", "\u4f18\u5148\u7ea7");
      TOKENS.put("packet", "\u6570\u636e\u5305");
      TOKENS.put("packets", "\u6570\u636e\u5305");
      TOKENS.put("predict", "\u9884\u6d4b");
      TOKENS.put("rotation", "\u65cb\u8f6c");
      TOKENS.put("yaw", "Yaw");
      TOKENS.put("pitch", "Pitch");
      TOKENS.put("pos", "\u4f4d\u7f6e");
      TOKENS.put("position", "\u4f4d\u7f6e");
      TOKENS.put("distance", "\u8ddd\u79bb");
      TOKENS.put("range", "\u8303\u56f4");
      TOKENS.put("fov", "FOV");
      TOKENS.put("xz", "XZ");
      TOKENS.put("inventory", "\u80cc\u5305");
      TOKENS.put("item", "\u7269\u54c1");
      TOKENS.put("items", "\u7269\u54c1");
      TOKENS.put("totem", "\u4e0d\u6b7b\u56fe\u817e");
      TOKENS.put("health", "\u8840\u91cf");
      TOKENS.put("resistance", "\u6297\u6027");
      TOKENS.put("outline", "\u63cf\u8fb9");
      TOKENS.put("fade", "\u6de1\u5165\u6de1\u51fa");
      TOKENS.put("alpha", "\u900f\u660e\u5ea6");
      TOKENS.put("blur", "\u6a21\u7cca");
      TOKENS.put("animation", "\u52a8\u753b");
      TOKENS.put("length", "\u65f6\u957f");
      TOKENS.put("threshold", "\u9608\u503c");
      TOKENS.put("weight", "\u6743\u91cd");
      TOKENS.put("count", "\u8ba1\u6570");
      TOKENS.put("tick", "Tick");
      TOKENS.put("ticks", "Tick");
      TOKENS.put("per", "\u6bcf");
      TOKENS.put("friends", "\u597d\u53cb");
      TOKENS.put("friend", "\u597d\u53cb");
      TOKENS.put("players", "\u73a9\u5bb6");
      TOKENS.put("player", "\u73a9\u5bb6");
      TOKENS.put("entity", "\u5b9e\u4f53");
      TOKENS.put("surround", "\u56f4\u4f4f");
      TOKENS.put("piston", "\u6d3b\u585e");
      TOKENS.put("obsidian", "\u9ed1\u66dc\u77f3");
      TOKENS.put("crystal", "\u6c34\u6676");
      TOKENS.put("elytra", "\u9798\u7fc5");
      TOKENS.put("sneak", "\u6f5c\u884c");
      TOKENS.put("web", "\u8718\u86db\u7f51");
      TOKENS.put("wall", "\u5899");
      TOKENS.put("out", "\u5916");
      TOKENS.put("inside", "\u5185");
      TOKENS.put("face", "\u9762\u5411");
      TOKENS.put("hit", "\u547d\u4e2d");
      TOKENS.put("throw", "\u4e22\u5f03");
      TOKENS.put("use", "\u4f7f\u7528");
      TOKENS.put("using", "\u4f7f\u7528\u4e2d");
      TOKENS.put("correct", "\u6821\u6b63");
      TOKENS.put("spam", "\u5237\u5c4f");
      TOKENS.put("snow", "\u96ea");
      TOKENS.put("banner", "\u5e55\u5e03");
      TOKENS.put("fire", "\u706b");
      TOKENS.put("box", "\u65b9\u6846");
      TOKENS.put("full", "\u5b8c\u6574");
      TOKENS.put("line", "\u7ebf\u6761");
      TOKENS.put("stage", "\u9636\u6bb5");
      TOKENS.put("anti", "\u9632");
      TOKENS.put("back", "\u8fd4\u56de");
      TOKENS.put("timer", "\u8ba1\u65f6\u5668");
      TOKENS.put("motion", "\u52a8\u4f5c");
      TOKENS.put("swing", "\u6325\u624b");
      TOKENS.put("side", "\u4fa7");
      TOKENS.put("center", "\u4e2d\u5fc3");
      TOKENS.put("top", "\u9876\u90e8");
      TOKENS.put("first", "\u7b2c\u4e00");
      TOKENS.put("second", "\u7b2c\u4e8c");
      TOKENS.put("after", "\u4e4b\u540e");
      TOKENS.put("safe", "\u5b89\u5168");
      TOKENS.put("unsafe", "\u5371\u9669");
      TOKENS.put("bypass", "\u7ed5\u8fc7");
      TOKENS.put("instant", "\u77ac\u95f4");
      TOKENS.put("fix", "\u4fee\u590d");
      TOKENS.put("interact", "\u4ea4\u4e92");
      TOKENS.put("looking", "\u770b\u5411");
      TOKENS.put("look", "\u89c6\u89d2");
      TOKENS.put("yaw", "Yaw");
      TOKENS.put("pitch", "Pitch");
      TOKENS.put("hud", "HUD");
      TOKENS.put("gui", "GUI");
      TOKENS.put("chat", "\u804a\u5929");
      TOKENS.put("debug", "\u8c03\u8bd5");
      TOKENS.put("progress", "\u8fdb\u5ea6");
      TOKENS.put("prefix", "\u524d\u7f00");
      TOKENS.put("teleport", "\u4f20\u9001");
      TOKENS.put("hotbar", "\u5feb\u6377\u680f");
      TOKENS.put("damage", "\u4f24\u5bb3");
      TOKENS.put("hurt", "\u53d7\u4f24");
      TOKENS.put("power", "\u5f3a\u5ea6");
      TOKENS.put("multiplier", "\u500d\u6570");
      TOKENS.put("limit", "\u4e0a\u9650");
      TOKENS.put("infinite", "\u65e0\u9650");
      TOKENS.put("cancel", "\u53d6\u6d88");
      TOKENS.put("overlay", "\u8986\u76d6");
      TOKENS.put("fog", "\u96fe");
      TOKENS.put("red", "\u7ea2\u8272");
      TOKENS.put("status", "\u72b6\u6001");
      TOKENS.put("chunks", "Chunks");
      TOKENS.put("base", "\u57fa\u7840");
      TOKENS.put("old", "\u65e7");
      TOKENS.put("boat", "\u8239");
      TOKENS.put("ghost", "\u5e7d\u7075");
      TOKENS.put("falling", "\u4e0b\u843d");
      TOKENS.put("crawling", "\u722c\u884c");
      TOKENS.put("sweep", "\u6e05\u626b");
      TOKENS.put("shulker", "\u6f5c\u5f71\u76d2");
      TOKENS.put("firework", "\u70df\u82b1");
      TOKENS.put("stone", "\u77f3");
      TOKENS.put("glowstone", "\u8424\u77f3");
      TOKENS.put("burrow", "Burrow");
      TOKENS.put("anchor", "Anchor");
      TOKENS.put("chams", "Chams");
      TOKENS.put("grim", "Grim");
      TOKENS.put("double", "\u53cc\u500d");
      TOKENS.put("whisper", "\u79c1\u804a");
      TOKENS.put("gap", "\u95f4\u9694");
      TOKENS.put("extend", "\u5ef6\u4f38");
      TOKENS.put("hover", "\u60ac\u505c");
      TOKENS.put("kit", "\u5957\u88c5");
      TOKENS.put("enemy", "\u654c\u4eba");
      TOKENS.put("push", "\u63a8\u52a8");
      TOKENS.put("set", "\u8bbe\u7f6e");
      TOKENS.put("assist", "\u8f85\u52a9");
      TOKENS.put("avoid", "\u907f\u514d");
      TOKENS.put("exploit", "\u5229\u7528");
      TOKENS.put("anim", "\u52a8\u753b");
      TOKENS.put("frame", "\u5e27");
      TOKENS.put("lock", "\u9501\u5b9a");
      TOKENS.put("hole", "\u6d1e");
      TOKENS.put("override", "\u8986\u76d6");
      TOKENS.put("trash", "\u5783\u573e");
      TOKENS.put("potions", "\u836f\u6c34");
      TOKENS.put("circle", "\u5706");
      TOKENS.put("esp", "ESP");
      TOKENS.put("bg", "\u80cc\u666f");
      TOKENS.put("counter", "\u8ba1\u6570\u5668");
      TOKENS.put("add", "\u6dfb\u52a0");
      TOKENS.put("offhand", "\u526f\u624b");
      TOKENS.put("cast", "\u65bd\u653e");
      TOKENS.put("points", "\u70b9");
      TOKENS.put("ice", "\u51b0");
      TOKENS.put("leg", "\u817f");
      TOKENS.put("through", "\u7a7f\u900f");
      TOKENS.put("log", "\u65e5\u5fd7");
      TOKENS.put("release", "\u91ca\u653e");
      TOKENS.put("xp", "\u7ecf\u9a8c");
      TOKENS.put("vertical", "\u5782\u76f4");
      TOKENS.put("turtle", "\u6d77\u9f9f");
      TOKENS.put("spin", "\u65cb\u8f6c");
      TOKENS.put("hold", "\u6301\u6709");
      TOKENS.put("fast", "\u5feb\u901f");
      TOKENS.put("when", "\u5f53");
      TOKENS.put("detection", "\u68c0\u6d4b");
      TOKENS.put("simulation", "\u6a21\u62df");
      TOKENS.put("2d", "2D");
      TOKENS.put("active", "\u6fc0\u6d3b");
      TOKENS.put("all", "\u5168\u90e8");
      TOKENS.put("mobs", "\u751f\u7269");
      TOKENS.put("indicator", "\u6307\u793a\u5668");
      TOKENS.put("collide", "\u78b0\u649e");
      TOKENS.put("liquid", "\u6db2\u4f53");
      TOKENS.put("window", "\u7a97\u53e3");
      TOKENS.put("parkour", "\u8dd1\u9177");
      TOKENS.put("toggle", "\u5207\u6362");
      TOKENS.put("clear", "\u6e05\u7a7a");
      TOKENS.put("dis", "\u8ddd\u79bb");
      TOKENS.put("while", "\u5f53");
      TOKENS.put("person", "\u4eba");
      TOKENS.put("multi", "\u591a");
      TOKENS.put("low", "\u4f4e");
      TOKENS.put("spawn", "\u751f\u6210");
      TOKENS.put("screen", "\u5c4f\u5e55");
      TOKENS.put("slider", "\u6ed1\u6761");
      TOKENS.put("one", "\u4e00");
      TOKENS.put("others", "\u5176\u4ed6");
      TOKENS.put("strict", "\u4e25\u683c");
      TOKENS.put("exp", "\u7ecf\u9a8c");
      TOKENS.put("portal", "\u4f20\u9001\u95e8");
      TOKENS.put("totems", "\u4e0d\u6b7b\u56fe\u817e");
      TOKENS.put("fixed", "\u56fa\u5b9a");
      TOKENS.put("win", "\u7a97\u53e3");
      TOKENS.put("zero", "\u96f6");
      TOKENS.put("charge", "\u5145\u80fd");
      TOKENS.put("movement", "\u79fb\u52a8");
      TOKENS.put("downward", "\u5411\u4e0b");
      TOKENS.put("shift", "Shift");
      TOKENS.put("fake", "\u4f2a\u88c5");
      TOKENS.put("rate", "\u6bd4\u7387");
      TOKENS.put("trapdoor", "\u9677\u9631\u95e8");
      TOKENS.put("remove", "\u79fb\u9664");
      TOKENS.put("command", "\u547d\u4ee4");
      TOKENS.put("sprint", "\u51b2\u523a");
      TOKENS.put("animals", "\u52a8\u7269");
      TOKENS.put("bevel", "\u659c\u89d2");
      TOKENS.put("aim", "\u7784\u51c6");
      TOKENS.put("bed", "\u5e8a");
      TOKENS.put("balance", "\u5e73\u8861");
      TOKENS.put("spacing", "\u95f4\u8ddd");
      TOKENS.put("pops", "\u7206\u56fe\u817e");
      TOKENS.put("reminder", "\u63d0\u793a");
      TOKENS.put("breaker", "\u7834\u574f\u8005");
      TOKENS.put("other", "\u5176\u4ed6");
      TOKENS.put("forward", "\u5411\u524d");
      TOKENS.put("sand", "\u6c99\u5b50");
      TOKENS.put("sphere", "\u7403");
      TOKENS.put("invisible", "\u9690\u5f62");
      TOKENS.put("slimes", "\u53f2\u83b1\u59c6");
      TOKENS.put("empty", "\u7a7a");
      TOKENS.put("weather", "\u5929\u6c14");
      TOKENS.put("tasks", "\u4efb\u52a1");
      TOKENS.put("legit", "\u5408\u6cd5");
      TOKENS.put("idle", "\u7a7a\u95f2");
      TOKENS.put("less", "\u66f4\u5c11");
      TOKENS.put("cover", "\u8986\u76d6");
      TOKENS.put("avatar", "\u5934\u50cf");
      TOKENS.put("god", "\u795e\u5668");
      TOKENS.put("fluctuation", "\u6ce2\u52a8");
      TOKENS.put("rect", "\u77e9\u5f62");
      TOKENS.put("pop", "\u7206");
      TOKENS.put("jitter", "\u6296\u52a8");
      TOKENS.put("cev", "Cev");
      TOKENS.put("client", "\u5ba2\u6237\u7aef");
      TOKENS.put("space", "\u7a7a\u95f4");
      TOKENS.put("stand", "\u7ad9\u7acb");
      TOKENS.put("webs", "\u8718\u86db\u7f51");
      TOKENS.put("deceive", "\u6b3a\u9a97");
      TOKENS.put("weapon", "\u6b66\u5668");
      TOKENS.put("terrain", "\u5730\u5f62");
      TOKENS.put("diagonal", "\u5bf9\u89d2");
      TOKENS.put("apple", "\u82f9\u679c");
      TOKENS.put("sneaking", "\u6f5c\u884c");
      TOKENS.put("respawn", "\u91cd\u751f");
      TOKENS.put("send", "\u53d1\u9001");
      TOKENS.put("click", "\u70b9\u51fb");
      TOKENS.put("suffix", "\u540e\u7f00");
      TOKENS.put("edit", "\u7f16\u8f91");
      TOKENS.put("tag", "\u6807\u7b7e");
      TOKENS.put("tags", "\u6807\u7b7e");
      TOKENS.put("drop", "\u4e22\u5f03");
      TOKENS.put("walls", "\u5899");
      TOKENS.put("hard", "\u96be");
      TOKENS.put("villagers", "\u6751\u6c11");
      TOKENS.put("level", "\u7b49\u7ea7");
      TOKENS.put("world", "\u4e16\u754c");
      TOKENS.put("fish", "\u9c7c");
      TOKENS.put("info", "\u4fe1\u606f");
      TOKENS.put("fps", "\u5e27\u7387");
      TOKENS.put("ping", "\u5ef6\u8fdf");
      TOKENS.put("tps", "TPS");
      TOKENS.put("packets", "\u53d1\u5305");
      TOKENS.put("server", "\u670d\u52a1\u5668");
      TOKENS.put("brand", "\u54c1\u724c");
      TOKENS.put("coords", "\u5750\u6807");
      TOKENS.put("player", "\u73a9\u5bb6");
      TOKENS.put("model", "\u6a21\u578b");
      TOKENS.put("watermark", "\u6c34\u5370");
      TOKENS.put("title", "\u6807\u9898");
      TOKENS.put("interval", "\u95f4\u9694");
      TOKENS.put("sort", "\u6392\u5e8f");
      TOKENS.put("lower", "\u5c0f\u5199");
      TOKENS.put("armor", "\u62a4\u7532");
      TOKENS.put("sword", "\u5251");
      TOKENS.put("pickaxe", "\u9562");
      TOKENS.put("axe", "\u65a7");
      TOKENS.put("bow", "\u5f13");
      TOKENS.put("food", "\u98df\u7269");
      TOKENS.put("blocks", "\u65b9\u5757");
      TOKENS.put("pearl", "\u672b\u5f71\u73cd\u73e0");
      TOKENS.put("pearls", "\u672b\u5f71\u73cd\u73e0");
      TOKENS.put("gapple", "\u91d1\u82f9\u679c");
      TOKENS.put("gapples", "\u91d1\u82f9\u679c");
      TOKENS.put("arrow", "\u7bad");
      TOKENS.put("arrows", "\u7bad");
      TOKENS.put("compass", "\u6307\u5357\u9488");
      TOKENS.put("water", "\u6c34");
      TOKENS.put("bucket", "\u6876");
      TOKENS.put("ender", "\u672b\u5f71");
      TOKENS.put("chest", "\u7bb1\u5b50");
      TOKENS.put("spear", "\u957f\u77db");
      TOKENS.put("ms", "\u6beb\u79d2");
      TOKENS.put("compat", "\u517c\u5bb9");
   }
}
