mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-26 15:16:45 +01:00
Fix various command issues
This commit is contained in:
parent
43e94de897
commit
7dcecde8ad
@ -247,7 +247,7 @@ import java.util.zip.ZipInputStream;
|
|||||||
if (Settings.Enabled_Components.WORLDEDIT_RESTRICTIONS) {
|
if (Settings.Enabled_Components.WORLDEDIT_RESTRICTIONS) {
|
||||||
try {
|
try {
|
||||||
if (this.IMP.initWorldEdit()) {
|
if (this.IMP.initWorldEdit()) {
|
||||||
PlotSquared.log(Captions.PREFIX + "&6" + IMP.getPluginName()
|
PlotSquared.log(Captions.PREFIX.getTranslated() + "&6" + IMP.getPluginName()
|
||||||
+ " hooked into WorldEdit.");
|
+ " hooked into WorldEdit.");
|
||||||
this.worldedit = WorldEdit.getInstance();
|
this.worldedit = WorldEdit.getInstance();
|
||||||
WorldEdit.getInstance().getEventBus().register(new WESubscriber());
|
WorldEdit.getInstance().getEventBus().register(new WESubscriber());
|
||||||
|
@ -35,11 +35,22 @@ import java.util.Collections;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@CommandDeclaration(command = "flag", aliases = {"f",
|
@CommandDeclaration(command = "flag", aliases = {"f",
|
||||||
"flag"}, usage = "/plot flag <set|remove|add|list|info> <flag> <value>", description = "Manage plot flags", category = CommandCategory.SETTINGS, requiredType = RequiredType.NONE, permission = "plots.flag")
|
"flag"}, usage = "/plot flag <set|remove|add|list|info> <flag> <value>", description = "Manage plot flags", category = CommandCategory.SETTINGS, requiredType = RequiredType.NONE, permission = "plots.flag")
|
||||||
@SuppressWarnings("unused") public final class FlagCommand extends SubCommand {
|
@SuppressWarnings("unused") public final class FlagCommand extends Command {
|
||||||
|
|
||||||
|
public FlagCommand() {
|
||||||
|
super(MainCommand.getInstance(), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean sendMessage(PlotPlayer player, Captions message, Object... args) {
|
||||||
|
message.send(player, args);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private static boolean checkPermValue(@Nonnull final PlotPlayer player,
|
private static boolean checkPermValue(@Nonnull final PlotPlayer player,
|
||||||
@NotNull final PlotFlag<?, ?> flag, @NotNull String key, @NotNull String value) {
|
@NotNull final PlotFlag<?, ?> flag, @NotNull String key, @NotNull String value) {
|
||||||
@ -156,10 +167,17 @@ import java.util.Map;
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public boolean onCommand(final PlotPlayer player, final String[] args) {
|
@Override public CompletableFuture<Boolean> execute(PlotPlayer player, String[] args,
|
||||||
|
RunnableVal3<Command, Runnable, Runnable> confirm,
|
||||||
|
RunnableVal2<Command, CommandResult> whenDone) throws CommandException {
|
||||||
|
if (args.length == 0 || !Arrays.asList("set", "s", "list", "l", "delete", "remove", "r", "add", "a",
|
||||||
|
"info", "i").contains(args[0].toLowerCase(
|
||||||
|
Locale.ENGLISH))) {
|
||||||
new HelpMenu(player).setCategory(CommandCategory.SETTINGS).setCommands(this.getCommands())
|
new HelpMenu(player).setCategory(CommandCategory.SETTINGS).setCommands(this.getCommands())
|
||||||
.generateMaxPages().generatePage(0, getParent().toString()).render();
|
.generateMaxPages().generatePage(0, getParent().toString()).render();
|
||||||
return true;
|
return CompletableFuture.completedFuture(true);
|
||||||
|
}
|
||||||
|
return super.execute(player, args, confirm, whenDone);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public Collection<Command> tab(final PlotPlayer player, final String[] args,
|
@Override public Collection<Command> tab(final PlotPlayer player, final String[] args,
|
||||||
@ -268,7 +286,7 @@ import java.util.Map;
|
|||||||
String value = StringMan.join(Arrays.copyOfRange(args, 1, args.length), " ");
|
String value = StringMan.join(Arrays.copyOfRange(args, 1, args.length), " ");
|
||||||
final ListFlag listFlag = (ListFlag) flag;
|
final ListFlag listFlag = (ListFlag) flag;
|
||||||
final List list =
|
final List list =
|
||||||
plot.getFlag((Class<? extends ListFlag<?, ?>>) listFlag.getClass());
|
new ArrayList(plot.getFlag((Class<? extends ListFlag<?, ?>>) listFlag.getClass()));
|
||||||
final PlotFlag parsedFlag;
|
final PlotFlag parsedFlag;
|
||||||
try {
|
try {
|
||||||
parsedFlag = listFlag.parse(value);
|
parsedFlag = listFlag.parse(value);
|
||||||
@ -382,7 +400,8 @@ import java.util.Map;
|
|||||||
.color(Captions.FLAG_INFO_COLOR_VALUE.getTranslated()).send(player);
|
.color(Captions.FLAG_INFO_COLOR_VALUE.getTranslated()).send(player);
|
||||||
// Flag example
|
// Flag example
|
||||||
new PlotMessage(Captions.FLAG_INFO_EXAMPLE.getTranslated())
|
new PlotMessage(Captions.FLAG_INFO_EXAMPLE.getTranslated())
|
||||||
.color(Captions.FLAG_INFO_COLOR_KEY.getTranslated()).text(plotFlag.getExample())
|
.color(Captions.FLAG_INFO_COLOR_KEY.getTranslated()).text("/plot flag set " +
|
||||||
|
plotFlag.getName() + " " + plotFlag.getExample())
|
||||||
.color(Captions.FLAG_INFO_COLOR_VALUE.getTranslated())
|
.color(Captions.FLAG_INFO_COLOR_VALUE.getTranslated())
|
||||||
.suggest("/plot flag set " + plotFlag.getName() + " " + plotFlag.getExample())
|
.suggest("/plot flag set " + plotFlag.getName() + " " + plotFlag.getExample())
|
||||||
.send(player);
|
.send(player);
|
||||||
@ -392,8 +411,8 @@ import java.util.Map;
|
|||||||
new PlotMessage(Captions.FLAG_INFO_DEFAULT_VALUE.getTranslated())
|
new PlotMessage(Captions.FLAG_INFO_DEFAULT_VALUE.getTranslated())
|
||||||
.color(Captions.FLAG_INFO_COLOR_KEY.getTranslated()).text(defaultValue)
|
.color(Captions.FLAG_INFO_COLOR_KEY.getTranslated()).text(defaultValue)
|
||||||
.color(Captions.FLAG_INFO_COLOR_VALUE.getTranslated()).send(player);
|
.color(Captions.FLAG_INFO_COLOR_VALUE.getTranslated()).send(player);
|
||||||
// Footer
|
// Footer. Done this way to prevent the duplicate-message-thingy from catching it
|
||||||
Captions.FLAG_INFO_FOOTER.send(player);
|
MainUtil.sendMessage(player, "&r" + Captions.FLAG_INFO_FOOTER.getTranslated());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -850,4 +850,8 @@ public enum Captions implements Caption {
|
|||||||
return this.category;
|
return this.category;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override public String toString() {
|
||||||
|
return this.getTranslated();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -52,7 +52,7 @@ import com.github.intellectualsites.plotsquared.plot.flags.implementations.Notif
|
|||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.NotifyLeaveFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.NotifyLeaveFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PlaceFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PlaceFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PlayerInteractFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PlayerInteractFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PlotWeatherFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.WeatherFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PriceFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PriceFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PveFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PveFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PvpFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PvpFlag;
|
||||||
@ -145,7 +145,7 @@ public final class GlobalFlagContainer extends FlagContainer {
|
|||||||
this.addFlag(InvincibleFlag.INVINCIBLE_FALSE);
|
this.addFlag(InvincibleFlag.INVINCIBLE_FALSE);
|
||||||
|
|
||||||
// Enum Flags
|
// Enum Flags
|
||||||
this.addFlag(PlotWeatherFlag.PLOT_WEATHER_FLAG_OFF);
|
this.addFlag(WeatherFlag.PLOT_WEATHER_FLAG_OFF);
|
||||||
this.addFlag(DenyTeleportFlag.DENY_TELEPORT_FLAG_NONE);
|
this.addFlag(DenyTeleportFlag.DENY_TELEPORT_FLAG_NONE);
|
||||||
this.addFlag(TitlesFlag.TITLES_NONE);
|
this.addFlag(TitlesFlag.TITLES_NONE);
|
||||||
|
|
||||||
|
@ -5,25 +5,25 @@ import com.github.intellectualsites.plotsquared.plot.flags.PlotFlag;
|
|||||||
import com.github.intellectualsites.plotsquared.plot.util.PlotWeather;
|
import com.github.intellectualsites.plotsquared.plot.util.PlotWeather;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class PlotWeatherFlag extends PlotFlag<PlotWeather, PlotWeatherFlag> {
|
public class WeatherFlag extends PlotFlag<PlotWeather, WeatherFlag> {
|
||||||
|
|
||||||
public static final PlotWeatherFlag PLOT_WEATHER_FLAG_RAIN =
|
public static final WeatherFlag PLOT_WEATHER_FLAG_RAIN =
|
||||||
new PlotWeatherFlag(PlotWeather.RAIN);
|
new WeatherFlag(PlotWeather.RAIN);
|
||||||
public static final PlotWeatherFlag PLOT_WEATHER_FLAG_CLEAR =
|
public static final WeatherFlag PLOT_WEATHER_FLAG_CLEAR =
|
||||||
new PlotWeatherFlag(PlotWeather.CLEAR);
|
new WeatherFlag(PlotWeather.CLEAR);
|
||||||
public static final PlotWeatherFlag PLOT_WEATHER_FLAG_OFF =
|
public static final WeatherFlag PLOT_WEATHER_FLAG_OFF =
|
||||||
new PlotWeatherFlag(PlotWeather.RESET);
|
new WeatherFlag(PlotWeather.RESET);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct a new flag instance.
|
* Construct a new flag instance.
|
||||||
*
|
*
|
||||||
* @param value Flag value
|
* @param value Flag value
|
||||||
*/
|
*/
|
||||||
protected PlotWeatherFlag(@NotNull PlotWeather value) {
|
protected WeatherFlag(@NotNull PlotWeather value) {
|
||||||
super(value, Captions.FLAG_CATEGORY_WEATHER, Captions.FLAG_DESCRIPTION_WEATHER);
|
super(value, Captions.FLAG_CATEGORY_WEATHER, Captions.FLAG_DESCRIPTION_WEATHER);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public PlotWeatherFlag parse(@NotNull String input) {
|
@Override public WeatherFlag parse(@NotNull String input) {
|
||||||
switch (input.toLowerCase()) {
|
switch (input.toLowerCase()) {
|
||||||
case "rain":
|
case "rain":
|
||||||
case "storm":
|
case "storm":
|
||||||
@ -40,7 +40,7 @@ public class PlotWeatherFlag extends PlotFlag<PlotWeather, PlotWeatherFlag> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public PlotWeatherFlag merge(@NotNull PlotWeather newValue) {
|
@Override public WeatherFlag merge(@NotNull PlotWeather newValue) {
|
||||||
return flagOf(newValue);
|
return flagOf(newValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ public class PlotWeatherFlag extends PlotFlag<PlotWeather, PlotWeatherFlag> {
|
|||||||
return "storm";
|
return "storm";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override protected PlotWeatherFlag flagOf(@NotNull PlotWeather value) {
|
@Override protected WeatherFlag flagOf(@NotNull PlotWeather value) {
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case RAIN:
|
case RAIN:
|
||||||
return PLOT_WEATHER_FLAG_RAIN;
|
return PLOT_WEATHER_FLAG_RAIN;
|
@ -11,7 +11,7 @@ import com.github.intellectualsites.plotsquared.plot.flags.implementations.Guest
|
|||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.MusicFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.MusicFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.NotifyEnterFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.NotifyEnterFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.NotifyLeaveFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.NotifyLeaveFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.PlotWeatherFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.WeatherFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.TimeFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.TimeFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.flags.implementations.TitlesFlag;
|
import com.github.intellectualsites.plotsquared.plot.flags.implementations.TitlesFlag;
|
||||||
import com.github.intellectualsites.plotsquared.plot.object.Location;
|
import com.github.intellectualsites.plotsquared.plot.object.Location;
|
||||||
@ -135,7 +135,7 @@ public class PlotListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
player.setWeather(plot.getFlag(PlotWeatherFlag.class));
|
player.setWeather(plot.getFlag(WeatherFlag.class));
|
||||||
|
|
||||||
ItemType musicFlag = plot.getFlag(MusicFlag.class);
|
ItemType musicFlag = plot.getFlag(MusicFlag.class);
|
||||||
if (musicFlag != null) {
|
if (musicFlag != null) {
|
||||||
@ -267,9 +267,9 @@ public class PlotListener {
|
|||||||
player.setTime(Long.MAX_VALUE);
|
player.setTime(Long.MAX_VALUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
final PlotWeather plotWeather = plot.getFlag(PlotWeatherFlag.class);
|
final PlotWeather plotWeather = plot.getFlag(WeatherFlag.class);
|
||||||
if (plotWeather != PlotWeather.RESET) {
|
if (plotWeather != PlotWeather.RESET) {
|
||||||
player.setWeather(plotWeather);
|
player.setWeather(PlotWeather.RESET);
|
||||||
}
|
}
|
||||||
|
|
||||||
Location lastLoc = player.getMeta("music");
|
Location lastLoc = player.getMeta("music");
|
||||||
|
@ -789,9 +789,11 @@ public class MainUtil {
|
|||||||
} else {
|
} else {
|
||||||
String prefix = "";
|
String prefix = "";
|
||||||
for (final PlotFlag<?, ?> flag : flagCollection) {
|
for (final PlotFlag<?, ?> flag : flagCollection) {
|
||||||
Object value = flag.getValue();
|
Object value;
|
||||||
if (flag instanceof DoubleFlag && !Settings.General.SCIENTIFIC) {
|
if (flag instanceof DoubleFlag && !Settings.General.SCIENTIFIC) {
|
||||||
value = FLAG_DECIMAL_FORMAT.format(value);
|
value = FLAG_DECIMAL_FORMAT.format(flag.getValue());
|
||||||
|
} else {
|
||||||
|
value = flag.toString();
|
||||||
}
|
}
|
||||||
flags.append(prefix).append(CaptionUtility.format(Captions.PLOT_FLAG_LIST.getTranslated(),
|
flags.append(prefix).append(CaptionUtility.format(Captions.PLOT_FLAG_LIST.getTranslated(),
|
||||||
flag.getName(), value));
|
flag.getName(), value));
|
||||||
|
Loading…
Reference in New Issue
Block a user