mirror of
https://github.com/Zrips/Jobs.git
synced 2024-11-25 20:16:13 +01:00
Merge pull request #1533 from Teyir/master
[IMPROVE] Add -s argument and rand for /exp command
This commit is contained in:
commit
f145eee8df
2
pom.xml
2
pom.xml
@ -197,7 +197,7 @@
|
||||
<artifactId>CMILib</artifactId>
|
||||
<version>latest</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/libs/CMILib1.1.2.3.jar</systemPath>
|
||||
<systemPath>${basedir}/libs/CMILib1.2.3.3.jar</systemPath>
|
||||
</dependency>
|
||||
<!-- WildStacker -->
|
||||
<dependency>
|
||||
|
@ -9,6 +9,8 @@ import com.gamingmesh.jobs.container.Job;
|
||||
import com.gamingmesh.jobs.container.JobProgression;
|
||||
import com.gamingmesh.jobs.container.JobsPlayer;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class exp implements Cmd {
|
||||
|
||||
private enum Action {
|
||||
@ -51,12 +53,29 @@ public class exp implements Cmd {
|
||||
}
|
||||
|
||||
double amount = 0.0;
|
||||
|
||||
/* Add random argument, ex: rand_5-10 */
|
||||
if (args[3].startsWith("rand_")) {
|
||||
String data = args[3].split("(?i)rand_")[1];
|
||||
String[] arr = data.split("-");
|
||||
|
||||
int amountMin = Integer.parseInt(arr[0]);
|
||||
int amountMax = Integer.parseInt(arr[1]);
|
||||
|
||||
if (amountMin <= amountMax) {
|
||||
amount = amountMin + new Random().nextDouble() * (amountMax - amountMin);
|
||||
} else {
|
||||
amount = amountMax;
|
||||
}
|
||||
|
||||
} else {
|
||||
try {
|
||||
amount = Double.parseDouble(args[3]);
|
||||
} catch (NumberFormatException e) {
|
||||
sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.error"));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
// check if player already has the job
|
||||
@ -80,12 +99,34 @@ public class exp implements Cmd {
|
||||
}
|
||||
|
||||
Player player = jPlayer.getPlayer();
|
||||
if (player != null)
|
||||
boolean isSilent = false;
|
||||
boolean isSilentAdmin = false;
|
||||
if (player != null) {
|
||||
for (String one : args) {
|
||||
if (one.equalsIgnoreCase("-s")) {
|
||||
isSilent = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!isSilent) {
|
||||
player.sendMessage(Jobs.getLanguage().getMessage("command.exp.output.target", "%jobname%", job.getDisplayName(), "%level%", prog.getLevelFormatted(), "%exp%", prog
|
||||
.getExperience()));
|
||||
}
|
||||
for (String one : args) {
|
||||
if (one.equalsIgnoreCase("-sa")) {
|
||||
isSilentAdmin = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!isSilentAdmin) {
|
||||
sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success"));
|
||||
} else
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(Jobs.getLanguage().getMessage("general.give.output.notonline"));
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(Jobs.getLanguage().getMessage("command.exp.error.nojob"));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.error"));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user