mirror of
https://github.com/BentoBoxWorld/Challenges.git
synced 2024-11-28 13:36:06 +01:00
Add extra parameters for completion commands.
The 2 new parameters are: - [owner] - the owner of island. - [name] - the name of the island. Fixes #304
This commit is contained in:
parent
57a4c08c0c
commit
e55503a9cf
@ -791,17 +791,25 @@ public class TryToComplete
|
|||||||
private void runCommands(List<String> commands)
|
private void runCommands(List<String> commands)
|
||||||
{
|
{
|
||||||
// Ignore commands with this perm
|
// Ignore commands with this perm
|
||||||
if (user.hasPermission(this.permissionPrefix + "command.challengeexempt") && !user.isOp())
|
if (this.user.hasPermission(this.permissionPrefix + "command.challengeexempt") && !this.user.isOp())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Island island = this.addon.getIslandsManager().getIsland(this.world, this.user);
|
||||||
|
final String owner = island == null ? "" : this.addon.getPlayers().getName(island.getOwner());
|
||||||
|
|
||||||
for (String cmd : commands)
|
for (String cmd : commands)
|
||||||
{
|
{
|
||||||
if (cmd.startsWith("[SELF]"))
|
if (cmd.startsWith("[SELF]"))
|
||||||
{
|
{
|
||||||
String alert = "Running command '" + cmd + "' as " + this.user.getName();
|
String alert = "Running command '" + cmd + "' as " + this.user.getName();
|
||||||
this.addon.getLogger().info(alert);
|
this.addon.getLogger().info(alert);
|
||||||
cmd = cmd.substring(6).replace(Constants.PARAMETER_PLAYER, this.user.getName()).trim();
|
cmd = cmd.substring(6).
|
||||||
|
replaceAll(Constants.PARAMETER_PLAYER, this.user.getName()).
|
||||||
|
replaceAll(Constants.PARAMETER_OWNER, owner).
|
||||||
|
replaceAll(Constants.PARAMETER_NAME, island == null || island.getName() == null ? "" : island.getName()).
|
||||||
|
trim();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!user.performCommand(cmd))
|
if (!user.performCommand(cmd))
|
||||||
@ -816,11 +824,17 @@ public class TryToComplete
|
|||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Substitute in any references to player
|
// Substitute in any references to player
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!this.addon.getServer().dispatchCommand(this.addon.getServer().getConsoleSender(),
|
cmd = cmd.replaceAll(Constants.PARAMETER_PLAYER, this.user.getName()).
|
||||||
cmd.replace(Constants.PARAMETER_PLAYER, this.user.getName())))
|
replaceAll(Constants.PARAMETER_OWNER, owner).
|
||||||
|
replaceAll(Constants.PARAMETER_NAME, island == null || island.getName() == null ? "" : island.getName()).
|
||||||
|
trim();
|
||||||
|
|
||||||
|
if (!this.addon.getServer().dispatchCommand(this.addon.getServer().getConsoleSender(), cmd))
|
||||||
{
|
{
|
||||||
this.showError(cmd);
|
this.showError(cmd);
|
||||||
}
|
}
|
||||||
|
@ -88,6 +88,10 @@ challenges:
|
|||||||
# It is not necessary to writhe `/`.
|
# It is not necessary to writhe `/`.
|
||||||
# This examples first command will force player to execute `/island` command,
|
# This examples first command will force player to execute `/island` command,
|
||||||
# While second command will run `/kill [player]` from the server console.
|
# While second command will run `/kill [player]` from the server console.
|
||||||
|
# There are 3 available parameters for commands:
|
||||||
|
# - [player] - player who completed the challenge
|
||||||
|
# - [owner] - the island owner
|
||||||
|
# - [name] - the name of the island.
|
||||||
commands:
|
commands:
|
||||||
- island
|
- island
|
||||||
- kill [player]
|
- kill [player]
|
||||||
@ -122,6 +126,10 @@ challenges:
|
|||||||
# It is not necessary to writhe `/`.
|
# It is not necessary to writhe `/`.
|
||||||
# This examples first command will force player to execute `/island` command,
|
# This examples first command will force player to execute `/island` command,
|
||||||
# While second command will run `/kill [player]` from the server console.
|
# While second command will run `/kill [player]` from the server console.
|
||||||
|
# There are 3 available parameters for commands:
|
||||||
|
# - [player] - player who completed the challenge
|
||||||
|
# - [owner] - the island owner
|
||||||
|
# - [name] - the name of the island.
|
||||||
commands:
|
commands:
|
||||||
- island
|
- island
|
||||||
- kill [player]
|
- kill [player]
|
||||||
@ -220,6 +228,10 @@ challenges:
|
|||||||
# It is not necessary to writhe `/`.
|
# It is not necessary to writhe `/`.
|
||||||
# This examples first command will force player to execute `/island` command,
|
# This examples first command will force player to execute `/island` command,
|
||||||
# While second command will run `/kill [player]` from the server console.
|
# While second command will run `/kill [player]` from the server console.
|
||||||
|
# There are 3 available parameters for commands:
|
||||||
|
# - [player] - player who completed the challenge
|
||||||
|
# - [owner] - the island owner
|
||||||
|
# - [name] - the name of the island.
|
||||||
commands:
|
commands:
|
||||||
- island
|
- island
|
||||||
- kill [player]
|
- kill [player]
|
||||||
@ -254,6 +266,10 @@ challenges:
|
|||||||
# It is not necessary to writhe `/`.
|
# It is not necessary to writhe `/`.
|
||||||
# This examples first command will force player to execute `/island` command,
|
# This examples first command will force player to execute `/island` command,
|
||||||
# While second command will run `/kill [player]` from the server console.
|
# While second command will run `/kill [player]` from the server console.
|
||||||
|
# There are 3 available parameters for commands:
|
||||||
|
# - [player] - player who completed the challenge
|
||||||
|
# - [owner] - the island owner
|
||||||
|
# - [name] - the name of the island.
|
||||||
commands:
|
commands:
|
||||||
- island
|
- island
|
||||||
- kill [player]
|
- kill [player]
|
||||||
@ -339,6 +355,10 @@ challenges:
|
|||||||
# It is not necessary to writhe `/`.
|
# It is not necessary to writhe `/`.
|
||||||
# This examples first command will force player to execute `/island` command,
|
# This examples first command will force player to execute `/island` command,
|
||||||
# While second command will run `/kill [player]` from the server console.
|
# While second command will run `/kill [player]` from the server console.
|
||||||
|
# There are 3 available parameters for commands:
|
||||||
|
# - [player] - player who completed the challenge
|
||||||
|
# - [owner] - the island owner
|
||||||
|
# - [name] - the name of the island.
|
||||||
commands:
|
commands:
|
||||||
- island
|
- island
|
||||||
- kill [player]
|
- kill [player]
|
||||||
@ -373,6 +393,10 @@ challenges:
|
|||||||
# It is not necessary to writhe `/`.
|
# It is not necessary to writhe `/`.
|
||||||
# This examples first command will force player to execute `/island` command,
|
# This examples first command will force player to execute `/island` command,
|
||||||
# While second command will run `/kill [player]` from the server console.
|
# While second command will run `/kill [player]` from the server console.
|
||||||
|
# There are 3 available parameters for commands:
|
||||||
|
# - [player] - player who completed the challenge
|
||||||
|
# - [owner] - the island owner
|
||||||
|
# - [name] - the name of the island.
|
||||||
commands:
|
commands:
|
||||||
- island
|
- island
|
||||||
- kill [player]
|
- kill [player]
|
||||||
@ -464,6 +488,10 @@ challenges:
|
|||||||
# It is not necessary to writhe `/`.
|
# It is not necessary to writhe `/`.
|
||||||
# This examples first command will force player to execute `/island` command,
|
# This examples first command will force player to execute `/island` command,
|
||||||
# While second command will run `/kill [player]` from the server console.
|
# While second command will run `/kill [player]` from the server console.
|
||||||
|
# There are 3 available parameters for commands:
|
||||||
|
# - [player] - player who completed the challenge
|
||||||
|
# - [owner] - the island owner
|
||||||
|
# - [name] - the name of the island.
|
||||||
commands:
|
commands:
|
||||||
- island
|
- island
|
||||||
- kill [player]
|
- kill [player]
|
||||||
@ -498,6 +526,10 @@ challenges:
|
|||||||
# It is not necessary to writhe `/`.
|
# It is not necessary to writhe `/`.
|
||||||
# This examples first command will force player to execute `/island` command,
|
# This examples first command will force player to execute `/island` command,
|
||||||
# While second command will run `/kill [player]` from the server console.
|
# While second command will run `/kill [player]` from the server console.
|
||||||
|
# There are 3 available parameters for commands:
|
||||||
|
# - [player] - player who completed the challenge
|
||||||
|
# - [owner] - the island owner
|
||||||
|
# - [name] - the name of the island.
|
||||||
commands:
|
commands:
|
||||||
- island
|
- island
|
||||||
- kill [player]
|
- kill [player]
|
||||||
@ -551,6 +583,10 @@ levels:
|
|||||||
# It is not necessary to writhe `/`.
|
# It is not necessary to writhe `/`.
|
||||||
# This examples first command will force player to execute `/island` command,
|
# This examples first command will force player to execute `/island` command,
|
||||||
# While second command will run `/kill [player]` from the server console.
|
# While second command will run `/kill [player]` from the server console.
|
||||||
|
# There are 3 available parameters for commands:
|
||||||
|
# - [player] - player who completed the challenge
|
||||||
|
# - [owner] - the island owner
|
||||||
|
# - [name] - the name of the island.
|
||||||
commands:
|
commands:
|
||||||
- island
|
- island
|
||||||
- kill [player]
|
- kill [player]
|
||||||
|
Loading…
Reference in New Issue
Block a user