Skip to content

Commit 603aa5b

Browse files
author
wuksow
committed
Added command /chat on
Added command /chat off update config Added event to block chat!
1 parent b0335cb commit 603aa5b

File tree

5 files changed

+87
-23
lines changed

5 files changed

+87
-23
lines changed

src/main/java/rcode/chat/Main.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,24 @@
11
package rcode.chat;
22

3-
import com.google.common.collect.Sets;
43
import org.bukkit.Bukkit;
5-
import org.bukkit.configuration.file.FileConfiguration;
64
import org.bukkit.plugin.java.JavaPlugin;
75
import rcode.chat.cmd.ChatCMD;
8-
9-
import java.util.Set;
6+
import rcode.chat.listeners.ChatListener;
107
import java.util.logging.Level;
118
import java.util.logging.Logger;
129

1310
public class Main extends JavaPlugin {
1411

1512
private final Logger wiad = Bukkit.getLogger();
1613

17-
public static Set<Integer> chat = Sets.newConcurrentHashSet();
18-
1914
@Override
2015
public void onEnable() {
2116
super.onEnable();
2217
saveDefaultConfig();
2318
wiad.log(Level.INFO, "Enable plugin for Chat!");
2419
wiad.log(Level.INFO, "RCode plugin!");
2520
getCommand("chat").setExecutor(new ChatCMD());
21+
Bukkit.getPluginManager().registerEvents(new ChatListener(),this);
2622
}
2723

2824
@Override

src/main/java/rcode/chat/cmd/ChatCMD.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,23 @@
77
import org.bukkit.command.CommandSender;
88
import org.bukkit.entity.Player;
99
import rcode.chat.Main;
10+
import rcode.chat.config.Data;
1011

1112
public class ChatCMD implements CommandExecutor {
1213

1314
@Override
1415
public boolean onCommand(CommandSender sender, Command cmd, String s, String[] args) {
1516
boolean zwrot = true;
1617
Player p = (Player)sender;
17-
if (!p.hasPermission(Main.getInstance().getConfig().getString("permission"))) {
18-
String msg = Main.getInstance().getConfig().getString("nopermMSG");
18+
Data data = new Data(Main.getInstance().getConfig());
19+
if (!p.hasPermission(data.getMsg("permission"))) {
20+
String msg = data.getMsg("nopermMSG");
1921
p.sendMessage(ChatColor.translateAlternateColorCodes('&', msg));
2022
return false;
2123
}
2224
String clearp, clear;
23-
clearp = Main.getInstance().getConfig().getString("succesClearChatMessageToExecutor");
24-
clear = Main.getInstance().getConfig().getString("succesClearChatMessageToPlayers");
25+
clearp = data.getMsg("succesClearChatMessageToExecutor");
26+
clear = data.getMsg("succesClearChatMessageToPlayers");
2527
switch (args[0].toLowerCase()) {
2628
case "clear":
2729
case "cc":
@@ -32,23 +34,21 @@ public boolean onCommand(CommandSender sender, Command cmd, String s, String[] a
3234
p.sendMessage(ChatColor.translateAlternateColorCodes('&', clearp));
3335
break;
3436
case "off":
35-
if (Main.chat.equals(0)) {
36-
return false;
37+
if (!data.getChat()) {
38+
p.sendMessage(ChatColor.translateAlternateColorCodes('&', data.getMsg("chatisAlreadyDisabled")));
3739
}
38-
Main.chat.clear();
39-
Main.chat.add(0);
40-
p.sendMessage(ChatColor.translateAlternateColorCodes('&', ""));
40+
Bukkit.getOnlinePlayers().forEach(player -> player.sendMessage(ChatColor.translateAlternateColorCodes('&', data.getMsg("succesOFFChatMessageToPlayers"))));
41+
p.sendMessage(ChatColor.translateAlternateColorCodes('&', data.getMsg("succesOFFChatMessageToExecutor")));
4142
break;
4243
case "on":
43-
if (Main.chat.equals(1)) {
44-
return false;
44+
if (data.getChat()) {
45+
p.sendMessage(ChatColor.translateAlternateColorCodes('&', data.getMsg("chatisAlreadyEnabled")));
4546
}
46-
Main.chat.clear();
47-
Main.chat.add(1);
48-
p.sendMessage(ChatColor.translateAlternateColorCodes('&', ""));
47+
Bukkit.getOnlinePlayers().forEach(player -> player.sendMessage(ChatColor.translateAlternateColorCodes('&', data.getMsg("succesONChatMessageToPlayers"))));
48+
p.sendMessage(ChatColor.translateAlternateColorCodes('&', data.getMsg("succesONChatMessageToExecutor")));
4949
break;
5050
default:
51-
String usage = Main.getInstance().getConfig().getString("usage");
51+
String usage = data.getMsg("usage");
5252
p.sendMessage(ChatColor.translateAlternateColorCodes('&', usage));
5353
break;
5454
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package rcode.chat.config;
2+
3+
import org.bukkit.configuration.file.FileConfiguration;
4+
5+
public class Data {
6+
7+
private FileConfiguration configuration;
8+
9+
public Data(FileConfiguration configuration) {
10+
this.configuration = configuration;
11+
}
12+
13+
14+
public String getMsg(String msg) {
15+
return this.configuration.getString(msg);
16+
}
17+
18+
public void setChat(Boolean chat) {
19+
this.configuration.set("chatEnabled", chat);
20+
}
21+
22+
public boolean getChat() {
23+
return this.configuration.getBoolean("chatEnabled");
24+
}
25+
26+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package rcode.chat.listeners;
2+
3+
import org.bukkit.ChatColor;
4+
import org.bukkit.event.EventHandler;
5+
import org.bukkit.event.EventPriority;
6+
import org.bukkit.event.Listener;
7+
import org.bukkit.event.player.AsyncPlayerChatEvent;
8+
import rcode.chat.Main;
9+
import rcode.chat.config.Data;
10+
11+
public class ChatListener implements Listener {
12+
13+
@EventHandler(priority = EventPriority.NORMAL)
14+
public void onChat(AsyncPlayerChatEvent event) {
15+
if (!event.isCancelled()) {
16+
Data data = new Data(Main.getInstance().getConfig());
17+
if (data.getChat() == false) {
18+
if (event.getPlayer().hasPermission(data.getMsg("permissiontoWriteifDisabled"))) {
19+
event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', data.getMsg("chatisOFF")));
20+
event.setCancelled(true);
21+
return;
22+
}
23+
}
24+
}
25+
}
26+
27+
}

src/main/resources/config.yml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,22 @@
1-
#support colors! &
1+
#RCode
2+
3+
chatEnabled: true
24

35
permission: "chat.perm"
6+
permissiontoWriteifDisabled: "chat.write"
47
nopermMSG: "&8>> &cNo permission!"
58
usage: "&eUsage /chat clear/off/on"
9+
chatisOFF: "You haven't permission to use them!"
610
succesClearChatMessageToExecutor: "clear chat for every players on server!"
7-
succesClearChatMessageToPlayers: "Chat on the server has been clear!"
11+
succesClearChatMessageToPlayers: "Chat on the server has been clear!"
12+
13+
14+
succesOFFChatMessageToExecutor: "Succesful disable chat on this server!"
15+
succesOFFChatMessageToPlayers: "chat on server has been disabled!"
16+
17+
succesONChatMessageToExecutor: "Succesful enable chat on this server!"
18+
succesONChatMessageToPlayers: "chat on server has been enabled!"
19+
20+
21+
chatisAlreadyEnabled: "Chat is already enabled"
22+
chatisAlreadyDisabled: "Chat is already disabled"

0 commit comments

Comments
 (0)