FabioZumbi12 / UltimateChat

Ultimate and advanced Chat for Bukkit and Sponge
GNU General Public License v3.0
31 stars 33 forks source link

[BUG] Mensagens duplicadas #372

Closed zGuuhTS closed 2 months ago

zGuuhTS commented 1 year ago

Descreva o bug Olá, eu sou dono de um servidor de Pixelmon! Eu uso o Ultimate Chat há muito tempo, e fico feliz que tenham atualizado e trabalhado no projeto até hoje.

Estou desenvolvendo um sistema de replacement no UltimateChat (Globa, e Local), um sistema simples, onde eu digito @poke1, e no chat é enviada a mensagem do Pokémon com as características, reformatado e colorido.

Com o meu código, esse sistema funciona naturalmente, portanto, com um porém, as mensagens sempre duplicam, sejam elas com replacement, ou não.

à baixo, segue o código que estou utilizando pra fazer a sequência.

public void onChatMessage(PostFormatChatMessageEvent event, @Root Player player) {
        //* MESSAGE IDENTIFIER
        String msg = event.getReceiverMessage(player).toPlain();
        Text mensagem = event.getReceiverMessage(player).toText();
        UUID uuid = player.getUniqueId();
        MessageChannel chMsg = event.getSender().getMessageChannel();

        //* POKEDATA CONTROLLER
        PlayerPartyStorage playerParty = Pixelmon.storageManager.getParty(uuid);
        this.logger.info(msg);
        Character slot = Character.valueOf('1');
        Integer slotInt = Integer.valueOf(Integer.parseInt(slot.toString()) - 1);

        //* PARSE CHAT MESSAGE
        Pokemon pokemon = playerParty.get(slotInt.intValue());
        Text wat = pokeData.getHoverText(pokemon);
        Text pokeText = Text.builder().append(new Text[] { wat }).build();
        mensagem = Text.of(new Object[] { mensagem.replace("@poke1", pokeText)});
        if (msg.toLowerCase().contains("@poke1")) {
            event.setCancelled(true);
            if (!PokeData.isNull(playerParty.get(slotInt.intValue())).booleanValue()) {
                chMsg.send(Text.of(new Object[] { mensagem.replace("@poke1", pokeText) }));
            } else {
                player.sendMessage(TextSerializers.FORMATTING_CODE.deserialize("&c&lSISTEMA &7Você não tem Pokémon no slot &c&o1&7!"));
            }
        }
     }

Comportamento esperado As mensagens estarão duplicadas, de acordo com a imagem anexada.

Capturas de tela e registros Imagem do WhatsApp de 2022-11-01 à(s) 15 12 32

Versões de servidor e plug-ins (preencha as seguintes informações):  - Servidor: Sponge 1.12.2,  - Versão do plug-in: UltimateChat-1.9.1-b299-Universal.jar]  - Versão do Java: Correto 1.8

FabioZumbi12 commented 2 months ago

Infelizmente não dou mais suporte pra versão do SPonge, muito trabalhoso manter plugins pra ele :/