First.
This commit is contained in:
commit
aeeaa83745
12 changed files with 192 additions and 0 deletions
49
src/gd/rf/adrianvictor/stuff/GhostsAndStuff.java
Normal file
49
src/gd/rf/adrianvictor/stuff/GhostsAndStuff.java
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
package gd.rf.adrianvictor.stuff;
|
||||
|
||||
import gd.rf.adrianvictor.lib.ConfigurationEx;
|
||||
import gd.rf.adrianvictor.lib.Log;
|
||||
import org.bukkit.event.Event.Priority;
|
||||
import org.bukkit.event.Event.Type;
|
||||
import org.bukkit.event.player.PlayerListener;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import java.util.List;
|
||||
|
||||
public class GhostsAndStuff extends JavaPlugin {
|
||||
ConfigurationEx config;
|
||||
PluginManager pm;
|
||||
Log logger;
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
logger.info("is being disabled.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
logger = new Log(this);
|
||||
pm = this.getServer().getPluginManager();
|
||||
config = new ConfigurationEx(this, "config.yml", logger);
|
||||
config.loadConfig();
|
||||
loadModules();
|
||||
logger.info("is starting.");
|
||||
}
|
||||
|
||||
public void loadModules() {
|
||||
PlayerListener rainbowChat = new RainbowChat(this);
|
||||
logger.info("Loading module RainbowChat");
|
||||
pm.registerEvent(Type.PLAYER_CHAT, rainbowChat, Priority.High, this);
|
||||
|
||||
if (this.getConfiguration().getBoolean("skibidiBlocker", true)) {
|
||||
logger.info("Loading module SkibidiBlocker");
|
||||
|
||||
List<String> words = this.getConfiguration().getStringList("skibidiBlockerWords", null);
|
||||
if (words == null || words.isEmpty()) {
|
||||
logger.warning("SkibidiBlocker is enabled, but no words were provided. Disabling.");
|
||||
} else {
|
||||
PlayerListener verboseWorldChange = new SkibidiBlocker(this, logger);
|
||||
pm.registerEvent(Type.PLAYER_CHAT, verboseWorldChange, Priority.High, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
42
src/gd/rf/adrianvictor/stuff/RainbowChat.java
Normal file
42
src/gd/rf/adrianvictor/stuff/RainbowChat.java
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
package gd.rf.adrianvictor.stuff;
|
||||
|
||||
import org.bukkit.event.player.PlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerListener;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import gd.rf.adrianvictor.lib.Color;
|
||||
|
||||
public class RainbowChat extends PlayerListener {
|
||||
JavaPlugin plugin;
|
||||
|
||||
public RainbowChat(JavaPlugin _plugin) {
|
||||
plugin = _plugin;
|
||||
}
|
||||
|
||||
public void onPlayerChat(PlayerChatEvent event) {
|
||||
StringBuilder result = new StringBuilder();
|
||||
String message = Color.formatColors(event.getMessage());
|
||||
int index = 0;
|
||||
|
||||
while (index < message.length()) {
|
||||
int startIndex = message.indexOf("§z", index);
|
||||
if (startIndex == -1) {
|
||||
result.append(message.substring(index));
|
||||
break;
|
||||
}
|
||||
|
||||
result.append(message, index, startIndex);
|
||||
int endIndex = startIndex + 2;
|
||||
|
||||
while (endIndex < message.length() && message.charAt(endIndex) != '§') {
|
||||
endIndex++;
|
||||
}
|
||||
|
||||
String textToColor = message.substring(startIndex + 2, endIndex);
|
||||
result.append(Color.rainbow(textToColor));
|
||||
|
||||
index = endIndex;
|
||||
}
|
||||
event.setMessage(result.toString());
|
||||
}
|
||||
}
|
||||
49
src/gd/rf/adrianvictor/stuff/SkibidiBlocker.java
Normal file
49
src/gd/rf/adrianvictor/stuff/SkibidiBlocker.java
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
package gd.rf.adrianvictor.stuff;
|
||||
|
||||
import java.util.List;
|
||||
import org.bukkit.event.player.PlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerListener;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import gd.rf.adrianvictor.lib.Log;
|
||||
|
||||
public class SkibidiBlocker extends PlayerListener {
|
||||
JavaPlugin plugin;
|
||||
Log logger;
|
||||
|
||||
public SkibidiBlocker(JavaPlugin _plugin, Log _logger) {
|
||||
plugin = _plugin;
|
||||
logger = _logger;
|
||||
}
|
||||
|
||||
public void onPlayerChat(PlayerChatEvent event) {
|
||||
String message = event.getMessage();
|
||||
List<String> blockedWords = plugin.getConfiguration().getStringList("skibidiBlockerWords", null);
|
||||
|
||||
if (blockedWords == null) {
|
||||
logger.warning("Blocked words list is null!");
|
||||
return;
|
||||
}
|
||||
if (blockedWords.isEmpty()) {
|
||||
logger.warning("Blocked words list is empty!");
|
||||
return;
|
||||
}
|
||||
|
||||
boolean caseSensitive = plugin.getConfiguration().getBoolean("skibidiBlockerCaseSensitive", true);
|
||||
|
||||
for (String blockedWord : blockedWords) {
|
||||
if (!caseSensitive) {
|
||||
if (message.toLowerCase().contains(blockedWord.toLowerCase())) {
|
||||
logger.info(event.getPlayer().getDisplayName() + " said a blocked word (case insensitive).");
|
||||
event.getPlayer().getWorld().strikeLightning(event.getPlayer().getLocation()); // Ensure it works
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (message.contains(blockedWord)) {
|
||||
logger.info(event.getPlayer().getDisplayName() + " said a blocked word (case sensitive).");
|
||||
event.getPlayer().getWorld().strikeLightning(event.getPlayer().getLocation());
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue