Проблемы с пакетами

Версия Minecraft
1.19.4
API
Forge
12
0
Ситуация такая: я в программировании модов вообще не разбираюсь, но мне понадобилось разработать пару небольших модов. Я сел их делать в MCreator, у меня даже по большей части получалось. Все эти моды были мне нужны для взаимодействии с ботом, написанном на питоне. И вот я столкнулся с проблемой - бот отказывается подключаться к серверу, на котором есть мод созданный с помощью MCreator. Возвращает RuntimeError: Minecraft server reply with code 400. Попробовал на полностью пустом моде - отказывается. Сделал пустой мод на джаве - подключился. Начал разбираться в чем проблема, запустил мод из MCreator на джаве и нашел конкретные несколько строчек, убрав которые все заработает. Но проблема в том, что в том моде, что я уже сделал, просто так удалить эти строчки нельзя, они, как я понял, используются каким-то образом при работе с глобальными переменными.
Вот эти строчки, в которых проблема:
private static final String PROTOCOL_VERSION = "1";
    public static final SimpleChannel PACKET_HANDLER = NetworkRegistry.newSimpleChannel(new ResourceLocation(MODID, MODID), () -> PROTOCOL_VERSION, PROTOCOL_VERSION::equals, PROTOCOL_VERSION::equals);
    private static int messageID = 0;

    public static <T> void addNetworkMessage(Class<T> messageType, BiConsumer<T, FriendlyByteBuf> encoder, Function<FriendlyByteBuf, T> decoder, BiConsumer<T, Supplier<NetworkEvent.Context>> messageConsumer) {
        PACKET_HANDLER.registerMessage(messageID, messageType, encoder, decoder, messageConsumer);
        messageID++;
    }
Вот тут переменная PACKET_HANDLER используется. В других местах, где она используется пишется, что эта часть кода нигде не используется, значит я ее, в теории, могу просто удалить, но эта часть кода используется в 3 местах и все эти места связанны с глобальными переменными:
        public void syncData(LevelAccessor world) {
            this.setDirty();
            if (world instanceof Level && !world.isClientSide())
                PlayerSpectatorMod.PACKET_HANDLER.send(PacketDistributor.ALL.noArg(), new SavedDataSyncMessage(0, this));
        }

В момент, когда бот пытается подключиться, но не может, в консоли написано:
Java:
[00:48:48] [Netty Server IO #3/DEBUG] [ne.mi.ne.NetworkRegistry/NETREGISTRY]: Channel 'fml:loginwrapper' : Vanilla acceptance test: ACCEPTED
[00:48:48] [Netty Server IO #3/DEBUG] [ne.mi.ne.NetworkRegistry/NETREGISTRY]: Channel 'forge:tier_sorting' : Vanilla acceptance test: ACCEPTED
[00:48:48] [Netty Server IO #3/DEBUG] [ne.mi.ne.NetworkRegistry/NETREGISTRY]: Channel 'fml:handshake' : Vanilla acceptance test: ACCEPTED
[00:48:48] [Netty Server IO #3/DEBUG] [ne.mi.ne.NetworkRegistry/NETREGISTRY]: Channel 'player_spectator:player_spectator' : Vanilla acceptance test: REJECTED
[00:48:48] [Netty Server IO #3/DEBUG] [ne.mi.ne.NetworkRegistry/NETREGISTRY]: Channel 'minecraft:unregister' : Vanilla acceptance test: ACCEPTED
[00:48:48] [Netty Server IO #3/DEBUG] [ne.mi.ne.NetworkRegistry/NETREGISTRY]: Channel 'fml:play' : Vanilla acceptance test: ACCEPTED
[00:48:48] [Netty Server IO #3/DEBUG] [ne.mi.ne.NetworkRegistry/NETREGISTRY]: Channel 'minecraft:register' : Vanilla acceptance test: ACCEPTED
[00:48:48] [Netty Server IO #3/DEBUG] [ne.mi.ne.NetworkRegistry/NETREGISTRY]: Channel 'forge:split' : Vanilla acceptance test: ACCEPTED
[00:48:48] [Netty Server IO #3/ERROR] [ne.mi.ne.NetworkRegistry/NETREGISTRY]: Channels [player_spectator:player_spectator] rejected vanilla connections
[00:48:48] [Netty Server IO #3/INFO] [ne.mi.se.ServerLifecycleHooks/SERVERHOOKS]: Disconnecting VANILLA connection attempt: This server has mods that require Forge to be installed on the client. Contact your server admin for more details.


Можете подсказать что не так с этой частью кода, как ее можно изменить, чтобы бот смог подключиться к серверу?
 
1,371
112
241
а при создании джарника убирать все, что связанно с пакетами,
О боже, самое глупое решение, которое я когда-либо слышал.

Пакеты нужны для передачи и синхронизации данных сервера и клиента. Если ты их уберёшь в своём моде, очевидно, что что-то будет работать некорректно (если вообще будет работать).
чем разбираться как с этим Mineflayerом работать
"Без труда не выловишь и рыбку из пруда".
 
12
0
самое глупое решение, которое я когда-либо слышал.
Сомневаюсь, что самое, но да, это действительно глупо. Я уже понял насколько это геморно будет делать каждый раз, когда я захочу проверить работоспособность мода.
Я вроде немного зацепился за то, как его устанавливать. В файлах бота нашел папку mineflayer и файлы, в которых записан код очень похожий на код с сайта. Сейчас буду сидеть разбираться че куда можно запихнуть, чтобы оно работало
 
Сверху