33 lines
1.1 KiB
Java
33 lines
1.1 KiB
Java
package com.vixis.event;
|
|
|
|
import com.vixis.Vixis;
|
|
import com.vixis.advancement.VixisAdvancements;
|
|
import net.minecraft.util.ResourceLocation;
|
|
import net.minecraftforge.event.ServerChatEvent;
|
|
import net.minecraftforge.fml.common.Mod;
|
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
|
|
|
import java.util.regex.Pattern;
|
|
|
|
@Mod.EventBusSubscriber(modid = Vixis.MODID)
|
|
public final class ChatKeywordHandler {
|
|
private static final Pattern VORE_WORD = Pattern.compile("\\bvore\\b", Pattern.CASE_INSENSITIVE);
|
|
private static final Pattern PAW_WORD = Pattern.compile("\\bpaws?\\b", Pattern.CASE_INSENSITIVE);
|
|
|
|
private ChatKeywordHandler() {
|
|
}
|
|
|
|
@SubscribeEvent
|
|
public static void onChat(ServerChatEvent event) {
|
|
String message = event.getMessage();
|
|
grantIfMatch(event, message, VORE_WORD, VixisAdvancements.VORE_MENTIONED);
|
|
grantIfMatch(event, message, PAW_WORD, VixisAdvancements.PAW_MENTIONED);
|
|
}
|
|
|
|
private static void grantIfMatch(ServerChatEvent event, String message, Pattern pattern, ResourceLocation advancement) {
|
|
if (pattern.matcher(message).find()) {
|
|
VixisAdvancements.grant(event.getPlayer(), advancement);
|
|
}
|
|
}
|
|
}
|