Помогите Как сделать слушатель чата в стороннем приложении

  • Автор темы Автор темы SamyRed
  • Дата начала Дата начала

SamyRed

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
4ipolinoMiner
Здравствуййте. Вопрос такой:
Как сделать Java приложение, которое будет считывать сообщения из активного окна minecraft? Может подобные приложения уже есть, но я найти не смог. Если знаете - поделитесь, пожалуйста.
 
Тебе именно из активного окна?
Просто можно тупо подключиться к серверу и слушать себе сообщения.
 
LogRecord подойдёт вроде для этих дел, но не помню, перехватывает ли он сообщения.
 
Я не доконца поставил вопрос. Нужно чтоб я потом с этим сообщением мог работать.
Если знаете такой плагин ChatGame, хочу с помощью такого листенера считывать сообщения и автоматически их считать.
Может можно как-то через Output-client.log сделать...
Если кого-нибдь интересует готовый вариант - кидаю. Не судите строго (Это моя первая программа на Java). Код оооочень кривой, но в какой-то степени рабочий.
https://mega.nz/#!OpUAALIB!uIgJVowSEUtfcGv_1VaZxxcU0TMnFD8F0r0kDgZKmPs
Запускать надо через консоль (Java -jar путь к файлу)
 
Я не доконца поставил вопрос. Нужно чтоб я потом с этим сообщением мог работать.
Если знаете такой плагин ChatGame, хочу с помощью такого листенера считывать сообщения и автоматически их считать.
Может можно как-то через Output-client.log сделать...
Если кого-нибдь интересует готовый вариант - кидаю. Не судите строго (Это моя первая программа на Java). Код оооочень кривой, но в какой-то степени рабочий.
https://mega.nz/#!OpUAALIB!uIgJVowSEUtfcGv_1VaZxxcU0TMnFD8F0r0kDgZKmPs
Запускать надо через консоль (Java -jar путь к файлу)
Считали вы файлик, вывели на консоль, а зачем вы копируете его в буфер обмена?
 
Это чисто индивидуальная задачка для меня (Может кому нужно что-то подобное). Посмотрите плагин ChatGame - поймёте зачем :) А если в кратце - Мне надо решить пример, который отправляет сервер и отправить в чат. Если сделаю это первым - получу награду. То есть с помощью этого приложения мне останется только открыть чат, нажать ctrl + v и enter :) Такой себе читер)))
 
Это чисто индивидуальная задачка для меня (Может кому нужно что-то подобное). Посмотрите плагин ChatGame - поймёте зачем :) А если в кратце - Мне надо решить пример, который отправляет сервер и отправить в чат. Если сделаю это первым - получу награду. То есть с помощью этого приложения мне останется только открыть чат, нажать ctrl + v и enter :) Такой себе читер)))
icon_facepalm.gif
 
Это чисто индивидуальная задачка для меня (Может кому нужно что-то подобное). Посмотрите плагин ChatGame - поймёте зачем :) А если в кратце - Мне надо решить пример, который отправляет сервер и отправить в чат. Если сделаю это первым - получу награду. То есть с помощью этого приложения мне останется только открыть чат, нажать ctrl + v и enter :) Такой себе читер)))
Логи клиента читай.
 
А что в них не так?
 
Ну я как бы так и делаю.
Java:
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.io.*;
import javax.sound.sampled.*;

public class main {
    public static void main (String args[]){
        String nText = null;
        while (true) {
            String lText = "";
            try {
                Thread.sleep(600);
            } catch (InterruptedException e) {}
            String line = null;
            String line1 = null;
            Integer lineNumber = 0;
            String tmp;
            Integer first;
            Integer second;
            Integer summ;
            BufferedReader in;
            String[] array;
            try {
                File myFile =new File("C:\\emouru\\playon\\output-client.log");
                FileReader fileReader = new FileReader(myFile);
                LineNumberReader lineNumberReader = new LineNumberReader(fileReader);
                while (lineNumberReader.readLine() != null){
                    lineNumber++;
                }
                lineNumberReader.close();
            } catch(IOException e) {
                e.printStackTrace();
            }
            try{
                in = new BufferedReader(new FileReader("C:\\emouru\\playon\\output-client.log"));
                int i = 0;
                while ((tmp = in.readLine()) != null){
                    line = tmp;
                    if (i == lineNumber - 2) break;
                    i++;
                }
                in.close();
                System.out.println(line);
            } catch (FileNotFoundException exception){
                System.out.println("");
            } catch (IOException exception){
                System.out.println("");
            }
            if (line.indexOf("Решите пример: ") != -1){
                first = new Integer (line.substring(62,65));
                second = new Integer (line.substring(68, 71));
                summ = first + second;
                System.out.println ("Ответ:" + summ);
                StringSelection stringSelection = new StringSelection(Integer.toString(summ));
                Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
                clipboard.setContents(stringSelection, stringSelection);
                sound();
            }
        }
    }
    public static void sound(){
        try {
            File soundFile = new File("C:\\click.wav");
            AudioInputStream ais = AudioSystem.getAudioInputStream(soundFile);
            Clip clip = AudioSystem.getClip();
            clip.open(ais);
            clip.setFramePosition(0);
            clip.start();
            Thread.sleep(clip.getMicrosecondLength()/1000);
            clip.stop();
            clip.close();
        } catch (IOException | UnsupportedAudioFileException | LineUnavailableException exc) {
            exc.printStackTrace();
        } catch (InterruptedException exc) {}
    }
}
 
Последнее редактирование:
Очень было бы приятнее читать код, оформленный в теги CODE=Java.
 
Тебе мод писать лучше. Чтоб он чат ловил и за тебя ответ слал.
 
Тебе мод писать лучше. Чтоб он чат ловил и за тебя ответ слал.
Дело в том что не очень хотелось бы модифицировать клиент. А то что у меня, вроде как, не запрещено)) Я имею ввиду сервер. Не очень хотелось бы в бан лететь.
 
но сперва русифицировать надо
И че ты там русифицировать собрался? 'chcp 1251' перед запуском клиента непосильная задача написать?
Как-то раньше запускал майе через консоль с параметрами java
И че дальше то? Ввести ты ничего не сможешь. Совсем.

Можно конечно через програмку запускать майнкрафт через proccessbuider и парсить выхлоп лога, после чего использовать тот же буфер обмена, но что-то не то.
 
Можно попробовать разобрать, например, TL*unch*r, который заходит на сервера в клиенте при одним лишь щелчке в лаунчере.
 
Можно попробовать разобрать, например, TL*unch*r, который заходит на сервера в клиенте при одним лишь щелчке в лаунчере.
это совершенно другое. он клиенту аргумент запуска подмешивает и тот знает куда логиниться. это встроенная функция клиента.
 
это совершенно другое. он клиенту аргумент запуска подмешивает и тот знает куда логиниться. это встроенная функция клиента.
Первый раз слышу, что такой аргумент существует. Ну что ж, тогда ладно...
А причем здесь заход?
Я думал, что лаунчер взаимодействует непосредственно с приложением-клиентом. Но Jampire уже пояснил...
 
Назад
Верх