Some chat msg and user data changes
This commit is contained in:
parent
7ab997ddad
commit
e13efa5e65
2 changed files with 17 additions and 4 deletions
|
@ -214,7 +214,18 @@ public class TBMCChatAPI {
|
||||||
* @return The event cancelled state
|
* @return The event cancelled state
|
||||||
*/
|
*/
|
||||||
public static boolean SendChatMessage(ChatMessage cm) {
|
public static boolean SendChatMessage(ChatMessage cm) {
|
||||||
val channel = cm.getUser().channel().get();
|
return SendChatMessage(cm, cm.getUser().channel().get());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a chat message to Minecraft. Make sure that the channel is registered with {@link #RegisterChatChannel(Channel)}.<br>
|
||||||
|
* This will also send the error message to the sender, if they can't send the message.
|
||||||
|
*
|
||||||
|
* @param cm The message to send
|
||||||
|
* @param channel The MC channel to send in
|
||||||
|
* @return The event cancelled state
|
||||||
|
*/
|
||||||
|
public static boolean SendChatMessage(ChatMessage cm, Channel channel) {
|
||||||
if (!Channel.getChannels().contains(channel))
|
if (!Channel.getChannels().contains(channel))
|
||||||
throw new RuntimeException("Channel " + channel.DisplayName + " not registered!");
|
throw new RuntimeException("Channel " + channel.DisplayName + " not registered!");
|
||||||
val permcheck = cm.getPermCheck() == null ? cm.getSender() : cm.getPermCheck();
|
val permcheck = cm.getPermCheck() == null ? cm.getSender() : cm.getPermCheck();
|
||||||
|
|
|
@ -112,13 +112,15 @@ public abstract class ChromaGamerBase implements AutoCloseable {
|
||||||
* Get from the given sender. May be null,.but shouldn't be.
|
* Get from the given sender. May be null,.but shouldn't be.
|
||||||
*
|
*
|
||||||
* @param sender The sender to use
|
* @param sender The sender to use
|
||||||
|
* @param cl The type of the requested user object - subclasses of {@link TBMCPlayerBase} don't work, use {@link TBMCPlayer}
|
||||||
* @return A user as returned by a converter or null if none can supply it
|
* @return A user as returned by a converter or null if none can supply it
|
||||||
*/
|
*/
|
||||||
public static ChromaGamerBase getFromSender(CommandSender sender) {
|
@SuppressWarnings("unchecked")
|
||||||
|
public static <T extends ChromaGamerBase> T getFromSender(CommandSender sender, Class<T> cl) {
|
||||||
for (val converter : senderConverters) {
|
for (val converter : senderConverters) {
|
||||||
val ocg = converter.apply(sender);
|
val ocg = converter.apply(sender).filter(cg -> cl.isAssignableFrom(cg.getClass()));
|
||||||
if (ocg.isPresent())
|
if (ocg.isPresent())
|
||||||
return ocg.get();
|
return (T) ocg.get();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue