mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-03 09:00:55 +01:00
Merge pull request #302 from MinelinkNetwork/plot-chat
Add command to toggle plot chat
This commit is contained in:
commit
d6500873cf
@ -22,6 +22,7 @@ import org.bukkit.plugin.java.JavaPlugin;
|
|||||||
import com.intellectualcrafters.plot.commands.Auto;
|
import com.intellectualcrafters.plot.commands.Auto;
|
||||||
import com.intellectualcrafters.plot.commands.BukkitCommand;
|
import com.intellectualcrafters.plot.commands.BukkitCommand;
|
||||||
import com.intellectualcrafters.plot.commands.Buy;
|
import com.intellectualcrafters.plot.commands.Buy;
|
||||||
|
import com.intellectualcrafters.plot.commands.Chat;
|
||||||
import com.intellectualcrafters.plot.commands.Claim;
|
import com.intellectualcrafters.plot.commands.Claim;
|
||||||
import com.intellectualcrafters.plot.commands.Clear;
|
import com.intellectualcrafters.plot.commands.Clear;
|
||||||
import com.intellectualcrafters.plot.commands.Comment;
|
import com.intellectualcrafters.plot.commands.Comment;
|
||||||
@ -261,6 +262,7 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain {
|
|||||||
MainCommand.subCommands.add(new Condense());
|
MainCommand.subCommands.add(new Condense());
|
||||||
MainCommand.subCommands.add(new Confirm());
|
MainCommand.subCommands.add(new Confirm());
|
||||||
MainCommand.subCommands.add(new Copy());
|
MainCommand.subCommands.add(new Copy());
|
||||||
|
MainCommand.subCommands.add(new Chat());
|
||||||
final BukkitCommand bcmd = new BukkitCommand();
|
final BukkitCommand bcmd = new BukkitCommand();
|
||||||
final PluginCommand plotCommand = getCommand("plots");
|
final PluginCommand plotCommand = getCommand("plots");
|
||||||
plotCommand.setExecutor(bcmd);
|
plotCommand.setExecutor(bcmd);
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
package com.intellectualcrafters.plot.commands;
|
||||||
|
|
||||||
|
import com.intellectualcrafters.plot.PlotSquared;
|
||||||
|
import com.intellectualcrafters.plot.config.C;
|
||||||
|
import com.intellectualcrafters.plot.object.PlotPlayer;
|
||||||
|
import com.intellectualcrafters.plot.object.PlotWorld;
|
||||||
|
|
||||||
|
public class Chat extends SubCommand {
|
||||||
|
public Chat() {
|
||||||
|
super(Command.CHAT, "Toggle plot chat on or off", "chat", CommandCategory.ACTIONS, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean execute(PlotPlayer plr, String... args) {
|
||||||
|
final String world = plr.getLocation().getWorld();
|
||||||
|
if (!PlotSquared.isPlotWorld(world)) {
|
||||||
|
return !sendMessage(plr, C.NOT_IN_PLOT_WORLD);
|
||||||
|
}
|
||||||
|
boolean enable = !(plr.getMeta("chat") != null && (Boolean) plr.getMeta("chat"));
|
||||||
|
if (args.length > 0) {
|
||||||
|
if (args[0].equalsIgnoreCase("on")) {
|
||||||
|
enable = true;
|
||||||
|
} else if (args[0].equalsIgnoreCase("off")) {
|
||||||
|
enable = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
final PlotWorld plotworld = PlotSquared.getPlotWorld(world);
|
||||||
|
if (!enable && plotworld.PLOT_CHAT) {
|
||||||
|
return !sendMessage(plr, C.PLOT_CHAT_FORCED);
|
||||||
|
}
|
||||||
|
plr.setMeta("chat", enable);
|
||||||
|
return sendMessage(plr, enable ? C.PLOT_CHAT_ON : C.PLOT_CHAT_OFF);
|
||||||
|
}
|
||||||
|
}
|
@ -76,7 +76,8 @@ public enum Command {
|
|||||||
UNBAN("unban", "unblock"),
|
UNBAN("unban", "unblock"),
|
||||||
DATABASE("database", "convert"),
|
DATABASE("database", "convert"),
|
||||||
CONFIRM("confirm"),
|
CONFIRM("confirm"),
|
||||||
TP("tp", "tp");
|
TP("tp", "tp"),
|
||||||
|
CHAT("chat", "on|off", new CommandPermission("plots.chat"));
|
||||||
/**
|
/**
|
||||||
* Command
|
* Command
|
||||||
*/
|
*/
|
||||||
|
@ -402,6 +402,9 @@ public enum C {
|
|||||||
* Chat
|
* Chat
|
||||||
*/
|
*/
|
||||||
PLOT_CHAT_FORMAT("$2[$1Plot Chat$2][$1%plot_id%$2] $1%sender%$2: $1%msg%"),
|
PLOT_CHAT_FORMAT("$2[$1Plot Chat$2][$1%plot_id%$2] $1%sender%$2: $1%msg%"),
|
||||||
|
PLOT_CHAT_FORCED("$2This world forces everyone to use plot chat."),
|
||||||
|
PLOT_CHAT_ON("$4Plot chat enabled."),
|
||||||
|
PLOT_CHAT_OFF("$4Plot chat disabled."),
|
||||||
/*
|
/*
|
||||||
* Denied
|
* Denied
|
||||||
*/
|
*/
|
||||||
|
@ -354,7 +354,8 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final PlotWorld plotworld = PlotSquared.getPlotWorld(world);
|
final PlotWorld plotworld = PlotSquared.getPlotWorld(world);
|
||||||
if (!plotworld.PLOT_CHAT) {
|
final PlotPlayer plr = BukkitUtil.getPlayer(player);
|
||||||
|
if (!plotworld.PLOT_CHAT && (plr.getMeta("chat") == null || !(Boolean) plr.getMeta("chat"))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final Location loc = BukkitUtil.getLocation(player);
|
final Location loc = BukkitUtil.getLocation(player);
|
||||||
|
Loading…
Reference in New Issue
Block a user