3.9
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
group 'sh.okx'
|
||||
version '3.9-beta.2'
|
||||
version '3.9'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
|
||||
@@ -176,8 +176,11 @@ public class RankupPlugin extends JavaPlugin {
|
||||
|
||||
long time = (long) (config.getDouble("autorankup-interval") * 60 * 20);
|
||||
if (time > 0) {
|
||||
if (!autoRankup.isCancelled()) {
|
||||
autoRankup.cancel();
|
||||
try {
|
||||
if (!autoRankup.isCancelled()) {
|
||||
autoRankup.cancel();
|
||||
}
|
||||
} catch (IllegalStateException ignored) {
|
||||
}
|
||||
autoRankup.runTaskTimer(this, time, time);
|
||||
}
|
||||
|
||||
@@ -178,7 +178,13 @@ public class InfoCommand implements TabExecutor {
|
||||
"next_rank",
|
||||
};
|
||||
for (String placeholder : placeholders) {
|
||||
sender.sendMessage(placeholder + ": " + plugin.getPlaceholders().getExpansion().placeholder(sender instanceof Player ? (Player) sender : null, placeholder));
|
||||
String result;
|
||||
try {
|
||||
result = plugin.getPlaceholders().getExpansion().placeholder(sender instanceof Player ? (Player) sender : null, placeholder);
|
||||
} catch (Exception e) {
|
||||
result = e.getClass().getSimpleName() + ", " + e.getMessage();
|
||||
}
|
||||
sender.sendMessage(placeholder + ": " + result);
|
||||
}
|
||||
return true;
|
||||
} else if (args[0].equalsIgnoreCase("tree") && sender.hasPermission("rankup.admin")) {
|
||||
|
||||
@@ -120,9 +120,9 @@ public class RankupExpansion implements Expansion {
|
||||
case "money_formatted":
|
||||
return plugin.formatMoney(getMoney(player, rank).doubleValue());
|
||||
case "money_left":
|
||||
return String.valueOf(Math.max(0, orElse(rank, r -> simplify(plugin.getEconomy().getBalance(player) - r.getRequirement(player, "money").getValueDouble()), 0).doubleValue()));
|
||||
return String.valueOf(Math.max(0, orElse(rank, r -> simplify(r.getRequirement(player, "money").getValueDouble() - plugin.getEconomy().getBalance(player)), 0).doubleValue()));
|
||||
case "money_left_formatted":
|
||||
return plugin.formatMoney(Math.max(0D, orElse(rank, r -> plugin.getEconomy().getBalance(player) - r.getRequirement(player, "money").getValueDouble(), 0D)));
|
||||
return plugin.formatMoney(Math.max(0D, orElse(rank, r -> r.getRequirement(player, "money").getValueDouble() - plugin.getEconomy().getBalance(player), 0D)));
|
||||
case "percent_left":
|
||||
return String.valueOf(Math.max(0D, orElse(rank, r -> (1 - (plugin.getEconomy().getBalance(player) / r.getRequirement(player, "money").getValueDouble())) * 100, 0).doubleValue()));
|
||||
case "percent_left_formatted":
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package sh.okx.rankup;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import be.seeseemelk.mockbukkit.entity.PlayerMock;
|
||||
import org.junit.Test;
|
||||
|
||||
public class RankupCommandTest extends RankupTest {
|
||||
@Test
|
||||
public void testPlaceholders() {
|
||||
// placeholders command should never throw an exception
|
||||
PlayerMock player = server.addPlayer();
|
||||
player.addAttachment(plugin, "rankup.admin", true);
|
||||
plugin.getCommand("rankup3").execute(player, "pru", new String[] {"placeholders"});
|
||||
|
||||
player.assertSaid("--- Rankup placeholders ---");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testForce() {
|
||||
// forcing rankup should change group and not affect money
|
||||
|
||||
PlayerMock player = server.addPlayer();
|
||||
player.addAttachment(plugin, "rankup.force", true);
|
||||
plugin.getEconomy().setPlayer(player, 11);
|
||||
groupProvider.addGroup(player.getUniqueId(), "A");
|
||||
|
||||
plugin.getCommand("rankup3").execute(player, "pru", new String[] {"forcerankup", player.getName()});
|
||||
|
||||
assertTrue(groupProvider.inGroup(player.getUniqueId(), "B"));
|
||||
assertEquals(11, plugin.getEconomy().getBalance(player), 0.0001);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
package sh.okx.rankup;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import be.seeseemelk.mockbukkit.entity.PlayerMock;
|
||||
import org.junit.Test;
|
||||
import sh.okx.rankup.placeholders.RankupExpansion;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class RankupPlaceholderTest extends RankupTest {
|
||||
@Test
|
||||
public void testCurrentRank() {
|
||||
@@ -52,4 +52,24 @@ public class RankupPlaceholderTest extends RankupTest {
|
||||
RankupExpansion expansion = plugin.getPlaceholders().getExpansion();
|
||||
assertEquals("Incomplete", expansion.placeholder(player, "status_b"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMoneyLeft() {
|
||||
PlayerMock player = server.addPlayer();
|
||||
groupProvider.addGroup(player.getUniqueId(), "A");
|
||||
plugin.getEconomy().setPlayer(player, 900);
|
||||
|
||||
RankupExpansion expansion = plugin.getPlaceholders().getExpansion();
|
||||
assertEquals("100.0", expansion.placeholder(player, "money_left"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMoney() {
|
||||
PlayerMock player = server.addPlayer();
|
||||
groupProvider.addGroup(player.getUniqueId(), "A");
|
||||
plugin.getEconomy().setPlayer(player, 900);
|
||||
|
||||
RankupExpansion expansion = plugin.getPlaceholders().getExpansion();
|
||||
assertEquals("1000", expansion.placeholder(player, "money"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user