Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-79893

Can't type words in Asia

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • None
    • Minecraft 1.8.1, Minecraft 1.8.3, Minecraft 1.8.4
    • None
    • NO mater what Enviroment
    • Unconfirmed

      can't type any language it seems that change some class can fix it
      My friend tried to fix axu.class in version 1.8.3 and it works

      the code like that

      import com.google.common.base.Splitter;
      import com.google.common.collect.Lists;
      import com.google.common.collect.Sets;
      import java.awt.Toolkit;
      import java.awt.datatransfer.Clipboard;
      import java.awt.datatransfer.DataFlavor;
      import java.awt.datatransfer.StringSelection;
      import java.awt.datatransfer.Transferable;
      import java.io.File;
      import java.lang.reflect.Method;
      import java.net.URI;
      import java.net.URISyntaxException;
      import java.util.Arrays;
      import java.util.List;
      import java.util.Set;
      import org.apache.commons.lang3.StringUtils;
      import org.apache.logging.log4j.LogManager;
      import org.apache.logging.log4j.Logger;
      import org.lwjgl.input.Keyboard;
      import org.lwjgl.input.Mouse;
      import tv.twitch.chat.ChatUserInfo;
      
      public abstract class axv
        extends avq
        implements awy
      {
        private static final Logger a = ;
        private static final Set<String> f = Sets.newHashSet(new String[] { "http", "https" });
        private static final Splitter g = Splitter.on('\n');
        protected avf j;
        protected bji k;
        public int l;
        public int m;
        protected List<avt> n = Lists.newArrayList();
        protected List<avz> o = Lists.newArrayList();
        public boolean p;
        protected avo q;
        private avt h;
        private int i;
        private long r;
        private int s;
        private URI t;
        
        public void a(int \u2603, int \u2603, float \u2603)
        {
          for (int \u2603 = 0; \u2603 < n.size(); \u2603++) {
            ((avt)n.get(\u2603)).a(j, \u2603, \u2603);
          }
          for (int \u2603 = 0; \u2603 < o.size(); \u2603++) {
            ((avz)o.get(\u2603)).a(j, \u2603, \u2603);
          }
        }
        
        protected void a(char \u2603, int \u2603)
        {
          if (\u2603 == 1)
          {
            j.a(null);
            if (j.m == null) {
              j.n();
            }
          }
        }
        
        public static String o()
        {
          try
          {
            Transferable \u2603 = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
            if ((\u2603 != null) && (\u2603.isDataFlavorSupported(DataFlavor.stringFlavor))) {
              return (String)\u2603.getTransferData(DataFlavor.stringFlavor);
            }
          }
          catch (Exception localException) {}
          return "";
        }
        
        public static void e(String \u2603)
        {
          if (StringUtils.isEmpty(\u2603)) {
            return;
          }
          try
          {
            StringSelection \u2603 = new StringSelection(\u2603);
            Toolkit.getDefaultToolkit().getSystemClipboard().setContents(\u2603, null);
          }
          catch (Exception localException) {}
        }
        
        protected void a(zy \u2603, int \u2603, int \u2603)
        {
          List<String> \u2603 = \u2603.a(j.h, j.t.x);
          for (int \u2603 = 0; \u2603 < \u2603.size(); \u2603++) {
            if (\u2603 == 0) {
              \u2603.set(\u2603, ue + (String)\u2603.get(\u2603));
            } else {
              \u2603.set(\u2603, a.h + (String)\u2603.get(\u2603));
            }
          }
          a(\u2603, \u2603, \u2603);
        }
        
        protected void a(String \u2603, int \u2603, int \u2603)
        {
          a(Arrays.asList(new String[] { \u2603 }), \u2603, \u2603);
        }
        
        protected void a(List<String> \u2603, int \u2603, int \u2603)
        {
          if (\u2603.isEmpty()) {
            return;
          }
          bfm.C();
          avd.a();
          bfm.f();
          bfm.i();
          
          int \u2603 = 0;
          for (String \u2603 : \u2603)
          {
            int \u2603 = q.a(\u2603);
            if (\u2603 > \u2603) {
              \u2603 = \u2603;
            }
          }
          int \u2603 = \u2603 + 12;
          int \u2603 = \u2603 - 12;
          
          int \u2603 = \u2603;
          int \u2603 = 8;
          if (\u2603.size() > 1) {
            \u2603 += 2 + (\u2603.size() - 1) * 10;
          }
          if (\u2603 + \u2603 > l) {
            \u2603 -= 28 + \u2603;
          }
          if (\u2603 + \u2603 + 6 > m) {
            \u2603 = m - \u2603 - 6;
          }
          e = 300.0F;
          k.a = 300.0F;
          
          int \u2603 = -267386864;
          a(\u2603 - 3, \u2603 - 4, \u2603 + \u2603 + 3, \u2603 - 3, \u2603, \u2603);
          a(\u2603 - 3, \u2603 + \u2603 + 3, \u2603 + \u2603 + 3, \u2603 + \u2603 + 4, \u2603, \u2603);
          
          a(\u2603 - 3, \u2603 - 3, \u2603 + \u2603 + 3, \u2603 + \u2603 + 3, \u2603, \u2603);
          a(\u2603 - 4, \u2603 - 3, \u2603 - 3, \u2603 + \u2603 + 3, \u2603, \u2603);
          a(\u2603 + \u2603 + 3, \u2603 - 3, \u2603 + \u2603 + 4, \u2603 + \u2603 + 3, \u2603, \u2603);
          
          int \u2603 = 1347420415;
          int \u2603 = (\u2603 & 0xFEFEFE) >> 1 | \u2603 & 0xFF000000;
          
          a(\u2603 - 3, \u2603 - 3 + 1, \u2603 - 3 + 1, \u2603 + \u2603 + 3 - 1, \u2603, \u2603);
          a(\u2603 + \u2603 + 2, \u2603 - 3 + 1, \u2603 + \u2603 + 3, \u2603 + \u2603 + 3 - 1, \u2603, \u2603);
          
          a(\u2603 - 3, \u2603 - 3, \u2603 + \u2603 + 3, \u2603 - 3 + 1, \u2603, \u2603);
          a(\u2603 - 3, \u2603 + \u2603 + 2, \u2603 + \u2603 + 3, \u2603 + \u2603 + 3, \u2603, \u2603);
          for (int \u2603 = 0; \u2603 < \u2603.size(); \u2603++)
          {
            String \u2603 = (String)\u2603.get(\u2603);
            
            q.a(\u2603, \u2603, \u2603, -1);
            if (\u2603 == 0) {
              \u2603 += 2;
            }
            \u2603 += 10;
          }
          e = 0.0F;
          k.a = 0.0F;
          
          bfm.e();
          bfm.j();
          avd.b();
          bfm.B();
        }
        
        protected void a(ev \u2603, int \u2603, int \u2603)
        {
          if ((\u2603 == null) || (\u2603.b().i() == null)) {
            return;
          }
          ex \u2603 = \u2603.b().i();
          if (\u2603.a() == ex.a.c)
          {
            zy \u2603 = null;
            try
            {
              ec \u2603 = ee.a(\u2603.b().c());
              if ((\u2603 instanceof dp)) {
                \u2603 = zy.a((dp)\u2603);
              }
            }
            catch (ed localed1) {}
            if (\u2603 != null) {
              a(\u2603, \u2603, \u2603);
            } else {
              a(a.m + "Invalid Item!", \u2603, \u2603);
            }
          }
          else if (\u2603.a() == ex.a.d)
          {
            if (j.t.x) {
              try
              {
                ec \u2603 = ee.a(\u2603.b().c());
                if ((\u2603 instanceof dp))
                {
                  List<String> \u2603 = Lists.newArrayList();
                  dp \u2603 = (dp)\u2603;
                  \u2603.add(\u2603.j("name"));
                  if (\u2603.b("type", 8))
                  {
                    String \u2603 = \u2603.j("type");
                    \u2603.add("Type: " + \u2603 + " (" + pn.a(\u2603) + ")");
                  }
                  \u2603.add(\u2603.j("id"));
                  a(\u2603, \u2603, \u2603);
                }
                else
                {
                  a(a.m + "Invalid Entity!", \u2603, \u2603);
                }
              }
              catch (ed \u2603)
              {
                a(a.m + "Invalid Entity!", \u2603, \u2603);
              }
            }
          }
          else if (\u2603.a() == ex.a.a)
          {
            a(g.splitToList(\u2603.b().d()), \u2603, \u2603);
          }
          else if (\u2603.a() == ex.a.b)
          {
            mx \u2603 = nb.a(\u2603.b().c());
            if (\u2603 != null)
            {
              ev \u2603 = \u2603.e();
              ev \u2603 = new fc("stats.tooltip.type." + (\u2603.d() ? "achievement" : "statistic"), new Object[0]);
              \u2603.b().b(Boolean.valueOf(true));
              String \u2603 = (\u2603 instanceof mr) ? ((mr)\u2603).f() : null;
              List<String> \u2603 = Lists.newArrayList(new String[] { \u2603.d(), \u2603.d() });
              if (\u2603 != null) {
                \u2603.addAll(q.c(\u2603, 150));
              }
              a(\u2603, \u2603, \u2603);
            }
            else
            {
              a(a.m + "Invalid statistic/achievement!", \u2603, \u2603);
            }
          }
          bfm.f();
        }
        
        protected boolean a(ev \u2603)
        {
          if (\u2603 == null) {
            return false;
          }
          eu \u2603 = \u2603.b().h();
          if (r())
          {
            if (\u2603.b().j() != null) {
              a(\u2603.b().j(), false);
            }
          }
          else if (\u2603 != null)
          {
            if (\u2603.a() == eu.a.a)
            {
              if (!j.t.n) {
                return false;
              }
              try
              {
                URI \u2603 = new URI(\u2603.b());
                
      
                String \u2603 = \u2603.getScheme();
                if (\u2603 == null) {
                  throw new URISyntaxException(\u2603.b(), "Missing protocol");
                }
                if (!f.contains(\u2603.toLowerCase())) {
                  throw new URISyntaxException(\u2603.b(), "Unsupported protocol: " + \u2603.toLowerCase());
                }
                if (j.t.o)
                {
                  t = \u2603;
                  j.a(new awx(this, \u2603.b(), 31102009, false));
                }
                else
                {
                  a(\u2603);
                }
              }
              catch (URISyntaxException \u2603)
              {
                a.error("Can't open url for " + \u2603, \u2603);
              }
            }
            else if (\u2603.a() == eu.a.b)
            {
              URI \u2603 = new File(\u2603.b()).toURI();
              a(\u2603);
            }
            else if (\u2603.a() == eu.a.e)
            {
              a(\u2603.b(), true);
            }
            else if (\u2603.a() == eu.a.c)
            {
              b(\u2603.b(), false);
            }
            else if (\u2603.a() == eu.a.d)
            {
              ChatUserInfo \u2603 = j.Y().e(\u2603.b());
              if (\u2603 != null) {
                j.a(new bac(j.Y(), \u2603));
              } else {
                a.error("Tried to handle twitch user but couldn't find them!");
              }
            }
            else
            {
              a.error("Don't know how to handle " + \u2603);
            }
            return true;
          }
          return false;
        }
        
        public void f(String \u2603)
        {
          b(\u2603, true);
        }
        
        public void b(String \u2603, boolean \u2603)
        {
          if (\u2603) {
            j.q.d().a(\u2603);
          }
          j.h.e(\u2603);
        }
        
        protected void a(int \u2603, int \u2603, int \u2603)
        {
          if (\u2603 == 0) {
            for (int \u2603 = 0; \u2603 < n.size(); \u2603++)
            {
              avt \u2603 = (avt)n.get(\u2603);
              if (\u2603.c(j, \u2603, \u2603))
              {
                h = \u2603;
                \u2603.a(j.W());
                a(\u2603);
              }
            }
          }
        }
        
        protected void b(int \u2603, int \u2603, int \u2603)
        {
          if ((h != null) && (\u2603 == 0))
          {
            h.a(\u2603, \u2603);
            h = null;
          }
        }
        
        public void a(avf \u2603, int \u2603, int \u2603)
        {
          j = \u2603;
          k = \u2603.ag();
          q = k;
          l = \u2603;
          m = \u2603;
          n.clear();
          b();
        }
        
        public void p()
        {
          if (Mouse.isCreated()) {
            while (Mouse.next()) {
              k();
            }
          }
          if (Keyboard.isCreated()) {
            while (Keyboard.next()) {
              l();
            }
          }
        }
        
        public void k()
        {
          int \u2603 = Mouse.getEventX() * l / j.d;
          int \u2603 = m - Mouse.getEventY() * m / j.e - 1;
          
          int \u2603 = Mouse.getEventButton();
          if (Mouse.getEventButtonState())
          {
            if ((j.t.z) && (s++ > 0)) {
              return;
            }
            i = \u2603;
            r = avf.J();
            a(\u2603, \u2603, i);
          }
          else if (\u2603 != -1)
          {
            if ((j.t.z) && (--s > 0)) {
              return;
            }
            i = -1;
            b(\u2603, \u2603, \u2603);
          }
          else if ((i != -1) && (r > 0L))
          {
            long \u2603 = avf.J() - r;
            a(\u2603, \u2603, i, \u2603);
          }
        }
        
        public void c()
        {
          b_(0);
        }
        
        public void b_(int \u2603)
        {
          if (j.f != null) {
            a(0, 0, l, m, -1072689136, -804253680);
          } else {
            c(\u2603);
          }
        }
        
        public void c(int \u2603)
        {
          bfm.f();
          bfm.n();
          bfy \u2603 = bfy.a();
          bfe \u2603 = \u2603.c();
          j.P().a(b);
          bfm.c(1.0F, 1.0F, 1.0F, 1.0F);
          float \u2603 = 32.0F;
          \u2603.a(7, bmt.i);
          \u2603.b(0.0D, m, 0.0D).a(0.0D, m / 32.0F + \u2603).b(64, 64, 64, 255).d();
          \u2603.b(l, m, 0.0D).a(l / 32.0F, m / 32.0F + \u2603).b(64, 64, 64, 255).d();
          \u2603.b(l, 0.0D, 0.0D).a(l / 32.0F, \u2603).b(64, 64, 64, 255).d();
          \u2603.b(0.0D, 0.0D, 0.0D).a(0.0D, \u2603).b(64, 64, 64, 255).d();
          \u2603.b();
        }
        
        public boolean d()
        {
          return true;
        }
        
        public void a(boolean \u2603, int \u2603)
        {
          if (\u2603 == 31102009)
          {
            if (\u2603) {
              a(t);
            }
            t = null;
            j.a(this);
          }
        }
        
        private void a(URI \u2603)
        {
          try
          {
            Class<?> \u2603 = Class.forName("java.awt.Desktop");
            Object \u2603 = \u2603.getMethod("getDesktop", new Class[0]).invoke(null, new Object[0]);
            \u2603.getMethod("browse", new Class[] { URI.class }).invoke(\u2603, new Object[] { \u2603 });
          }
          catch (Throwable \u2603)
          {
            a.error("Couldn't open link", \u2603);
          }
        }
        
        public static boolean q()
        {
          if (avf.a) {
            return (Keyboard.isKeyDown(219)) || (Keyboard.isKeyDown(220));
          }
          return (Keyboard.isKeyDown(29)) || (Keyboard.isKeyDown(157));
        }
        
        public static boolean r()
        {
          return (Keyboard.isKeyDown(42)) || (Keyboard.isKeyDown(54));
        }
        
        public static boolean s()
        {
          return (Keyboard.isKeyDown(56)) || (Keyboard.isKeyDown(184));
        }
        
        public static boolean d(int \u2603)
        {
          return (\u2603 == 45) && (q());
        }
        
        public static boolean e(int \u2603)
        {
          return (\u2603 == 47) && (q());
        }
        
        public static boolean f(int \u2603)
        {
          return (\u2603 == 46) && (q());
        }
        
        public static boolean g(int \u2603)
        {
          return (\u2603 == 30) && (q());
        }
        
        public void b(avf \u2603, int \u2603, int \u2603)
        {
          a(\u2603, \u2603, \u2603);
        }
        
        public void l()
        {
          int k = Keyboard.getEventKey();
          char c = Keyboard.getEventCharacter();
          if ((Keyboard.getEventKeyState()) || ((k == 0) && (Character.isDefined(c)))) {
            a(c, k);
          }
          j.Z();
        }
        
        protected void a(String \u2603, boolean \u2603) {}
        
        protected void a(int \u2603, int \u2603, int \u2603, long \u2603) {}
        
        protected void a(avt \u2603) {}
        
        public void b() {}
        
        public void e() {}
        
        public void m() {}
      }
      

            Unassigned Unassigned
            Ghost_Fly Zhanghai
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: