Search in sources :

Example 1 with SpawnTeleportEvent

use of fr.xephi.authme.events.SpawnTeleportEvent in project AuthMeReloaded by AuthMe.

the class TeleportationService method teleportToSpawn.

private void teleportToSpawn(final Player player, final boolean isAuthenticated) {
    final Location spawnLoc = spawnLoader.getSpawnLocation(player);
    performTeleportation(player, new SpawnTeleportEvent(player, spawnLoc, isAuthenticated));
}
Also used : FirstSpawnTeleportEvent(fr.xephi.authme.events.FirstSpawnTeleportEvent) SpawnTeleportEvent(fr.xephi.authme.events.SpawnTeleportEvent) Location(org.bukkit.Location)

Example 2 with SpawnTeleportEvent

use of fr.xephi.authme.events.SpawnTeleportEvent in project AuthMeReloaded by AuthMe.

the class TeleportationServiceTest method shouldNotTeleportPlayerForCanceledEvent.

@Test
public void shouldNotTeleportPlayerForCanceledEvent() {
    // given
    final Player player = mock(Player.class);
    Location spawn = mockLocation();
    given(spawnLoader.getSpawnLocation(player)).willReturn(spawn);
    given(settings.getProperty(RestrictionSettings.TELEPORT_UNAUTHED_TO_SPAWN)).willReturn(true);
    doAnswer(new Answer<Void>() {

        @Override
        public Void answer(InvocationOnMock invocation) throws Throwable {
            SpawnTeleportEvent event = (SpawnTeleportEvent) invocation.getArguments()[0];
            assertThat(event.getPlayer(), equalTo(player));
            event.setCancelled(true);
            return null;
        }
    }).when(bukkitService).callEvent(any(SpawnTeleportEvent.class));
    // when
    teleportationService.teleportOnJoin(player);
    runSyncDelayedTask(bukkitService);
    // then
    verify(bukkitService).callEvent(any(SpawnTeleportEvent.class));
    verify(player, never()).teleport(any(Location.class));
}
Also used : Player(org.bukkit.entity.Player) LimboPlayer(fr.xephi.authme.data.limbo.LimboPlayer) FirstSpawnTeleportEvent(fr.xephi.authme.events.FirstSpawnTeleportEvent) SpawnTeleportEvent(fr.xephi.authme.events.SpawnTeleportEvent) InvocationOnMock(org.mockito.invocation.InvocationOnMock) Location(org.bukkit.Location) Test(org.junit.Test)

Example 3 with SpawnTeleportEvent

use of fr.xephi.authme.events.SpawnTeleportEvent in project AuthMeReloaded by AuthMe.

the class TeleportationServiceTest method shouldNotTeleportPlayerForRemovedLocationInEvent.

@Test
public void shouldNotTeleportPlayerForRemovedLocationInEvent() {
    // given
    final Player player = mock(Player.class);
    Location spawn = mockLocation();
    given(spawnLoader.getSpawnLocation(player)).willReturn(spawn);
    given(settings.getProperty(RestrictionSettings.TELEPORT_UNAUTHED_TO_SPAWN)).willReturn(true);
    doAnswer(new Answer<Void>() {

        @Override
        public Void answer(InvocationOnMock invocation) throws Throwable {
            SpawnTeleportEvent event = (SpawnTeleportEvent) invocation.getArguments()[0];
            assertThat(event.getPlayer(), equalTo(player));
            event.setTo(null);
            return null;
        }
    }).when(bukkitService).callEvent(any(SpawnTeleportEvent.class));
    // when
    teleportationService.teleportOnJoin(player);
    runSyncDelayedTask(bukkitService);
    // then
    verify(bukkitService).callEvent(any(SpawnTeleportEvent.class));
    verify(player, never()).teleport(any(Location.class));
}
Also used : Player(org.bukkit.entity.Player) LimboPlayer(fr.xephi.authme.data.limbo.LimboPlayer) FirstSpawnTeleportEvent(fr.xephi.authme.events.FirstSpawnTeleportEvent) SpawnTeleportEvent(fr.xephi.authme.events.SpawnTeleportEvent) InvocationOnMock(org.mockito.invocation.InvocationOnMock) Location(org.bukkit.Location) Test(org.junit.Test)

Aggregations

FirstSpawnTeleportEvent (fr.xephi.authme.events.FirstSpawnTeleportEvent)3 SpawnTeleportEvent (fr.xephi.authme.events.SpawnTeleportEvent)3 Location (org.bukkit.Location)3 LimboPlayer (fr.xephi.authme.data.limbo.LimboPlayer)2 Player (org.bukkit.entity.Player)2 Test (org.junit.Test)2 InvocationOnMock (org.mockito.invocation.InvocationOnMock)2