Вы используете устаревший браузер

Ваш браузер устарел, и поэтому некоторые важные функции этого сайта могут не работать. Пожалуйста, обновитесь то более современного браузера. :(

[Forge 1.20.1] Задать мобу цель нажатием кнопки в его меню

    Anessan
    не в сети

    Посетители

    Звание: Зелёный

    Трофеев: 1

    Сообщений: 3

    Итак, сейчас я пытаюсь написать логику в кнопку и вроде бы все логично, но кнопка почему-то даже не срабатывает при попытке ее нажать. Она ничего не делает.

    Мой код из screen файла:


    @Override
        public void init() {
            super.init();
            this.button = addRenderableWidget(
                Button.builder(
                    FOLLOWME_BUTTON,
                    this::handleFollowMeButton)
                    .bounds(this.leftPos + 8, this.topPos + 11, 65, 20)
                    .build());
        }
    
    	private void handleFollowMeButton(Button button) {
            GoblinBuilders.PACKET_HANDLER.sendToServer(new GoblinBuilderGuiButtonMessage(0, x, y, z));
            GoblinBuilderGuiButtonMessage.handleFollowMeButton(entity, 0, x, y, z);
        }


    Мой код из GoblinBuilderGuiButtonMessage файла:

    public static void handler(GoblinBuilderGuiButtonMessage message, Supplier<NetworkEvent.Context> contextSupplier) {
            NetworkEvent.Context context = contextSupplier.get();
            context.enqueueWork(() -> {
                Player entity = context.getSender();
                int buttonID = message.buttonID;
                int x = message.x;
                int y = message.y;
                int z = message.z;
                handleFollowMeButton(entity, buttonID, x, y, z);
            });
            context.setPacketHandled(true);
        }
    
        public static void handleFollowMeButton(Player entity, int buttonID, int x, int y, int z) {
            Level world = entity.level();
            HashMap guistate = GoblinBuilderMenu.guistate;
            if (buttonID == 0) {
    
                FollowMeButton.execute(entity);
            }
        }


    Мой код из FollowMeButton файла:

    public class FollowMeButton {
        public static void execute(Entity entity) {
            if (entity instanceof GoblinBuilderEntity _toFollow) {
                _toFollow.goalSelector.addGoal(1, new FollowOwnerGoal(_toFollow, 1.0, 10.0F, 2.0F, false));
            }
        }
    }
    Сообщение отредактировал Anessan 23 марта 2024 - 19:03

    #1 | 23 марта 2024 - 19:02

    Jesterios
    на сайте

    Посетители

    Звание: Любитель понажимать кнопки

    Трофеев: 4

    Сообщений: 62

    Симпатий: 139

    В классе Screen есть метод keyPressed, обрабатывай там и вызывай свой метод с отправкой пакета на сервер

    #2 | 23 марта 2024 - 20:42

Статистика форума

Создано тем
13951
Написано сообщений
846158
Пользователей
374201
Новый участник
Darrrk_Kkking

Администраторы | Главные редакторы | Модератор | Дедушки | Журналисты | HENTAI BOY | Goldфаги | Журналисты-олдфаги | ТруЪ Олдфаги-с | ТруЪ Плагинщик | Олдфаги | true Художник | Модератор бездны | Картоделы | XXXL ПХЛ | Просто хорошие люди | Посетители | Новички

Последние сообщения с форума

Название темы Автор Статистика Последнее сообщение
Как зделать такой модифецирований ричаг?

Тема в разделе: Ваши вопросы по Minecraft

Akkal76575464

Просмотров: 880

Ответов: 8

Автор: MinerBman

Вчера, 20:32

Видео/Стримы канал Ritterydam

Тема в разделе: Флудильня

ritterydam

Просмотров: 114814

Ответов: 545

Автор: ritterydam

Вчера, 18:55

Нужны идеи для создания карты

Тема в разделе: Собственные карты, модерация

Demonas

Просмотров: 12012

Ответов: 37

Автор: Mono Shiki

Вчера, 01:30

Прикольные ачивки

Тема в разделе: Форумные игры

cat1967

Просмотров: 2467

Ответов: 16

Автор: Prikalel

15-05-2024, 18:35

игра "я бы добавил в майнкрафт"

Тема в разделе: Форумные игры

IponeMaster

Просмотров: 2490

Ответов: 16

Автор: Prikalel

15-05-2024, 18:27