Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.mason;
- import java.util.ArrayList;
- import java.util.HashMap;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitRunnable;
- public class UrosBasicChatMain extends JavaPlugin implements Listener {
- private HashMap<Player, Integer> cooldownTime;
- private HashMap<Player, BukkitRunnable> cooldownTask;
- private ArrayList<Player> RP = new ArrayList<Player>();
- private ArrayList<Player> OOC = new ArrayList<Player>();
- private ArrayList<Player> DoneName = new ArrayList<Player>();
- public void onEnable() {
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- cooldownTime = new HashMap<Player, Integer>();
- cooldownTask = new HashMap<Player, BukkitRunnable>();
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent e) {
- OOC.add(e.getPlayer());
- e.getPlayer().sendMessage(ChatColor.AQUA + "You Are In OOC Chat ");
- }
- public boolean onCommand(CommandSender sender, Command cmd, String Label, String[] args) {
- if (!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.RED + "You Must Be A Player To Move Chats");
- }
- Player p = (Player) sender;
- if (Label.equalsIgnoreCase("RP")) {
- if (RP.contains(p)) {
- p.sendMessage(ChatColor.RED + "You Are Already In RP Chat!");
- } else {
- p.sendMessage(ChatColor.GREEN + "Switched To Roleplay Chat!");
- OOC.remove(p);
- RP.add(p);
- return true;
- }
- }
- if (Label.equalsIgnoreCase("OOC")) {
- if (OOC.contains(p)) {
- p.sendMessage(ChatColor.RED + "You Are Already In OOC Chat!");
- } else {
- p.sendMessage(ChatColor.GREEN + "Switched To OOC Chat!");
- OOC.add(p);
- RP.remove(p);
- return true;
- }
- }
- if (Label.equalsIgnoreCase("Name")) {
- if (args.length == 0) {
- p.sendMessage(ChatColor.RED + "Please Specify A Nickname!");
- return true;
- }
- if (args.length > 4) {
- p.sendMessage(ChatColor.RED + "To Many Arguments!");
- return true;
- }
- if (DoneName.contains(p)) {
- p.sendMessage(ChatColor.RED + "You Have Already Set Your Name, You Can Change Your Name Every 2 Days!");
- } else {
- DoneName.add(p);
- String nick = "";
- for (String arg : args) {
- nick += arg + " ";
- }
- nick = nick.substring(0, nick.length() - 1);
- p.sendMessage(ChatColor.GREEN + "Name Changed To: " + ChatColor.RESET + nick);
- this.getConfig().set(p.getName(), nick);
- this.saveConfig();
- cooldownTime.put(p, 5);
- cooldownTask.put(p, new BukkitRunnable() {
- public void run() {
- cooldownTime.put(p, cooldownTime.get(p) - 1);
- if (cooldownTime.get(p) == 0) {
- p.sendMessage(ChatColor.GREEN+"You May Change Your Name Now");
- DoneName.remove(p);
- cooldownTime.remove(p);
- cooldownTask.remove(p);
- cancel();
- }
- }
- });
- cooldownTask.get(p).runTaskTimer(this, 20, 20);
- }
- }
- return true;
- }
- @EventHandler
- public void onChat(AsyncPlayerChatEvent e) {
- Player p = e.getPlayer();
- String name = this.getConfig().getString(e.getPlayer().getName());
- String msg = e.getMessage();
- if (RP.contains(p)) {
- if (!(msg.startsWith("(("))) {
- e.setCancelled(true);
- for (Player un : RP) {
- un.sendMessage(ChatColor.DARK_GRAY + name + ": " + ChatColor.RESET + "\"" + msg + "\"");
- }
- } else {
- e.setCancelled(true);
- for (Player un : RP) {
- un.sendMessage(
- ChatColor.GRAY + "[L-OOC] " + ChatColor.DARK_GRAY + name + ": " + ChatColor.RESET + msg);
- }
- }
- if (msg.startsWith("*")) {
- e.setCancelled(true);
- msg = msg.replaceAll("\\*", "");
- for (Player un : RP) {
- if(msg.contains("*")){continue;}
- un.sendMessage(ChatColor.GREEN + name + " " + msg);
- }
- }
- }
- if (OOC.contains(p)) {
- e.setCancelled(true);
- for (Player un : OOC) {
- un.sendMessage(
- ChatColor.GRAY + "[OOC] " + ChatColor.DARK_GRAY + p.getName() + ": " + ChatColor.RESET + msg);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment