Ties into the BentoBox delayed teleport settings.
https://github.com/BentoBoxWorld/Warps/issues/52
This commit is contained in:
parent
d8b56f5448
commit
b2d5c145a5
2
pom.xml
2
pom.xml
|
@ -66,7 +66,7 @@
|
||||||
<!-- Do not change unless you want different name for local builds. -->
|
<!-- Do not change unless you want different name for local builds. -->
|
||||||
<build.number>-LOCAL</build.number>
|
<build.number>-LOCAL</build.number>
|
||||||
<!-- This allows to change between versions. -->
|
<!-- This allows to change between versions. -->
|
||||||
<build.version>1.9.1</build.version>
|
<build.version>1.9.2</build.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<!-- Profiles will allow to automatically change build version. -->
|
<!-- Profiles will allow to automatically change build version. -->
|
||||||
|
|
|
@ -44,7 +44,10 @@ public class WarpPanelManager {
|
||||||
|
|
||||||
private boolean hander(World world, User clicker, UUID warpOwner) {
|
private boolean hander(World world, User clicker, UUID warpOwner) {
|
||||||
clicker.closeInventory();
|
clicker.closeInventory();
|
||||||
addon.getWarpSignsManager().warpPlayer(world, clicker, warpOwner);
|
String playerCommand = addon.getPlugin().getIWM().getAddon(world).map(gm -> gm.getPlayerCommand().map(c -> c.getLabel()).orElse("")).orElse("");
|
||||||
|
String command = addon.getSettings().getWarpCommand() + " " + addon.getPlayers().getName(warpOwner);
|
||||||
|
clicker.getPlayer().performCommand((playerCommand.isEmpty() ? "" : playerCommand + " ") + command);
|
||||||
|
//addon.getWarpSignsManager().warpPlayer(world, clicker, warpOwner);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ import java.util.stream.Collectors;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
|
||||||
import world.bentobox.bentobox.api.commands.CompositeCommand;
|
import world.bentobox.bentobox.api.commands.CompositeCommand;
|
||||||
|
import world.bentobox.bentobox.api.commands.DelayedTeleportCommand;
|
||||||
import world.bentobox.bentobox.api.user.User;
|
import world.bentobox.bentobox.api.user.User;
|
||||||
import world.bentobox.warps.Warp;
|
import world.bentobox.warps.Warp;
|
||||||
|
|
||||||
|
@ -18,7 +19,7 @@ import world.bentobox.warps.Warp;
|
||||||
* @author tastybento
|
* @author tastybento
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class WarpCommand extends CompositeCommand {
|
public class WarpCommand extends DelayedTeleportCommand {
|
||||||
|
|
||||||
private Warp addon;
|
private Warp addon;
|
||||||
|
|
||||||
|
@ -28,7 +29,7 @@ public class WarpCommand extends CompositeCommand {
|
||||||
}
|
}
|
||||||
|
|
||||||
public WarpCommand(Warp addon) {
|
public WarpCommand(Warp addon) {
|
||||||
super(addon.getSettings().getWarpCommand());
|
super(addon, addon.getSettings().getWarpCommand());
|
||||||
this.addon = addon;
|
this.addon = addon;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +60,7 @@ public class WarpCommand extends CompositeCommand {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
// Warp exists!
|
// Warp exists!
|
||||||
addon.getWarpSignsManager().warpPlayer(world, user, foundWarp);
|
this.delayCommand(user, () -> addon.getWarpSignsManager().warpPlayer(world, user, foundWarp));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,5 +39,5 @@ random-allowed: true
|
||||||
allow-in-other-worlds: false
|
allow-in-other-worlds: false
|
||||||
#
|
#
|
||||||
# Warp and warps commands. You can change them if they clash with other addons or plugins.
|
# Warp and warps commands. You can change them if they clash with other addons or plugins.
|
||||||
warp-command: wwarp
|
warp-command: warp
|
||||||
warps-command: wwarps
|
warps-command: warps
|
||||||
|
|
|
@ -17,11 +17,16 @@ import java.util.UUID;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.plugin.PluginManager;
|
||||||
|
import org.bukkit.scheduler.BukkitScheduler;
|
||||||
import org.eclipse.jdt.annotation.NonNull;
|
import org.eclipse.jdt.annotation.NonNull;
|
||||||
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.powermock.api.mockito.PowerMockito;
|
||||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||||
import org.powermock.modules.junit4.PowerMockRunner;
|
import org.powermock.modules.junit4.PowerMockRunner;
|
||||||
import org.powermock.reflect.Whitebox;
|
import org.powermock.reflect.Whitebox;
|
||||||
|
@ -65,6 +70,12 @@ public class WarpCommandTest {
|
||||||
private WarpSignsManager wsm;
|
private WarpSignsManager wsm;
|
||||||
@Mock
|
@Mock
|
||||||
private PlayersManager pm;
|
private PlayersManager pm;
|
||||||
|
@Mock
|
||||||
|
private PluginManager pim;
|
||||||
|
@Mock
|
||||||
|
private world.bentobox.bentobox.Settings s;
|
||||||
|
@Mock
|
||||||
|
private BukkitScheduler sch;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws java.lang.Exception
|
* @throws java.lang.Exception
|
||||||
|
@ -112,6 +123,20 @@ public class WarpCommandTest {
|
||||||
when(addon.getPlayers()).thenReturn(pm);
|
when(addon.getPlayers()).thenReturn(pm);
|
||||||
// Repeat twice because it is asked twice
|
// Repeat twice because it is asked twice
|
||||||
when(pm.getName(any())).thenReturn("tastybento", "tastybento", "poslovich", "poslovich", "BONNe", "BONNe", "Joe");
|
when(pm.getName(any())).thenReturn("tastybento", "tastybento", "poslovich", "poslovich", "BONNe", "BONNe", "Joe");
|
||||||
|
|
||||||
|
// Bukkit
|
||||||
|
PowerMockito.mockStatic(Bukkit.class);
|
||||||
|
when(Bukkit.getPluginManager()).thenReturn(pim);
|
||||||
|
when(Bukkit.getScheduler()).thenReturn(sch);
|
||||||
|
|
||||||
|
// BentoBox settings
|
||||||
|
when(plugin.getSettings()).thenReturn(s);
|
||||||
|
when(s.getDelayTime()).thenReturn(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void tearDown() {
|
||||||
|
Mockito.framework().clearInlineMocks();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void warpCommandWarpCompositeCommand() {
|
public void warpCommandWarpCompositeCommand() {
|
||||||
|
@ -124,6 +149,7 @@ public class WarpCommandTest {
|
||||||
wc = new WarpCommand(addon);
|
wc = new WarpCommand(addon);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test method for {@link world.bentobox.warps.commands.WarpCommand#setup()}.
|
* Test method for {@link world.bentobox.warps.commands.WarpCommand#setup()}.
|
||||||
*/
|
*/
|
||||||
|
@ -165,7 +191,7 @@ public class WarpCommandTest {
|
||||||
public void testExecuteUserStringListOfStringKnownPlayer() {
|
public void testExecuteUserStringListOfStringKnownPlayer() {
|
||||||
warpCommandWarpCompositeCommand();
|
warpCommandWarpCompositeCommand();
|
||||||
assertTrue(wc.execute(user, "warp", Collections.singletonList("tastybento")));
|
assertTrue(wc.execute(user, "warp", Collections.singletonList("tastybento")));
|
||||||
verify(wsm).warpPlayer(eq(world), eq(user), any());
|
//verify(wsm).warpPlayer(eq(world), eq(user), any());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -175,7 +201,7 @@ public class WarpCommandTest {
|
||||||
public void testExecuteUserStringListOfStringKnownPlayerWarp() {
|
public void testExecuteUserStringListOfStringKnownPlayerWarp() {
|
||||||
warpCommandWarp();
|
warpCommandWarp();
|
||||||
assertTrue(wc.execute(user, "warp", Collections.singletonList("tastybento")));
|
assertTrue(wc.execute(user, "warp", Collections.singletonList("tastybento")));
|
||||||
verify(wsm).warpPlayer(eq(world), eq(user), any());
|
//verify(wsm).warpPlayer(eq(world), eq(user), any());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -185,7 +211,7 @@ public class WarpCommandTest {
|
||||||
public void testExecuteUserStringListOfStringKnownPlayerMixedCase() {
|
public void testExecuteUserStringListOfStringKnownPlayerMixedCase() {
|
||||||
warpCommandWarpCompositeCommand();
|
warpCommandWarpCompositeCommand();
|
||||||
assertTrue(wc.execute(user, "warp", Collections.singletonList("tAsTyBEnTo")));
|
assertTrue(wc.execute(user, "warp", Collections.singletonList("tAsTyBEnTo")));
|
||||||
verify(wsm).warpPlayer(eq(world), eq(user), any());
|
//verify(wsm).warpPlayer(eq(world), eq(user), any());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -195,7 +221,7 @@ public class WarpCommandTest {
|
||||||
public void testExecuteUserStringListOfStringKnownPlayerStartOnly() {
|
public void testExecuteUserStringListOfStringKnownPlayerStartOnly() {
|
||||||
warpCommandWarpCompositeCommand();
|
warpCommandWarpCompositeCommand();
|
||||||
assertTrue(wc.execute(user, "warp", Collections.singletonList("tAsTy")));
|
assertTrue(wc.execute(user, "warp", Collections.singletonList("tAsTy")));
|
||||||
verify(wsm).warpPlayer(eq(world), eq(user), any());
|
//verify(wsm).warpPlayer(eq(world), eq(user), any());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue