mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2024-11-27 21:29:14 +01:00
Trim arguments, waypoint command
This commit is contained in:
parent
3c9379d455
commit
66c2773616
@ -89,9 +89,10 @@ public class CommandContext {
|
|||||||
}
|
}
|
||||||
List<String> copied = Lists.newArrayList();
|
List<String> copied = Lists.newArrayList();
|
||||||
for (String arg : args) {
|
for (String arg : args) {
|
||||||
if (arg == null || arg.trim().isEmpty())
|
arg = arg.trim();
|
||||||
|
if (arg == null || arg.isEmpty())
|
||||||
continue;
|
continue;
|
||||||
copied.add(arg);
|
copied.add(arg.trim());
|
||||||
}
|
}
|
||||||
this.args = copied.toArray(new String[copied.size()]);
|
this.args = copied.toArray(new String[copied.size()]);
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,21 @@ public class WaypointCommands {
|
|||||||
public WaypointCommands(Citizens plugin) {
|
public WaypointCommands(Citizens plugin) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: refactor into a policy style system
|
||||||
|
@Command(
|
||||||
|
aliases = { "waypoints", "waypoint", "wp" },
|
||||||
|
usage = "disableteleporting",
|
||||||
|
desc = "Disables teleportation when stuck (temporary command)",
|
||||||
|
modifiers = { "disableteleport" },
|
||||||
|
min = 1,
|
||||||
|
max = 1,
|
||||||
|
permission = "waypoints.disableteleport")
|
||||||
|
public void disableTeleporting(CommandContext args, CommandSender sender, NPC npc)
|
||||||
|
throws CommandException {
|
||||||
|
npc.getNavigator().getDefaultParameters().stuckAction(null);
|
||||||
|
Messaging.sendTr(sender, Messages.WAYPOINT_TELEPORTING_DISABLED);
|
||||||
|
}
|
||||||
|
|
||||||
@Command(
|
@Command(
|
||||||
aliases = { "waypoints", "waypoint", "wp" },
|
aliases = { "waypoints", "waypoint", "wp" },
|
||||||
usage = "provider (provider name) (-a)",
|
usage = "provider (provider name) (-a)",
|
||||||
|
@ -6,6 +6,7 @@ import net.citizensnpcs.api.ai.Navigator;
|
|||||||
import net.citizensnpcs.api.ai.NavigatorParameters;
|
import net.citizensnpcs.api.ai.NavigatorParameters;
|
||||||
import net.citizensnpcs.api.ai.StuckAction;
|
import net.citizensnpcs.api.ai.StuckAction;
|
||||||
import net.citizensnpcs.api.ai.TargetType;
|
import net.citizensnpcs.api.ai.TargetType;
|
||||||
|
import net.citizensnpcs.api.ai.TeleportStuckAction;
|
||||||
import net.citizensnpcs.api.ai.event.CancelReason;
|
import net.citizensnpcs.api.ai.event.CancelReason;
|
||||||
import net.citizensnpcs.api.ai.event.NavigationBeginEvent;
|
import net.citizensnpcs.api.ai.event.NavigationBeginEvent;
|
||||||
import net.citizensnpcs.api.ai.event.NavigationCancelEvent;
|
import net.citizensnpcs.api.ai.event.NavigationCancelEvent;
|
||||||
@ -24,7 +25,8 @@ import org.bukkit.entity.LivingEntity;
|
|||||||
public class CitizensNavigator implements Navigator {
|
public class CitizensNavigator implements Navigator {
|
||||||
private final NavigatorParameters defaultParams = new NavigatorParameters()
|
private final NavigatorParameters defaultParams = new NavigatorParameters()
|
||||||
.baseSpeed(UNINITIALISED_SPEED).range(Setting.DEFAULT_PATHFINDING_RANGE.asFloat())
|
.baseSpeed(UNINITIALISED_SPEED).range(Setting.DEFAULT_PATHFINDING_RANGE.asFloat())
|
||||||
.stationaryTicks(Setting.DEFAULT_STATIONARY_TICKS.asInt());
|
.stationaryTicks(Setting.DEFAULT_STATIONARY_TICKS.asInt())
|
||||||
|
.stuckAction(TeleportStuckAction.INSTANCE);
|
||||||
private PathStrategy executing;
|
private PathStrategy executing;
|
||||||
private int lastX, lastY, lastZ;
|
private int lastX, lastY, lastZ;
|
||||||
private NavigatorParameters localParams = defaultParams;
|
private NavigatorParameters localParams = defaultParams;
|
||||||
@ -87,6 +89,9 @@ public class CitizensNavigator implements Navigator {
|
|||||||
defaultParams.speedModifier((float) root.getDouble("speedmodifier", 1F));
|
defaultParams.speedModifier((float) root.getDouble("speedmodifier", 1F));
|
||||||
if (root.keyExists("avoidwater"))
|
if (root.keyExists("avoidwater"))
|
||||||
defaultParams.avoidWater(root.getBoolean("avoidwater"));
|
defaultParams.avoidWater(root.getBoolean("avoidwater"));
|
||||||
|
if (!root.getBoolean("usedefaultstuckaction")
|
||||||
|
&& defaultParams.stuckAction() == TeleportStuckAction.INSTANCE)
|
||||||
|
defaultParams.stuckAction(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onSpawn() {
|
public void onSpawn() {
|
||||||
@ -106,6 +111,7 @@ public class CitizensNavigator implements Navigator {
|
|||||||
root.setInt("stationaryticks", defaultParams.stationaryTicks());
|
root.setInt("stationaryticks", defaultParams.stationaryTicks());
|
||||||
root.setDouble("speedmodifier", defaultParams.speedModifier());
|
root.setDouble("speedmodifier", defaultParams.speedModifier());
|
||||||
root.setBoolean("avoidwater", defaultParams.avoidWater());
|
root.setBoolean("avoidwater", defaultParams.avoidWater());
|
||||||
|
root.setBoolean("usedefaultstuckaction", defaultParams.stuckAction() == TeleportStuckAction.INSTANCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -31,7 +31,6 @@ public class CurrentLocation extends Trait {
|
|||||||
public void run() {
|
public void run() {
|
||||||
if (!npc.isSpawned())
|
if (!npc.isSpawned())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
loc = npc.getBukkitEntity().getLocation();
|
loc = npc.getBukkitEntity().getLocation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -178,5 +178,6 @@ public class Messages {
|
|||||||
public static final String VULNERABLE_SET = "citizens.commands.npc.vulnerable.set";
|
public static final String VULNERABLE_SET = "citizens.commands.npc.vulnerable.set";
|
||||||
public static final String VULNERABLE_STOPPED = "citizens.commands.npc.vulnerable.stopped";
|
public static final String VULNERABLE_STOPPED = "citizens.commands.npc.vulnerable.stopped";
|
||||||
public static final String WAYPOINT_PROVIDER_SET = "citizens.waypoints.set-provider";
|
public static final String WAYPOINT_PROVIDER_SET = "citizens.waypoints.set-provider";
|
||||||
|
public static final String WAYPOINT_TELEPORTING_DISABLED = "citizens.commands.waypoints.disableteleporting.disabled";
|
||||||
public static final String WRITING_DEFAULT_SETTING = "citizens.settings.writing-default";
|
public static final String WRITING_DEFAULT_SETTING = "citizens.settings.writing-default";
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user