Как сделать отправку команд/сообщений как в моде Command Macros

Версия Minecraft
1.19.4
API
Forge
39
0
Мне нужно сделать такой функционал для мода, помогите пожалуйста.
 
Решение
Java:
private static final Minecraft mc = Minecraft.getInstance();

//Псевдокод, писал по памяти
@SubscribeEvent
public static void onKey(KeyInputEvent event) {
  
    //Крайне корявая реализация, лучше использовать KeyMapping'и
  
    if(event.getKey() == KeyboardKeys.L.getKeyCode()) {
        //... mc.player.connect....
    }
}

-_- Ознакомиться с базовым функционалом майна не должно составить труда, тем более, что ты уже смотрел исходники другого мода, где всё есть.
В зависимости от того, где ты хочешь это вызывать.
Где-то нужны будут эвенты, где-то можно переопределением встроенных методов добиться того же.

Вообще, мог бы сначала погуглить, ответов вполне достаточно должно найтись.
 
Java:
private static final Minecraft mc = Minecraft.getInstance();

//Псевдокод, писал по памяти
@SubscribeEvent
public static void onKey(KeyInputEvent event) {
  
    //Крайне корявая реализация, лучше использовать KeyMapping'и
  
    if(event.getKey() == KeyboardKeys.L.getKeyCode()) {
        //... mc.player.connect....
    }
}

-_- Ознакомиться с базовым функционалом майна не должно составить труда, тем более, что ты уже смотрел исходники другого мода, где всё есть.
 
Java:
import static net.minecraftforge.versions.forge.ForgeVersion.MOD_ID;

@Mod.EventBusSubscriber(modid = MOD_ID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT)

public class Keybind {

    private static final Minecraft mc = Minecraft.getInstance();

    @SubscribeEvent
    public void onKey(EntityItemPickupEvent event) {
        System.out.println("test");
        mc.player.connection.sendChat("test");
    }
}

Я сделал такой вот код, но когда захожу на сервер(на нем нет этого мода) не работает. что делать?
 
1) Почему в modid ты пихаешь фордж?
2) С EventBusSubscriber работают ТОЛЬКО статические поля. Если хочешь не-статические - будь добр, сам ставь слушателя.
3) Некоторые эвенты вызываются forge только на стороне сервера. EntityItemPickupEvent один из таких.
 
Назад
Сверху