Fix for delayed interaction replys, add plugin messages

This commit is contained in:
Lixfel
2024-12-06 11:41:29 +01:00
parent f5f8b3bd06
commit ed276bf4ce
2 changed files with 11 additions and 8 deletions
@@ -48,18 +48,19 @@ public class InteractionReply extends DiscordChannel {
@Override @Override
public void sendMessage(Component msg) { public void sendMessage(Component msg) {
if(replied) { if(!replied) {
super.sendMessage(msg); messages.add(PlainTextComponentSerializer.plainText().serialize(msg));
return; return;
} }
messages.add(PlainTextComponentSerializer.plainText().serialize(msg)); if(interaction.getHook().isExpired())
super.sendMessage(msg);
else
interaction.getHook().sendMessage(PlainTextComponentSerializer.plainText().serialize(msg)).queue();
} }
public void submit() { public void submit() {
if(!messages.isEmpty()) interaction.getHook().sendMessage(String.join("\n", messages)).queue();
interaction.reply(String.join("\n", messages)).setEphemeral(true).queue();
replied = true; replied = true;
} }
} }
@@ -294,7 +294,8 @@ public class PluginMessage extends BasicListener {
"noxesium-v1:stop_sound", "noxesium-v1:start_sound", "noxesium-v1:modify_sound", "noxesium-v1:stop_sound", "noxesium-v1:start_sound", "noxesium-v1:modify_sound",
"noxesium-v2:reset", "noxesium-v2:change_server_rules", "noxesium-v2:server_info", "noxesium-v2:reset", "noxesium-v2:change_server_rules", "noxesium-v2:server_info",
"noxesium-v2:mcc_server", "noxesium-v2:mcc_game_state", "noxesium-v2:reset_server_rules", "noxesium-v2:mcc_server", "noxesium-v2:mcc_game_state", "noxesium-v2:reset_server_rules",
"noxesium-v2:stop_sound", "noxesium-v2:start_sound", "noxesium-v2:modify_sound" "noxesium-v2:stop_sound", "noxesium-v2:start_sound", "noxesium-v2:modify_sound",
"noxesium-v2:change_extra_entity_data"
)) ))
channelRegisterHandlers.put(channel, player -> {}); channelRegisterHandlers.put(channel, player -> {});
@@ -325,7 +326,8 @@ public class PluginMessage extends BasicListener {
"axiom:enable", "axiom:initialize_hotbars", "axiom:enable", "axiom:initialize_hotbars",
"axiom:response_chunk_data", "axiom:register_world_properties", "axiom:set_world_property", "axiom:response_chunk_data", "axiom:register_world_properties", "axiom:set_world_property",
"axiom:ack_world_properties", "axiom:restrictions", "axiom:marker_data", "axiom:marker_nbt_response", "axiom:ack_world_properties", "axiom:restrictions", "axiom:marker_data", "axiom:marker_nbt_response",
"axiom:custom_blocks", "axiom:editor_warning", "axiom:blueprint_manifest", "axiom:response_blueprint" "axiom:custom_blocks", "axiom:editor_warning", "axiom:blueprint_manifest", "axiom:response_blueprint",
"axiom:annotation_update"
); );
registerBiDirPassthrough("axiom:handle_big_payload", "axiom:set_editor_views"); registerBiDirPassthrough("axiom:handle_big_payload", "axiom:set_editor_views");
for(String channel : Arrays.asList( for(String channel : Arrays.asList(