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

Basically I need a very simple mod to remind me to do stuff so it would write to my chat what I would set it to write. I just don't know how to send a chat message programmatically. And also, since this mod is meant to run on a multiplayer server, I would like the message to be private, so only I could read it. Is there any method to acomplish that?

 

thanks

You need to decide if you want this to be a serverside or a clientside mod.

If you want it clientside it's easy. Just store the data somewhere in a text file and use Minecraft.thePlayer.addChatMessage().

 

If you want to make it serverside you need a data structure, possibly a Map that maps players/usernames to their "stored stuff". Then again you can use player.addChatMessage and it will only send it to the given player.

 

You beat me to it, but then my post disappeared O.o

Aspergers is annoying sometimes :(

I made this:

public class CommandToDo extends CommandBase{
/**
* @author GotoLink
*/
private static Map<String,List<String>> toDoList = new HashMap();
@Override
public String getCommandName() {
	return "TODO";
}

@Override
public String getCommandUsage(ICommandSender icommandsender) {
	return "/" + getCommandName() + "<print:remove:add <message>> ";
}

@Override
public void processCommand(ICommandSender sender, String[] command) {
	if(command.length == 1 ||( command.length == 2 && command[0].equals("add")))//We have valid number of arguments
	{
		String username = sender.getCommandSenderName();
		if(toDoList.containsKey(username))
		{
			List<String> business = toDoList.get(username);
			if(command[0].equals("print"))
			{
				sender.sendChatToPlayer(ChatMessageComponent.func_111066_d(business.get(0)));
			}
			else if(command[0].equals("add"))
			{
				business.add(command[0]);
				toDoList.put(username, business);
			}
			else if(command[0].equals("remove"))
			{
				business.remove(0);
				toDoList.put(username, business);
			}
		}
		else if(command[0].equals("add"))
		{
			List<String> business = new ArrayList();
			business.add(command[0]);
			toDoList.put(username, business);
		}
	}
	else
		throw new WrongUsageException(getCommandUsage(sender));
}

@Override
public List addTabCompletionOptions(ICommandSender var1, String[] var2) {
	return var2.length == 1 ? getListOfStringsMatchingLastWord(var2, new String[] {"print", "add", "remove"}): null;
    
}
}

This command allows a player to store is own TODO list.

Usage:

A player types

/TODO add Remind me to do this please.

he can then

/TODO print

to get back "Remind me to do this please." as a private chat message.

or

/TODO remove

to check out his oldest TODO message.

  • Author

@GotoLink Thanks for your answer.

 

Would that work on a multiplayer server? I'm guessing commands are handled at server side? The server wouldn't have this class and wouldn't know the command. That's just a guess, I don't really know how commands are implemented, but it makes sense to think they are handled by the server, to avoid commands like /godmode or something.

If installed on the server, it will work for everyone.

I made it multiplayer compatible.

You need to register the command into server for it to work. Having it on client will try registering it, but I don't know what would be the result.

Oh, it is written for 1.6 by the way, though downgrading to 1.5.2 shouldn't require much work.

  • Author

I can't have it installed on the server because it's someone else's dedicated server. I know the problem is more complex than this but first I'd like to know if there's a way to write something on my client chat. Client side only. The server won't have the mod installed. Thanks.  :)

Well you can still use my code, but you'll need to catch chat messages instead.

You can use ClientChatReceivedEvent for that.

Then combine it with diesieben07 advice.

  • Author

Thanks a lot guys! I was able to register to the event, and to print stuff to my chat. Just gotta figure out how I want to implement the list and if I will need some kind of timer. But this question is closed.

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.