mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-09-07 01:08:40 +02:00
Fixed interactive chat colors + added interactive pages to sponge.
This commit is contained in:
parent
83d0b8cebb
commit
68df5b1930
@ -7,6 +7,7 @@ import com.intellectualcrafters.plot.generator.PlotGenerator;
|
|||||||
import com.intellectualcrafters.plot.object.PlotPlayer;
|
import com.intellectualcrafters.plot.object.PlotPlayer;
|
||||||
import com.intellectualcrafters.plot.util.AbstractTitle;
|
import com.intellectualcrafters.plot.util.AbstractTitle;
|
||||||
import com.intellectualcrafters.plot.util.BlockManager;
|
import com.intellectualcrafters.plot.util.BlockManager;
|
||||||
|
import com.intellectualcrafters.plot.util.ChatManager;
|
||||||
import com.intellectualcrafters.plot.util.ChunkManager;
|
import com.intellectualcrafters.plot.util.ChunkManager;
|
||||||
import com.intellectualcrafters.plot.util.EconHandler;
|
import com.intellectualcrafters.plot.util.EconHandler;
|
||||||
import com.intellectualcrafters.plot.util.EventUtil;
|
import com.intellectualcrafters.plot.util.EventUtil;
|
||||||
@ -68,6 +69,12 @@ public interface IPlotMain {
|
|||||||
*/
|
*/
|
||||||
SchematicHandler initSchematicHandler();
|
SchematicHandler initSchematicHandler();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the schematic handler
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
ChatManager initChatManager();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The task manager will run and manage minecraft tasks
|
* The task manager will run and manage minecraft tasks
|
||||||
* @return
|
* @return
|
||||||
|
@ -60,6 +60,7 @@ import com.intellectualcrafters.plot.object.PlotPlayer;
|
|||||||
import com.intellectualcrafters.plot.object.PlotWorld;
|
import com.intellectualcrafters.plot.object.PlotWorld;
|
||||||
import com.intellectualcrafters.plot.util.AbstractTitle;
|
import com.intellectualcrafters.plot.util.AbstractTitle;
|
||||||
import com.intellectualcrafters.plot.util.BlockManager;
|
import com.intellectualcrafters.plot.util.BlockManager;
|
||||||
|
import com.intellectualcrafters.plot.util.ChatManager;
|
||||||
import com.intellectualcrafters.plot.util.ChunkManager;
|
import com.intellectualcrafters.plot.util.ChunkManager;
|
||||||
import com.intellectualcrafters.plot.util.ClusterManager;
|
import com.intellectualcrafters.plot.util.ClusterManager;
|
||||||
import com.intellectualcrafters.plot.util.CommentManager;
|
import com.intellectualcrafters.plot.util.CommentManager;
|
||||||
@ -211,6 +212,8 @@ public class PS {
|
|||||||
SchematicHandler.manager = IMP.initSchematicHandler();
|
SchematicHandler.manager = IMP.initSchematicHandler();
|
||||||
// Titles
|
// Titles
|
||||||
AbstractTitle.TITLE_CLASS = IMP.initTitleManager();
|
AbstractTitle.TITLE_CLASS = IMP.initTitleManager();
|
||||||
|
// Chat
|
||||||
|
ChatManager.manager = IMP.initChatManager();
|
||||||
|
|
||||||
// Check for updates
|
// Check for updates
|
||||||
TaskManager.runTaskAsync(new Runnable() {
|
TaskManager.runTaskAsync(new Runnable() {
|
||||||
|
@ -38,6 +38,7 @@ import com.intellectualcrafters.plot.flag.Flag;
|
|||||||
import com.intellectualcrafters.plot.flag.FlagManager;
|
import com.intellectualcrafters.plot.flag.FlagManager;
|
||||||
import com.intellectualcrafters.plot.object.ConsolePlayer;
|
import com.intellectualcrafters.plot.object.ConsolePlayer;
|
||||||
import com.intellectualcrafters.plot.object.Plot;
|
import com.intellectualcrafters.plot.object.Plot;
|
||||||
|
import com.intellectualcrafters.plot.object.PlotMessage;
|
||||||
import com.intellectualcrafters.plot.object.PlotPlayer;
|
import com.intellectualcrafters.plot.object.PlotPlayer;
|
||||||
import com.intellectualcrafters.plot.object.Rating;
|
import com.intellectualcrafters.plot.object.Rating;
|
||||||
import com.intellectualcrafters.plot.util.EconHandler;
|
import com.intellectualcrafters.plot.util.EconHandler;
|
||||||
@ -47,7 +48,6 @@ import com.intellectualcrafters.plot.util.Permissions;
|
|||||||
import com.intellectualcrafters.plot.util.StringComparison;
|
import com.intellectualcrafters.plot.util.StringComparison;
|
||||||
import com.intellectualcrafters.plot.util.StringMan;
|
import com.intellectualcrafters.plot.util.StringMan;
|
||||||
import com.intellectualcrafters.plot.util.UUIDHandler;
|
import com.intellectualcrafters.plot.util.UUIDHandler;
|
||||||
import com.plotsquared.bukkit.chat.FancyMessage;
|
|
||||||
import com.plotsquared.bukkit.object.BukkitPlayer;
|
import com.plotsquared.bukkit.object.BukkitPlayer;
|
||||||
import com.plotsquared.general.commands.CommandDeclaration;
|
import com.plotsquared.general.commands.CommandDeclaration;
|
||||||
|
|
||||||
@ -388,166 +388,137 @@ public class list extends SubCommand {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
if (!ConsolePlayer.isConsole(player) && Settings.FANCY_CHAT) {
|
String color;
|
||||||
ChatColor color;
|
if (plot.owner == null) {
|
||||||
if (plot.owner == null) {
|
color = "$3";
|
||||||
color = ChatColor.GOLD;
|
}
|
||||||
}
|
else if (plot.isOwner(player.getUUID())) {
|
||||||
else if (plot.isOwner(player.getUUID())) {
|
color = "$1";
|
||||||
color = ChatColor.BLUE;
|
}
|
||||||
}
|
else if (plot.isAdded(player.getUUID())) {
|
||||||
else if (plot.isAdded(player.getUUID())) {
|
color = "$4";
|
||||||
color = ChatColor.DARK_GREEN;
|
}
|
||||||
}
|
else if (plot.isDenied(player.getUUID())) {
|
||||||
else if (plot.isDenied(player.getUUID())) {
|
color = "$2";
|
||||||
color = ChatColor.RED;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
color = ChatColor.GOLD;
|
|
||||||
}
|
|
||||||
FancyMessage trusted =
|
|
||||||
new FancyMessage(
|
|
||||||
ChatColor.stripColor(
|
|
||||||
ChatColor.translateAlternateColorCodes('&',
|
|
||||||
C.PLOT_INFO_TRUSTED.s().replaceAll("%trusted%", Info.getPlayerList(plot.getTrusted())))))
|
|
||||||
.color(ChatColor.GOLD);
|
|
||||||
|
|
||||||
FancyMessage members =
|
|
||||||
new FancyMessage(
|
|
||||||
ChatColor.stripColor(
|
|
||||||
ChatColor.translateAlternateColorCodes('&',
|
|
||||||
C.PLOT_INFO_MEMBERS.s().replaceAll("%members%", Info.getPlayerList(plot.getMembers())))))
|
|
||||||
.color(ChatColor.GOLD);
|
|
||||||
String strFlags = StringMan.join(plot.getSettings().flags.values(), ",");
|
|
||||||
if (strFlags.length() == 0) {
|
|
||||||
strFlags = C.NONE.s();
|
|
||||||
}
|
|
||||||
FancyMessage flags =
|
|
||||||
new FancyMessage(
|
|
||||||
ChatColor.stripColor(
|
|
||||||
ChatColor.translateAlternateColorCodes('&',
|
|
||||||
C.PLOT_INFO_FLAGS.s().replaceAll("%flags%", strFlags))))
|
|
||||||
.color(ChatColor.GOLD);
|
|
||||||
|
|
||||||
FancyMessage message = new FancyMessage("")
|
|
||||||
.then("[")
|
|
||||||
.color(ChatColor.DARK_GRAY)
|
|
||||||
.then(i + "")
|
|
||||||
.command("/plot visit " + plot.world + ";" + plot.id)
|
|
||||||
.tooltip("/plot visit " + plot.world + ";" + plot.id)
|
|
||||||
.color(ChatColor.GOLD)
|
|
||||||
.then("]")
|
|
||||||
|
|
||||||
// teleport tooltip
|
|
||||||
|
|
||||||
.color(ChatColor.DARK_GRAY)
|
|
||||||
.then(" " + plot.toString())
|
|
||||||
|
|
||||||
.formattedTooltip(trusted, members, flags)
|
|
||||||
.command("/plot info " + plot.world + ";" + plot.id)
|
|
||||||
|
|
||||||
.color(color)
|
|
||||||
.then(" - ")
|
|
||||||
.color(ChatColor.GRAY);
|
|
||||||
String prefix = "";
|
|
||||||
for (UUID uuid : plot.getOwners()) {
|
|
||||||
String name = UUIDHandler.getName(uuid);
|
|
||||||
if (name == null) {
|
|
||||||
message = message
|
|
||||||
.then(prefix)
|
|
||||||
.color(ChatColor.DARK_GRAY)
|
|
||||||
.then("unknown")
|
|
||||||
.color(ChatColor.GRAY)
|
|
||||||
.tooltip(uuid.toString())
|
|
||||||
.suggest(uuid.toString());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
PlotPlayer pp = UUIDHandler.getPlayer(uuid);
|
|
||||||
if (pp != null) {
|
|
||||||
message = message
|
|
||||||
.then(prefix)
|
|
||||||
.color(ChatColor.DARK_GRAY)
|
|
||||||
.then(name).color(ChatColor.GOLD)
|
|
||||||
.formattedTooltip(new FancyMessage("Online").color(ChatColor.DARK_GREEN));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
message = message
|
|
||||||
.then(prefix)
|
|
||||||
.color(ChatColor.DARK_GRAY)
|
|
||||||
.then(name).color(ChatColor.GOLD)
|
|
||||||
.formattedTooltip(new FancyMessage("Offline").color(ChatColor.RED));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
prefix = ", ";
|
|
||||||
}
|
|
||||||
message.send(((BukkitPlayer) player).player);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
String message = C.PLOT_LIST_ITEM.s()
|
color = "$1";
|
||||||
.replaceAll("%in", i + 1 + "")
|
|
||||||
.replaceAll("%id", plot.id.toString())
|
|
||||||
.replaceAll("%world", plot.world)
|
|
||||||
.replaceAll("%owner", getName(plot.owner))
|
|
||||||
|
|
||||||
// Unused
|
|
||||||
|
|
||||||
.replaceAll("%trusted%", "")
|
|
||||||
.replaceAll("%members%", "")
|
|
||||||
.replaceAll("%tp%", "");
|
|
||||||
MainUtil.sendMessage(player, message);
|
|
||||||
}
|
}
|
||||||
|
PlotMessage trusted =
|
||||||
|
new PlotMessage()
|
||||||
|
.text(C.color(C.PLOT_INFO_TRUSTED.s().replaceAll("%trusted%", Info.getPlayerList(plot.getTrusted()))))
|
||||||
|
.color("$1");
|
||||||
|
|
||||||
|
PlotMessage members =
|
||||||
|
new PlotMessage()
|
||||||
|
.text(C.color(C.PLOT_INFO_MEMBERS.s().replaceAll("%members%", Info.getPlayerList(plot.getMembers()))))
|
||||||
|
.color("$1");
|
||||||
|
|
||||||
|
String strFlags = StringMan.join(plot.getSettings().flags.values(), ",");
|
||||||
|
if (strFlags.length() == 0) {
|
||||||
|
strFlags = C.NONE.s();
|
||||||
|
}
|
||||||
|
|
||||||
|
PlotMessage flags =
|
||||||
|
new PlotMessage()
|
||||||
|
.text(C.color(C.PLOT_INFO_FLAGS.s().replaceAll("%flags%", strFlags)))
|
||||||
|
.color("$1");
|
||||||
|
|
||||||
|
PlotMessage message = new PlotMessage()
|
||||||
|
.text("[")
|
||||||
|
.color("$3")
|
||||||
|
.text(i + "")
|
||||||
|
.command("/plot visit " + plot.world + ";" + plot.id)
|
||||||
|
.tooltip("/plot visit " + plot.world + ";" + plot.id)
|
||||||
|
.color("$1")
|
||||||
|
.text("]")
|
||||||
|
.color("$3")
|
||||||
|
.text(" " + plot.toString())
|
||||||
|
|
||||||
|
.tooltip(trusted, members, flags)
|
||||||
|
.command("/plot info " + plot.world + ";" + plot.id)
|
||||||
|
|
||||||
|
.color(color)
|
||||||
|
.text(" - ")
|
||||||
|
.color("$2");
|
||||||
|
String prefix = "";
|
||||||
|
for (UUID uuid : plot.getOwners()) {
|
||||||
|
String name = UUIDHandler.getName(uuid);
|
||||||
|
if (name == null) {
|
||||||
|
message = message
|
||||||
|
.text(prefix)
|
||||||
|
.color("$4")
|
||||||
|
.text("unknown")
|
||||||
|
.color("$2")
|
||||||
|
.tooltip(uuid.toString())
|
||||||
|
.suggest(uuid.toString());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
PlotPlayer pp = UUIDHandler.getPlayer(uuid);
|
||||||
|
if (pp != null) {
|
||||||
|
message = message
|
||||||
|
.text(prefix)
|
||||||
|
.color("$4")
|
||||||
|
.text(name).color("$1")
|
||||||
|
.tooltip(new PlotMessage("Online").color("$4"));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
message = message
|
||||||
|
.text(prefix)
|
||||||
|
.color("$4")
|
||||||
|
.text(name).color("$1")
|
||||||
|
.tooltip(new PlotMessage("Offline").color("$3"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
prefix = ", ";
|
||||||
|
}
|
||||||
|
message.send(player);
|
||||||
}
|
}
|
||||||
if (!ConsolePlayer.isConsole(player) && Settings.FANCY_CHAT) {
|
if (page < totalPages && page > 0) {
|
||||||
if (page < totalPages && page > 0) {
|
// back | next
|
||||||
// back | next
|
new PlotMessage()
|
||||||
new FancyMessage("")
|
.text("<-")
|
||||||
.then("<-")
|
.color("$1")
|
||||||
.color(ChatColor.GOLD)
|
.command("/plot list " + args[0] + " " + (page))
|
||||||
.command("/plot list " + args[0] + " " + (page))
|
.text(" | ")
|
||||||
.then(" | ")
|
.color("$3")
|
||||||
.color(ChatColor.DARK_GRAY)
|
.text("->")
|
||||||
.then("->")
|
.color("$1")
|
||||||
.color(ChatColor.GOLD)
|
.command("/plot list " + args[0] + " " + (page + 2))
|
||||||
.command("/plot list " + args[0] + " " + (page + 2))
|
.text(C.CLICKABLE.s())
|
||||||
.then(C.CLICKABLE.s())
|
.color("$2")
|
||||||
.color(ChatColor.GRAY)
|
.send(player);
|
||||||
.send(((BukkitPlayer) player).player);
|
return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (page == 0 && totalPages != 0) {
|
|
||||||
// next
|
|
||||||
new FancyMessage("")
|
|
||||||
.then("<-")
|
|
||||||
.color(ChatColor.DARK_GRAY)
|
|
||||||
.then(" | ")
|
|
||||||
.color(ChatColor.DARK_GRAY)
|
|
||||||
.then("->")
|
|
||||||
.color(ChatColor.GOLD)
|
|
||||||
.command("/plot list " + args[0] + " " + (page + 2))
|
|
||||||
.then(C.CLICKABLE.s())
|
|
||||||
.color(ChatColor.GRAY)
|
|
||||||
.send(((BukkitPlayer) player).player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (page == totalPages && totalPages != 0) {
|
|
||||||
// back
|
|
||||||
new FancyMessage("")
|
|
||||||
.then("<-")
|
|
||||||
.color(ChatColor.GOLD)
|
|
||||||
.command("/plot list " + args[0] + " " + (page))
|
|
||||||
.then(" | ")
|
|
||||||
.color(ChatColor.DARK_GRAY)
|
|
||||||
.then("->")
|
|
||||||
.color(ChatColor.DARK_GRAY)
|
|
||||||
.then(C.CLICKABLE.s())
|
|
||||||
.color(ChatColor.GRAY)
|
|
||||||
.send(((BukkitPlayer) player).player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
if (page == 0 && totalPages != 0) {
|
||||||
String footer = C.PLOT_LIST_FOOTER.s().replaceAll("%word%", "There is").replaceAll("%num%", plots.size() + "").replaceAll("%plot%", plots.size() == 1 ? "plot" : "plots");
|
// next
|
||||||
MainUtil.sendMessage(player, footer);
|
new PlotMessage()
|
||||||
|
.text("<-")
|
||||||
|
.color("$3")
|
||||||
|
.text(" | ")
|
||||||
|
.color("$3")
|
||||||
|
.text("->")
|
||||||
|
.color("$1")
|
||||||
|
.command("/plot list " + args[0] + " " + (page + 2))
|
||||||
|
.text(C.CLICKABLE.s())
|
||||||
|
.color("$2")
|
||||||
|
.send(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (page == totalPages && totalPages != 0) {
|
||||||
|
// back
|
||||||
|
new PlotMessage()
|
||||||
|
.text("<-")
|
||||||
|
.color("$1")
|
||||||
|
.command("/plot list " + args[0] + " " + (page))
|
||||||
|
.text(" | ")
|
||||||
|
.color("$3")
|
||||||
|
.text("->")
|
||||||
|
.color("$3")
|
||||||
|
.text(C.CLICKABLE.s())
|
||||||
|
.color("$2")
|
||||||
|
.send(player);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@ import com.intellectualcrafters.plot.object.SetupObject;
|
|||||||
import com.intellectualcrafters.plot.util.AbstractTitle;
|
import com.intellectualcrafters.plot.util.AbstractTitle;
|
||||||
import com.intellectualcrafters.plot.util.BlockManager;
|
import com.intellectualcrafters.plot.util.BlockManager;
|
||||||
import com.intellectualcrafters.plot.util.BlockUpdateUtil;
|
import com.intellectualcrafters.plot.util.BlockUpdateUtil;
|
||||||
|
import com.intellectualcrafters.plot.util.ChatManager;
|
||||||
import com.intellectualcrafters.plot.util.ChunkManager;
|
import com.intellectualcrafters.plot.util.ChunkManager;
|
||||||
import com.intellectualcrafters.plot.util.ConsoleColors;
|
import com.intellectualcrafters.plot.util.ConsoleColors;
|
||||||
import com.intellectualcrafters.plot.util.EconHandler;
|
import com.intellectualcrafters.plot.util.EconHandler;
|
||||||
@ -64,12 +65,14 @@ import com.plotsquared.bukkit.listeners.WorldEvents;
|
|||||||
import com.plotsquared.bukkit.listeners.worldedit.WEListener;
|
import com.plotsquared.bukkit.listeners.worldedit.WEListener;
|
||||||
import com.plotsquared.bukkit.listeners.worldedit.WESubscriber;
|
import com.plotsquared.bukkit.listeners.worldedit.WESubscriber;
|
||||||
import com.plotsquared.bukkit.titles.DefaultTitle;
|
import com.plotsquared.bukkit.titles.DefaultTitle;
|
||||||
|
import com.plotsquared.bukkit.util.BukkitChatManager;
|
||||||
import com.plotsquared.bukkit.util.BukkitChunkManager;
|
import com.plotsquared.bukkit.util.BukkitChunkManager;
|
||||||
import com.plotsquared.bukkit.util.BukkitCommand;
|
import com.plotsquared.bukkit.util.BukkitCommand;
|
||||||
import com.plotsquared.bukkit.util.BukkitEconHandler;
|
import com.plotsquared.bukkit.util.BukkitEconHandler;
|
||||||
import com.plotsquared.bukkit.util.BukkitEventUtil;
|
import com.plotsquared.bukkit.util.BukkitEventUtil;
|
||||||
import com.plotsquared.bukkit.util.BukkitHybridUtils;
|
import com.plotsquared.bukkit.util.BukkitHybridUtils;
|
||||||
import com.plotsquared.bukkit.util.BukkitInventoryUtil;
|
import com.plotsquared.bukkit.util.BukkitInventoryUtil;
|
||||||
|
import com.plotsquared.bukkit.util.BukkitPlainChatManager;
|
||||||
import com.plotsquared.bukkit.util.BukkitSchematicHandler;
|
import com.plotsquared.bukkit.util.BukkitSchematicHandler;
|
||||||
import com.plotsquared.bukkit.util.BukkitSetBlockManager;
|
import com.plotsquared.bukkit.util.BukkitSetBlockManager;
|
||||||
import com.plotsquared.bukkit.util.BukkitSetupUtils;
|
import com.plotsquared.bukkit.util.BukkitSetupUtils;
|
||||||
@ -637,4 +640,14 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain {
|
|||||||
PS.debug("Unknown NMS package: " + StringMan.getString(pas));
|
PS.debug("Unknown NMS package: " + StringMan.getString(pas));
|
||||||
return "1_8_R3";
|
return "1_8_R3";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ChatManager<?> initChatManager() {
|
||||||
|
if (Settings.FANCY_CHAT) {
|
||||||
|
return new BukkitChatManager();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return new BukkitPlainChatManager();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,7 @@ import com.google.gson.JsonParser;
|
|||||||
import com.google.gson.stream.JsonWriter;
|
import com.google.gson.stream.JsonWriter;
|
||||||
import com.intellectualcrafters.configuration.serialization.ConfigurationSerializable;
|
import com.intellectualcrafters.configuration.serialization.ConfigurationSerializable;
|
||||||
import com.intellectualcrafters.configuration.serialization.ConfigurationSerialization;
|
import com.intellectualcrafters.configuration.serialization.ConfigurationSerialization;
|
||||||
|
import com.intellectualcrafters.plot.config.C;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a formattable message. Such messages can use elements such as colors, formatting codes, hover and click data, and other features provided by the vanilla Minecraft <a href="http://minecraft.gamepedia.com/Tellraw#Raw_JSON_Text">JSON message formatter</a>.
|
* Represents a formattable message. Such messages can use elements such as colors, formatting codes, hover and click data, and other features provided by the vanilla Minecraft <a href="http://minecraft.gamepedia.com/Tellraw#Raw_JSON_Text">JSON message formatter</a>.
|
||||||
@ -134,9 +135,6 @@ public class FancyMessage implements JsonRepresentedObject, Cloneable, Iterable<
|
|||||||
* @exception IllegalArgumentException If the specified {@code ChatColor} enumeration value is not a color (but a format value).
|
* @exception IllegalArgumentException If the specified {@code ChatColor} enumeration value is not a color (but a format value).
|
||||||
*/
|
*/
|
||||||
public FancyMessage color(final ChatColor color) {
|
public FancyMessage color(final ChatColor color) {
|
||||||
if (!color.isColor()) {
|
|
||||||
throw new IllegalArgumentException(color.name() + " is not a color");
|
|
||||||
}
|
|
||||||
latest().color = color;
|
latest().color = color;
|
||||||
dirty = true;
|
dirty = true;
|
||||||
return this;
|
return this;
|
||||||
|
@ -152,7 +152,7 @@ public class BukkitPlayer extends PlotPlayer {
|
|||||||
@Override
|
@Override
|
||||||
public void setAttribute(String key) {
|
public void setAttribute(String key) {
|
||||||
key = "plotsquared_user_attributes." + key;
|
key = "plotsquared_user_attributes." + key;
|
||||||
if (EconHandler.manager == null) {
|
if (EconHandler.manager == null || player.hasPermission("plotsquared_user_attributes.*")) {
|
||||||
setMeta(key, true);
|
setMeta(key, true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -50,6 +50,7 @@ import com.intellectualcrafters.plot.object.PlotPlayer;
|
|||||||
import com.intellectualcrafters.plot.object.PlotWorld;
|
import com.intellectualcrafters.plot.object.PlotWorld;
|
||||||
import com.intellectualcrafters.plot.util.AbstractTitle;
|
import com.intellectualcrafters.plot.util.AbstractTitle;
|
||||||
import com.intellectualcrafters.plot.util.BlockManager;
|
import com.intellectualcrafters.plot.util.BlockManager;
|
||||||
|
import com.intellectualcrafters.plot.util.ChatManager;
|
||||||
import com.intellectualcrafters.plot.util.ChunkManager;
|
import com.intellectualcrafters.plot.util.ChunkManager;
|
||||||
import com.intellectualcrafters.plot.util.EconHandler;
|
import com.intellectualcrafters.plot.util.EconHandler;
|
||||||
import com.intellectualcrafters.plot.util.EventUtil;
|
import com.intellectualcrafters.plot.util.EventUtil;
|
||||||
@ -66,6 +67,7 @@ import com.plotsquared.sponge.generator.WorldModify;
|
|||||||
import com.plotsquared.sponge.listener.MainListener;
|
import com.plotsquared.sponge.listener.MainListener;
|
||||||
import com.plotsquared.sponge.util.KillRoadMobs;
|
import com.plotsquared.sponge.util.KillRoadMobs;
|
||||||
import com.plotsquared.sponge.util.SpongeBlockManager;
|
import com.plotsquared.sponge.util.SpongeBlockManager;
|
||||||
|
import com.plotsquared.sponge.util.SpongeChatManager;
|
||||||
import com.plotsquared.sponge.util.SpongeChunkManager;
|
import com.plotsquared.sponge.util.SpongeChunkManager;
|
||||||
import com.plotsquared.sponge.util.SpongeCommand;
|
import com.plotsquared.sponge.util.SpongeCommand;
|
||||||
import com.plotsquared.sponge.util.SpongeEventUtil;
|
import com.plotsquared.sponge.util.SpongeEventUtil;
|
||||||
@ -229,10 +231,6 @@ public class SpongeMain implements IPlotMain, PluginContainer {
|
|||||||
|
|
||||||
PS.instance = new PS(this, "Sponge");
|
PS.instance = new PS(this, "Sponge");
|
||||||
|
|
||||||
// TODO Until P^2 has json chat stuff for sponge, disable this
|
|
||||||
Settings.FANCY_CHAT = false;
|
|
||||||
// done
|
|
||||||
|
|
||||||
registerBlocks();
|
registerBlocks();
|
||||||
|
|
||||||
ConfigurationSection worldSection = PS.get().config.getConfigurationSection("worlds");
|
ConfigurationSection worldSection = PS.get().config.getConfigurationSection("worlds");
|
||||||
@ -638,4 +636,9 @@ public class SpongeMain implements IPlotMain, PluginContainer {
|
|||||||
public String getNMSPackage() {
|
public String getNMSPackage() {
|
||||||
return "1_8_R3";
|
return "1_8_R3";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ChatManager<?> initChatManager() {
|
||||||
|
return new SpongeChatManager();
|
||||||
|
}
|
||||||
}
|
}
|
@ -10,7 +10,9 @@ import org.spongepowered.api.data.value.mutable.Value;
|
|||||||
import org.spongepowered.api.entity.player.Player;
|
import org.spongepowered.api.entity.player.Player;
|
||||||
import org.spongepowered.api.entity.player.gamemode.GameMode;
|
import org.spongepowered.api.entity.player.gamemode.GameMode;
|
||||||
import org.spongepowered.api.entity.player.gamemode.GameModes;
|
import org.spongepowered.api.entity.player.gamemode.GameModes;
|
||||||
|
import org.spongepowered.api.text.TextBuilder;
|
||||||
import org.spongepowered.api.text.Texts;
|
import org.spongepowered.api.text.Texts;
|
||||||
|
import org.spongepowered.api.text.action.HoverAction;
|
||||||
import org.spongepowered.api.text.chat.ChatTypes;
|
import org.spongepowered.api.text.chat.ChatTypes;
|
||||||
|
|
||||||
import com.flowpowered.math.vector.Vector3d;
|
import com.flowpowered.math.vector.Vector3d;
|
||||||
|
Loading…
Reference in New Issue
Block a user