Гайд Как добавить команду .report / Expensive 3.1

  • Автор темы Автор темы SeFer
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
21 Ноя 2021
Сообщения
65
Реакции
1
1. Для начала нам нужно открыть папку по пути im.expensive.command.feature. Далее создаем класс ReportCommand.java и вставляем этот код и заменяем на ваш вебхук:


джавка:
Expand Collapse Copy
package im.expensive.command.impl.feature;

import im.expensive.command.Command;
import im.expensive.command.Parameters;
import im.expensive.command.impl.CommandException;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting;

import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.stream.Collectors;
import java.util.stream.Stream;

@RequiredArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class ReportCommand implements Command {

Minecraft mc = Minecraft.getInstance();
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());

@Override
    public void execute(Parameters parameters) {
// Получаем все параметры и объединяем их в одну строку
        String message = Stream.of(parameters.getAllParameters())
.map(Object::toString)
.collect(Collectors.joining(" ")).trim();

if (message.isEmpty()) {
throw new CommandException(TextFormatting.RED + "Необходимо указать сообщение.");
}

String webhookUrl = "https://discord.com/api/webhooks/1261290912013881377/wuc0L8d-CTvqy9aC_3F4Ex2N36z4t-onZ6wc9nUP8h7Ca3KRpafJKSurX8-D359iuRc_"; // Замените на ваш URL вебхука

        try {
URL url = new URL(webhookUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json");
connection.setDoOutput(true);

String jsonPayload = "{\"content\":\" "+ mc.player.getName().getUnformattedComponentText() + " / " + timeStamp + " / " + message + "\"}";

try (OutputStream os = connection.getOutputStream()) {
byte[] input = jsonPayload.getBytes("utf-8");
os.write(input, 0, input.length);
}

int responseCode = connection.getResponseCode();
if (responseCode == 204) {
System.out.println("Сообщение успешно отправлено в Discord.");
} else {
System.out.println("Ошибка при отправке сообщения в Discord. Код ответа: " + responseCode);
}

} catch (Exception e) {
e.printStackTrace();
}
}

@Override
    public String name() {
return "report";
}

@Override
    public String description() {
return "Отправить жалобу на недоработку/ошибку/идею";
}
}


2. Переходим по пути im.expensive.command.Parameters (Interface) и добавляем это:

джавка:
Expand Collapse Copy
String getAllParameters();

3. Переходим по пути im.expensive.command.impl.ParemetrsImpl и добавляем это:


джавка:
Expand Collapse Copy
    @Override
    public String getAllParameters() {
        return String.join(" ", Arrays.asList(parameters));
    }

4. Переходим по пути im.expensive и открываем главный класс Expensive.java. Ищем функцию initCommands() и пишем туда:

джавка:
Expand Collapse Copy
commands.add(new ReportCommand());

Пример:


джавка:
Expand Collapse Copy
private void initCommands() {
        Minecraft mc = Minecraft.getInstance();
        Logger logger = new MultiLogger(List.of(new ConsoleLogger(), new MinecraftLogger()));
        List<Command> commands = new ArrayList<>();
        Prefix prefix = new PrefixImpl();
        commands.add(new ListCommand(commands, logger));
        commands.add(new FriendCommand(prefix, logger, mc));
        commands.add(new BindCommand(prefix, logger));
        commands.add(new GPSCommand(prefix, logger));
        commands.add(new ConfigCommand(configStorage, prefix, logger));
        commands.add(new MacroCommand(macroManager, prefix, logger));
        commands.add(new VClipCommand(prefix, logger, mc));
        commands.add(new HClipCommand(prefix, logger, mc));
        commands.add(new StaffCommand(prefix, logger));
        commands.add(new MemoryCommand(logger));
        commands.add(new RCTCommand(logger, mc));
        commands.add(new ReportCommand());

        AdviceCommandFactory adviceCommandFactory = new AdviceCommandFactoryImpl(logger);
        ParametersFactory parametersFactory = new ParametersFactoryImpl();

        commandDispatcher = new StandaloneCommandDispatcher(commands, adviceCommandFactory, prefix, parametersFactory, logger);
    }

5. Готово, можем заходить в майн и проверять работоспособность функции.

ps не бить, мой первый гайд
 
Последнее редактирование:
1. Для начала нам нужно открыть папку по пути im.expensive.command.feature. Далее создаем класс ReportCommand.java и вставляем этот код и заменяем на ваш вебхук:


джавка:
Expand Collapse Copy
package im.expensive.command.impl.feature;

import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.util.text.TextFormatting;
import im.expensive.command.Command;
import im.expensive.command.Parameters;
import im.expensive.command.impl.CommandException;
import im.expensive.utils.client.IMinecraft;

import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.stream.Collectors;
import java.util.stream.Stream;

@RequiredArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class ReportCommand implements Command {
  
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());

    @Override
    public void execute(Parameters parameters) {
        String message = Stream.of(parameters.getAllParameters())
                .map(Object::toString)
                .collect(Collectors.joining(" ")).trim();

        if (message.isEmpty()) {
            throw new CommandException(TextFormatting.RED + "Необходимо указать сообщение.");
        }

        String webhookUrl = "СЮДА ВАШ ВЕБХУК";

        try {
            URL url = new URL(webhookUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Content-Type", "application/json");
            connection.setDoOutput(true);

            String jsonPayload = "{\"content\":\" "+ IMinecraft.mc.player.getName().getUnformattedComponentText() + " / " + timeStamp + " / " + message + "\"}";

            try (OutputStream os = connection.getOutputStream()) {
                byte[] input = jsonPayload.getBytes("utf-8");
                os.write(input, 0, input.length);
            }
          
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public String name() {
        return "report";
    }

    @Override
    public String description() {
        return "Отправить жалобу на недоработку/ошибку/идею";
    }
}


2. Переходим по пути im.expensive.command.Parameters (Interface) и добавляем это:

джавка:
Expand Collapse Copy
String getAllParameters();

3. Переходим по пути im.expensive.command.impl.ParemetrsImpl и добавляем это:


джавка:
Expand Collapse Copy
    @Override
    public String getAllParameters() {
        return String.join(" ", Arrays.asList(parameters));
    }

4. Переходим по пути im.expensive и открываем главный класс Expensive.java. Ищем функцию initCommands() и пишем туда:

джавка:
Expand Collapse Copy
commands.add(new ReportCommand());

Пример:


джавка:
Expand Collapse Copy
private void initCommands() {
        Minecraft mc = Minecraft.getInstance();
        Logger logger = new MultiLogger(List.of(new ConsoleLogger(), new MinecraftLogger()));
        List<Command> commands = new ArrayList<>();
        Prefix prefix = new PrefixImpl();
        commands.add(new ListCommand(commands, logger));
        commands.add(new FriendCommand(prefix, logger, mc));
        commands.add(new BindCommand(prefix, logger));
        commands.add(new GPSCommand(prefix, logger));
        commands.add(new ConfigCommand(configStorage, prefix, logger));
        commands.add(new MacroCommand(macroManager, prefix, logger));
        commands.add(new VClipCommand(prefix, logger, mc));
        commands.add(new HClipCommand(prefix, logger, mc));
        commands.add(new StaffCommand(prefix, logger));
        commands.add(new MemoryCommand(logger));
        commands.add(new RCTCommand(logger, mc));
        commands.add(new ReportCommand());

        AdviceCommandFactory adviceCommandFactory = new AdviceCommandFactoryImpl(logger);
        ParametersFactory parametersFactory = new ParametersFactoryImpl();

        commandDispatcher = new StandaloneCommandDispatcher(commands, adviceCommandFactory, prefix, parametersFactory, logger);
    }

5. Готово, можем заходить в майн и проверять работоспособность функции.

ps не бить, мой первый гайд
/del
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1. Для начала нам нужно открыть папку по пути im.expensive.command.feature. Далее создаем класс ReportCommand.java и вставляем этот код и заменяем на ваш вебхук:


джавка:
Expand Collapse Copy
package im.expensive.command.impl.feature;

import im.expensive.command.Command;
import im.expensive.command.Parameters;
import im.expensive.command.impl.CommandException;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting;

import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.stream.Collectors;
import java.util.stream.Stream;

@RequiredArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class ReportCommand implements Command {

Minecraft mc = Minecraft.getInstance();
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());

@Override
    public void execute(Parameters parameters) {
// Получаем все параметры и объединяем их в одну строку
        String message = Stream.of(parameters.getAllParameters())
.map(Object::toString)
.collect(Collectors.joining(" ")).trim();

if (message.isEmpty()) {
throw new CommandException(TextFormatting.RED + "Необходимо указать сообщение.");
}

String webhookUrl = "https://discord.com/api/webhooks/1261290912013881377/wuc0L8d-CTvqy9aC_3F4Ex2N36z4t-onZ6wc9nUP8h7Ca3KRpafJKSurX8-D359iuRc_"; // Замените на ваш URL вебхука

        try {
URL url = new URL(webhookUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json");
connection.setDoOutput(true);

String jsonPayload = "{\"content\":\" "+ mc.player.getName().getUnformattedComponentText() + " / " + timeStamp + " / " + message + "\"}";

try (OutputStream os = connection.getOutputStream()) {
byte[] input = jsonPayload.getBytes("utf-8");
os.write(input, 0, input.length);
}

int responseCode = connection.getResponseCode();
if (responseCode == 204) {
System.out.println("Сообщение успешно отправлено в Discord.");
} else {
System.out.println("Ошибка при отправке сообщения в Discord. Код ответа: " + responseCode);
}

} catch (Exception e) {
e.printStackTrace();
}
}

@Override
    public String name() {
return "report";
}

@Override
    public String description() {
return "Отправить жалобу на недоработку/ошибку/идею";
}
}


2. Переходим по пути im.expensive.command.Parameters (Interface) и добавляем это:

джавка:
Expand Collapse Copy
String getAllParameters();

3. Переходим по пути im.expensive.command.impl.ParemetrsImpl и добавляем это:


джавка:
Expand Collapse Copy
    @Override
    public String getAllParameters() {
        return String.join(" ", Arrays.asList(parameters));
    }

4. Переходим по пути im.expensive и открываем главный класс Expensive.java. Ищем функцию initCommands() и пишем туда:

джавка:
Expand Collapse Copy
commands.add(new ReportCommand());

Пример:


джавка:
Expand Collapse Copy
private void initCommands() {
        Minecraft mc = Minecraft.getInstance();
        Logger logger = new MultiLogger(List.of(new ConsoleLogger(), new MinecraftLogger()));
        List<Command> commands = new ArrayList<>();
        Prefix prefix = new PrefixImpl();
        commands.add(new ListCommand(commands, logger));
        commands.add(new FriendCommand(prefix, logger, mc));
        commands.add(new BindCommand(prefix, logger));
        commands.add(new GPSCommand(prefix, logger));
        commands.add(new ConfigCommand(configStorage, prefix, logger));
        commands.add(new MacroCommand(macroManager, prefix, logger));
        commands.add(new VClipCommand(prefix, logger, mc));
        commands.add(new HClipCommand(prefix, logger, mc));
        commands.add(new StaffCommand(prefix, logger));
        commands.add(new MemoryCommand(logger));
        commands.add(new RCTCommand(logger, mc));
        commands.add(new ReportCommand());

        AdviceCommandFactory adviceCommandFactory = new AdviceCommandFactoryImpl(logger);
        ParametersFactory parametersFactory = new ParametersFactoryImpl();

        commandDispatcher = new StandaloneCommandDispatcher(commands, adviceCommandFactory, prefix, parametersFactory, logger);
    }

5. Готово, можем заходить в майн и проверять работоспособность функции.

ps не бить, мой первый гайд
я тебе весь вебхук загадю
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
/del сливали
 
/del я сливал код на 3.1
 
1. Для начала нам нужно открыть папку по пути im.expensive.command.feature. Далее создаем класс ReportCommand.java и вставляем этот код и заменяем на ваш вебхук:


джавка:
Expand Collapse Copy
package im.expensive.command.impl.feature;

import im.expensive.command.Command;
import im.expensive.command.Parameters;
import im.expensive.command.impl.CommandException;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextFormatting;

import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.stream.Collectors;
import java.util.stream.Stream;

@RequiredArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class ReportCommand implements Command {

Minecraft mc = Minecraft.getInstance();
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());

@Override
    public void execute(Parameters parameters) {
// Получаем все параметры и объединяем их в одну строку
        String message = Stream.of(parameters.getAllParameters())
.map(Object::toString)
.collect(Collectors.joining(" ")).trim();

if (message.isEmpty()) {
throw new CommandException(TextFormatting.RED + "Необходимо указать сообщение.");
}

String webhookUrl = "https://discord.com/api/webhooks/1261290912013881377/wuc0L8d-CTvqy9aC_3F4Ex2N36z4t-onZ6wc9nUP8h7Ca3KRpafJKSurX8-D359iuRc_"; // Замените на ваш URL вебхука

        try {
URL url = new URL(webhookUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json");
connection.setDoOutput(true);

String jsonPayload = "{\"content\":\" "+ mc.player.getName().getUnformattedComponentText() + " / " + timeStamp + " / " + message + "\"}";

try (OutputStream os = connection.getOutputStream()) {
byte[] input = jsonPayload.getBytes("utf-8");
os.write(input, 0, input.length);
}

int responseCode = connection.getResponseCode();
if (responseCode == 204) {
System.out.println("Сообщение успешно отправлено в Discord.");
} else {
System.out.println("Ошибка при отправке сообщения в Discord. Код ответа: " + responseCode);
}

} catch (Exception e) {
e.printStackTrace();
}
}

@Override
    public String name() {
return "report";
}

@Override
    public String description() {
return "Отправить жалобу на недоработку/ошибку/идею";
}
}


2. Переходим по пути im.expensive.command.Parameters (Interface) и добавляем это:

джавка:
Expand Collapse Copy
String getAllParameters();

3. Переходим по пути im.expensive.command.impl.ParemetrsImpl и добавляем это:


джавка:
Expand Collapse Copy
    @Override
    public String getAllParameters() {
        return String.join(" ", Arrays.asList(parameters));
    }

4. Переходим по пути im.expensive и открываем главный класс Expensive.java. Ищем функцию initCommands() и пишем туда:

джавка:
Expand Collapse Copy
commands.add(new ReportCommand());

Пример:


джавка:
Expand Collapse Copy
private void initCommands() {
        Minecraft mc = Minecraft.getInstance();
        Logger logger = new MultiLogger(List.of(new ConsoleLogger(), new MinecraftLogger()));
        List<Command> commands = new ArrayList<>();
        Prefix prefix = new PrefixImpl();
        commands.add(new ListCommand(commands, logger));
        commands.add(new FriendCommand(prefix, logger, mc));
        commands.add(new BindCommand(prefix, logger));
        commands.add(new GPSCommand(prefix, logger));
        commands.add(new ConfigCommand(configStorage, prefix, logger));
        commands.add(new MacroCommand(macroManager, prefix, logger));
        commands.add(new VClipCommand(prefix, logger, mc));
        commands.add(new HClipCommand(prefix, logger, mc));
        commands.add(new StaffCommand(prefix, logger));
        commands.add(new MemoryCommand(logger));
        commands.add(new RCTCommand(logger, mc));
        commands.add(new ReportCommand());

        AdviceCommandFactory adviceCommandFactory = new AdviceCommandFactoryImpl(logger);
        ParametersFactory parametersFactory = new ParametersFactoryImpl();

        commandDispatcher = new StandaloneCommandDispatcher(commands, adviceCommandFactory, prefix, parametersFactory, logger);
    }

5. Готово, можем заходить в майн и проверять работоспособность функции.

ps не бить, мой первый гайд
/del мусор + chatgpt
 
Назад
Сверху Снизу