Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

Example: If I type `Ping`, I want the mod to respond with `Pong`.

 

I've already figured I can use `ClientChatRecievedEvent` to be able to see when the user sends a message, but this doesn't exactly return favourable results. `event.message` doesn't have the option to simply return just the text, effectively, instead of returning "Ping", it'll return either "<PlayerName> Ping" or "<> Ping". I want only "Ping", and another problem arises. Servers often format text messages to display a users rank. That will change the expected format of `event.message.getFormatted (or unformatted whatever)` text and would require a different method of handling. Additionally, I don't want the users message to make it to the server. Basically, it needs to be a client side message with a client side response.

 

tl;dr is there any way I can get a message typed by the player in chat, make sure it doesn't get published to server or public chat, and issue a client sided response?

 

I am a human and this action was performed manually. Please contact Frontear if you have any questions or concerns.

So do you want to detect when the client player types a message, respond to it and stop it from reaching the server? Forge has an event for that - ClientChatEvent. You can cancel it and then it won't be sent. It however won't add it to the chat either so you would have to do that yourself with GuiNewChat#addToSentMessages. You can get the GuiNewChat instance from GuiIngame#getChatGUI and you can get a GuiIngame instance with Minecraft.ingameGUI.

  • Author
2 minutes ago, V0idWa1k3r said:

So do you want to detect when the client player types a message, respond to it and stop it from reaching the server? Forge has an event for that - ClientChatEvent. You can cancel it and then it won't be sent. It however won't add it to the chat either so you would have to do that yourself with GuiNewChat#addToSentMessages. You can get the GuiNewChat instance from GuiIngame#getChatGUI and you can get a GuiIngame instance with Minecraft.ingameGUI.

"You can cancel it and then it won't be sent". I assume you mean the text message the player sends won't be added to chat, correct? If so, great.

I am a human and this action was performed manually. Please contact Frontear if you have any questions or concerns.

8 minutes ago, Frontear said:

I assume you mean the text message the player sends won't be added to chat, correct?

It will neither be sent to the server nor appear in the client's local chat. These are different things. When the client hits enter to send a message it first gets added to it's local client's chat - it is not yet visible to any other player on the server but is visible to the client who is sending it. It then gets sent to the server which sends it to every other player for them to see if needed. I don't know whether you want the client who typed the message to see it, which is why I've included an explanation as to how to add it to the local client's chat. Again, you can add anything you want to that chat and only the client that you are doing it with will see those messages, not anyone else. 

  • Author
2 minutes ago, V0idWa1k3r said:

It will neither be sent to the server nor appear in the client's local chat. These are different things. When the client hits enter to send a message it first gets added to it's local client's chat - it is not yet visible to any other player on the server but is visible to the client who is sending it. It then gets sent to the server which sends it to every other player for them to see if needed. I don't know whether you want the client who typed the message to see it, which is why I've included an explanation as to how to add it to the local client's chat. Again, you can add anything you want to that chat and only the client that you are doing it with will see those messages, not anyone else. 

Just checked for such an event. It does not exist.

 

Probably should've mentioned im using 1.10 Forge, but I dont see any ClientChatEvent at all. What would be an alternative plan?

I am a human and this action was performed manually. Please contact Frontear if you have any questions or concerns.

13 minutes ago, Frontear said:

Probably should've mentioned im using 1.10 Forge, but I dont see any ClientChatEvent at all. What would be an alternative plan?

Update to the modern version of minecraft of course.

  • Author
Just now, diesieben07 said:

ClientChatEvent was added in Build 1.11.2-13.20.0.2269.

Update to 1.12.2.

Is there no alternatives?

I am a human and this action was performed manually. Please contact Frontear if you have any questions or concerns.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.