mirror of
https://github.com/BentoBoxWorld/Warps.git
synced 2024-11-25 03:55:25 +01:00
feat: changed location to playerwarp in preparation of toggle state
This commit is contained in:
parent
0a12a26b06
commit
0a343219bc
@ -28,6 +28,7 @@ import world.bentobox.bentobox.api.events.team.TeamLeaveEvent;
|
|||||||
import world.bentobox.bentobox.api.user.User;
|
import world.bentobox.bentobox.api.user.User;
|
||||||
import world.bentobox.bentobox.database.objects.Island;
|
import world.bentobox.bentobox.database.objects.Island;
|
||||||
import world.bentobox.bentobox.util.Util;
|
import world.bentobox.bentobox.util.Util;
|
||||||
|
import world.bentobox.warps.objects.PlayerWarp;
|
||||||
import world.bentobox.warps.Warp;
|
import world.bentobox.warps.Warp;
|
||||||
import world.bentobox.warps.event.WarpRemoveEvent;
|
import world.bentobox.warps.event.WarpRemoveEvent;
|
||||||
|
|
||||||
@ -60,12 +61,12 @@ public class WarpSignsListener implements Listener {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
boolean changed = false;
|
boolean changed = false;
|
||||||
Iterator<Map.Entry<UUID, Location>> iterator =
|
Iterator<Map.Entry<UUID, PlayerWarp>> iterator =
|
||||||
addon.getWarpSignsManager().getWarpMap(event.getWorld()).entrySet().iterator();
|
addon.getWarpSignsManager().getWarpMap(event.getWorld()).entrySet().iterator();
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
Map.Entry<UUID, Location> entry = iterator.next();
|
Map.Entry<UUID, PlayerWarp> entry = iterator.next();
|
||||||
UUID uuid = entry.getKey();
|
UUID uuid = entry.getKey();
|
||||||
Location location = entry.getValue();
|
Location location = entry.getValue().getLocation();
|
||||||
if (event.getChunk().getX() == location.getBlockX() >> 4
|
if (event.getChunk().getX() == location.getBlockX() >> 4
|
||||||
&& event.getChunk().getZ() == location.getBlockZ() >> 4
|
&& event.getChunk().getZ() == location.getBlockZ() >> 4
|
||||||
&& !Tag.SIGNS.isTagged(location.getBlock().getType())) {
|
&& !Tag.SIGNS.isTagged(location.getBlock().getType())) {
|
||||||
@ -126,16 +127,16 @@ public class WarpSignsListener implements Listener {
|
|||||||
|
|
||||||
private boolean isPlayersSign(Player player, Block b, boolean inWorld) {
|
private boolean isPlayersSign(Player player, Block b, boolean inWorld) {
|
||||||
// Welcome sign detected - check to see if it is this player's sign
|
// Welcome sign detected - check to see if it is this player's sign
|
||||||
Map<UUID, Location> list = addon.getWarpSignsManager().getWarpMap(b.getWorld());
|
Map<UUID, PlayerWarp> list = addon.getWarpSignsManager().getWarpMap(b.getWorld());
|
||||||
String reqPerm = inWorld ? addon.getPermPrefix(b.getWorld()) + "mod.removesign" : Warp.WELCOME_WARP_SIGNS + ".mod.removesign";
|
String reqPerm = inWorld ? addon.getPermPrefix(b.getWorld()) + "mod.removesign" : Warp.WELCOME_WARP_SIGNS + ".mod.removesign";
|
||||||
return ((list.containsKey(player.getUniqueId()) && list.get(player.getUniqueId()).equals(b.getLocation()))
|
return ((list.containsKey(player.getUniqueId()) && list.get(player.getUniqueId()).getLocation().equals(b.getLocation()))
|
||||||
|| player.isOp() || player.hasPermission(reqPerm));
|
|| player.isOp() || player.hasPermission(reqPerm));
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isWarpSign(Block b) {
|
private boolean isWarpSign(Block b) {
|
||||||
Sign s = (Sign) b.getState();
|
Sign s = (Sign) b.getState();
|
||||||
return s.getLine(0).equalsIgnoreCase(ChatColor.GREEN + addon.getSettings().getWelcomeLine())
|
return s.getLine(0).equalsIgnoreCase(ChatColor.GREEN + addon.getSettings().getWelcomeLine())
|
||||||
&& addon.getWarpSignsManager().getWarpMap(b.getWorld()).containsValue(s.getLocation());
|
&& addon.getWarpSignsManager().getWarpMap(b.getWorld()).values().stream().anyMatch(playerWarp -> playerWarp.getLocation().equals(s.getLocation()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -216,15 +217,15 @@ public class WarpSignsListener implements Listener {
|
|||||||
|
|
||||||
final Island island = e.getIsland();
|
final Island island = e.getIsland();
|
||||||
|
|
||||||
final Map<UUID, Location> islandWarps = addon
|
final Map<UUID, PlayerWarp> islandWarps = addon
|
||||||
.getWarpSignsManager()
|
.getWarpSignsManager()
|
||||||
.getWarpMap(island.getWorld())
|
.getWarpMap(island.getWorld())
|
||||||
.entrySet()
|
.entrySet()
|
||||||
.stream()
|
.stream()
|
||||||
.filter(x -> island.inIslandSpace(x.getValue()))
|
.filter(x -> island.inIslandSpace(x.getValue().getLocation()))
|
||||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||||
|
|
||||||
for(Map.Entry<UUID, Location> entry : islandWarps.entrySet()) {
|
for(Map.Entry<UUID, PlayerWarp> entry : islandWarps.entrySet()) {
|
||||||
if(island.getRank(entry.getKey()) >= e.getSetTo()) continue;
|
if(island.getRank(entry.getKey()) >= e.getSetTo()) continue;
|
||||||
|
|
||||||
//The user has a lower rank than the new set value.
|
//The user has a lower rank than the new set value.
|
||||||
|
@ -37,6 +37,7 @@ import world.bentobox.bentobox.database.Database;
|
|||||||
import world.bentobox.bentobox.database.objects.Island;
|
import world.bentobox.bentobox.database.objects.Island;
|
||||||
import world.bentobox.bentobox.lists.Flags;
|
import world.bentobox.bentobox.lists.Flags;
|
||||||
import world.bentobox.bentobox.util.Util;
|
import world.bentobox.bentobox.util.Util;
|
||||||
|
import world.bentobox.warps.objects.PlayerWarp;
|
||||||
import world.bentobox.warps.Warp;
|
import world.bentobox.warps.Warp;
|
||||||
import world.bentobox.warps.event.WarpCreateEvent;
|
import world.bentobox.warps.event.WarpCreateEvent;
|
||||||
import world.bentobox.warps.event.WarpInitiateEvent;
|
import world.bentobox.warps.event.WarpInitiateEvent;
|
||||||
@ -55,7 +56,7 @@ public class WarpSignsManager {
|
|||||||
private static final String WARPS = "warps";
|
private static final String WARPS = "warps";
|
||||||
private final BentoBox plugin;
|
private final BentoBox plugin;
|
||||||
// Map of all warps stored as player, warp sign Location
|
// Map of all warps stored as player, warp sign Location
|
||||||
private Map<World, Map<UUID, Location>> worldsWarpList;
|
private Map<World, Map<UUID, PlayerWarp>> worldsWarpList;
|
||||||
// Database handler for level data
|
// Database handler for level data
|
||||||
private final Database<WarpsData> handler;
|
private final Database<WarpsData> handler;
|
||||||
|
|
||||||
@ -68,7 +69,7 @@ public class WarpSignsManager {
|
|||||||
* @return map of warps
|
* @return map of warps
|
||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
public Map<UUID, Location> getWarpMap(@Nullable World world) {
|
public Map<UUID, PlayerWarp> getWarpMap(@Nullable World world) {
|
||||||
return worldsWarpList.computeIfAbsent(Util.getWorld(world), k -> new HashMap<>());
|
return worldsWarpList.computeIfAbsent(Util.getWorld(world), k -> new HashMap<>());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,11 +101,13 @@ public class WarpSignsManager {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// Check for warps placed in a location where there was a warp before
|
// Check for warps placed in a location where there was a warp before
|
||||||
if (getWarpMap(loc.getWorld()).containsValue(loc)) {
|
for (PlayerWarp playerWarp : getWarpMap(loc.getWorld()).values()) {
|
||||||
// remove the warp at this location, then place it
|
if (playerWarp.getLocation().equals(loc)) {
|
||||||
this.removeWarp(loc);
|
this.removeWarp(loc);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
getWarpMap(loc.getWorld()).put(playerUUID, loc);
|
getWarpMap(loc.getWorld()).put(playerUUID, new PlayerWarp(loc, true));
|
||||||
saveWarpList();
|
saveWarpList();
|
||||||
Bukkit.getPluginManager().callEvent(new WarpCreateEvent(addon, loc, playerUUID));
|
Bukkit.getPluginManager().callEvent(new WarpCreateEvent(addon, loc, playerUUID));
|
||||||
return true;
|
return true;
|
||||||
@ -120,7 +123,8 @@ public class WarpSignsManager {
|
|||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
public Location getWarp(World world, UUID playerUUID) {
|
public Location getWarp(World world, UUID playerUUID) {
|
||||||
return getWarpMap(world).get(playerUUID);
|
PlayerWarp playerWarp = getWarpMap(world).get(playerUUID);
|
||||||
|
return playerWarp != null ? playerWarp.getLocation() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -130,7 +134,7 @@ public class WarpSignsManager {
|
|||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
public String getWarpOwner(Location location) {
|
public String getWarpOwner(Location location) {
|
||||||
return getWarpMap(location.getWorld()).entrySet().stream().filter(en -> en.getValue().equals(location))
|
return getWarpMap(location.getWorld()).entrySet().stream().filter(en -> en.getValue().getLocation().equals(location))
|
||||||
.findFirst().map(en -> plugin.getPlayers().getName(en.getKey())).orElse("");
|
.findFirst().map(en -> plugin.getPlayers().getName(en.getKey())).orElse("");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,7 +144,7 @@ public class WarpSignsManager {
|
|||||||
* @return Optional UUID of warp owner or empty if there is none
|
* @return Optional UUID of warp owner or empty if there is none
|
||||||
*/
|
*/
|
||||||
public Optional<UUID> getWarpOwnerUUID(Location location) {
|
public Optional<UUID> getWarpOwnerUUID(Location location) {
|
||||||
return getWarpMap(location.getWorld()).entrySet().stream().filter(en -> en.getValue().equals(location))
|
return getWarpMap(location.getWorld()).entrySet().stream().filter(en -> en.getValue().getLocation().equals(location))
|
||||||
.findFirst().map(Map.Entry::getKey);
|
.findFirst().map(Map.Entry::getKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,7 +192,7 @@ public class WarpSignsManager {
|
|||||||
public Set<UUID> listWarps(@NonNull World world) {
|
public Set<UUID> listWarps(@NonNull World world) {
|
||||||
// Remove any null locations
|
// Remove any null locations
|
||||||
getWarpMap(world).values().removeIf(Objects::isNull);
|
getWarpMap(world).values().removeIf(Objects::isNull);
|
||||||
return getWarpMap(world).entrySet().stream().filter(e -> Util.sameWorld(world, Objects.requireNonNull(e.getValue().getWorld()))).map(Map.Entry::getKey).collect(Collectors.toSet());
|
return getWarpMap(world).entrySet().stream().filter(e -> Util.sameWorld(world, Objects.requireNonNull(e.getValue().getLocation().getWorld()))).map(Map.Entry::getKey).collect(Collectors.toSet());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -201,7 +205,8 @@ public class WarpSignsManager {
|
|||||||
warpsData = handler.loadObject(WARPS);
|
warpsData = handler.loadObject(WARPS);
|
||||||
// Load into map
|
// Load into map
|
||||||
if (warpsData != null) {
|
if (warpsData != null) {
|
||||||
warpsData.getWarpSigns().forEach((location,uuid) -> {
|
warpsData.getWarpSigns().forEach((pw, uuid) -> {
|
||||||
|
Location location = pw.getLocation();
|
||||||
if (location != null && location.getWorld() != null) {
|
if (location != null && location.getWorld() != null) {
|
||||||
if (location.getWorld().isChunkLoaded(location.getBlockX() >> 4, location.getBlockZ() >> 4)
|
if (location.getWorld().isChunkLoaded(location.getBlockX() >> 4, location.getBlockZ() >> 4)
|
||||||
&& !location.getBlock().getType().name().contains("SIGN")) {
|
&& !location.getBlock().getType().name().contains("SIGN")) {
|
||||||
@ -209,7 +214,7 @@ public class WarpSignsManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add to map
|
// Add to map
|
||||||
getWarpMap(location.getWorld()).put(uuid, location);
|
getWarpMap(location.getWorld()).put(uuid, new PlayerWarp(location, true));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
@ -240,10 +245,10 @@ public class WarpSignsManager {
|
|||||||
*/
|
*/
|
||||||
public void removeWarp(Location loc) {
|
public void removeWarp(Location loc) {
|
||||||
popSign(loc);
|
popSign(loc);
|
||||||
Iterator<Entry<UUID, Location>> it = getWarpMap(loc.getWorld()).entrySet().iterator();
|
Iterator<Entry<UUID, PlayerWarp>> it = getWarpMap(loc.getWorld()).entrySet().iterator();
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
Entry<UUID, Location> en = it.next();
|
Entry<UUID, PlayerWarp> en = it.next();
|
||||||
if (en.getValue().equals(loc)) {
|
if (en.getValue().getLocation().equals(loc)) {
|
||||||
// Inform player
|
// Inform player
|
||||||
Optional.ofNullable(addon.getServer().getPlayer(en.getKey()))
|
Optional.ofNullable(addon.getServer().getPlayer(en.getKey()))
|
||||||
.map(User::getInstance)
|
.map(User::getInstance)
|
||||||
@ -263,7 +268,7 @@ public class WarpSignsManager {
|
|||||||
*/
|
*/
|
||||||
public void removeWarp(World world, UUID uuid) {
|
public void removeWarp(World world, UUID uuid) {
|
||||||
if (getWarpMap(world).containsKey(uuid)) {
|
if (getWarpMap(world).containsKey(uuid)) {
|
||||||
popSign(getWarpMap(world).get(uuid));
|
popSign(getWarpMap(world).get(uuid).getLocation());
|
||||||
getWarpMap(world).remove(uuid);
|
getWarpMap(world).remove(uuid);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
32
src/main/java/world/bentobox/warps/objects/PlayerWarp.java
Normal file
32
src/main/java/world/bentobox/warps/objects/PlayerWarp.java
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
package world.bentobox.warps.objects;
|
||||||
|
|
||||||
|
import com.google.gson.annotations.Expose;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class PlayerWarp implements Serializable {
|
||||||
|
|
||||||
|
@Expose
|
||||||
|
private final Location location;
|
||||||
|
|
||||||
|
@Expose
|
||||||
|
private boolean isEnabled;
|
||||||
|
|
||||||
|
public PlayerWarp(Location location, boolean isEnabled) {
|
||||||
|
this.location = location;
|
||||||
|
this.isEnabled = isEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Location getLocation() {
|
||||||
|
return location;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEnabled() {
|
||||||
|
return isEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void toggle() {
|
||||||
|
isEnabled = !isEnabled;
|
||||||
|
}
|
||||||
|
}
|
@ -4,7 +4,6 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.bukkit.Location;
|
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
|
||||||
import com.google.gson.annotations.Expose;
|
import com.google.gson.annotations.Expose;
|
||||||
@ -18,7 +17,7 @@ public class WarpsData implements DataObject {
|
|||||||
@Expose
|
@Expose
|
||||||
private String uniqueId = "warps";
|
private String uniqueId = "warps";
|
||||||
@Expose
|
@Expose
|
||||||
private Map<Location, UUID> warpSigns = new HashMap<>();
|
private Map<PlayerWarp, UUID> warpSigns = new HashMap<>();
|
||||||
|
|
||||||
public WarpsData() {
|
public WarpsData() {
|
||||||
// Required by YAML database
|
// Required by YAML database
|
||||||
@ -34,24 +33,24 @@ public class WarpsData implements DataObject {
|
|||||||
this.uniqueId = uniqueId;
|
this.uniqueId = uniqueId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<Location, UUID> getWarpSigns() {
|
public Map<PlayerWarp, UUID> getWarpSigns() {
|
||||||
if (warpSigns == null)
|
if (warpSigns == null)
|
||||||
return new HashMap<>();
|
return new HashMap<>();
|
||||||
return warpSigns;
|
return warpSigns;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setWarpSigns(Map<Location, UUID> warpSigns) {
|
public void setWarpSigns(Map<PlayerWarp, UUID> warpSigns) {
|
||||||
this.warpSigns = warpSigns;
|
this.warpSigns = warpSigns;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Puts all the data from the map into this objects ready for saving
|
* Puts all the data from the map into these objects ready for saving
|
||||||
* @param worldsWarpList 2D map of warp locations by world vs UUID
|
* @param worldsWarpList 2D map of warp locations by world vs UUID
|
||||||
* @return this class filled with data
|
* @return this class filled with data
|
||||||
*/
|
*/
|
||||||
public WarpsData save(Map<World, Map<UUID, Location>> worldsWarpList) {
|
public WarpsData save(Map<World, Map<UUID, PlayerWarp>> worldsWarpList) {
|
||||||
getWarpSigns().clear();
|
getWarpSigns().clear();
|
||||||
worldsWarpList.values().forEach(world -> world.forEach((uuid,location) -> warpSigns.put(location, uuid)));
|
worldsWarpList.values().forEach(world -> world.forEach((uuid,playerWarp) -> warpSigns.put(playerWarp, uuid)));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ public class Utils
|
|||||||
List<String> permissions = user.getEffectivePermissions().stream().
|
List<String> permissions = user.getEffectivePermissions().stream().
|
||||||
map(PermissionAttachmentInfo::getPermission).
|
map(PermissionAttachmentInfo::getPermission).
|
||||||
filter(permission -> permission.startsWith(permPrefix)).
|
filter(permission -> permission.startsWith(permPrefix)).
|
||||||
collect(Collectors.toList());
|
toList();
|
||||||
|
|
||||||
for (String permission : permissions)
|
for (String permission : permissions)
|
||||||
{
|
{
|
||||||
|
@ -67,6 +67,7 @@ import world.bentobox.warps.event.WarpCreateEvent;
|
|||||||
import world.bentobox.warps.event.WarpInitiateEvent;
|
import world.bentobox.warps.event.WarpInitiateEvent;
|
||||||
import world.bentobox.warps.managers.SignCacheManager;
|
import world.bentobox.warps.managers.SignCacheManager;
|
||||||
import world.bentobox.warps.managers.WarpSignsManager;
|
import world.bentobox.warps.managers.WarpSignsManager;
|
||||||
|
import world.bentobox.warps.objects.PlayerWarp;
|
||||||
import world.bentobox.warps.objects.WarpsData;
|
import world.bentobox.warps.objects.WarpsData;
|
||||||
|
|
||||||
|
|
||||||
@ -195,7 +196,7 @@ public class WarpSignsManagerTest {
|
|||||||
|
|
||||||
// Handler
|
// Handler
|
||||||
when(handler.objectExists("warps")).thenReturn(true);
|
when(handler.objectExists("warps")).thenReturn(true);
|
||||||
Map<Location, UUID> warpMap = Collections.singletonMap(location, uuid);
|
Map<PlayerWarp, UUID> warpMap = Collections.singletonMap(new PlayerWarp(location, true), uuid);
|
||||||
when(load.getWarpSigns()).thenReturn(warpMap);
|
when(load.getWarpSigns()).thenReturn(warpMap);
|
||||||
when(handler.loadObject(anyString())).thenReturn(load);
|
when(handler.loadObject(anyString())).thenReturn(load);
|
||||||
|
|
||||||
@ -275,7 +276,8 @@ public class WarpSignsManagerTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetWarpMapNullLocation() {
|
public void testGetWarpMapNullLocation() {
|
||||||
Map<Location, UUID> warpMap = Collections.singletonMap(null, uuid);
|
PlayerWarp playerWarp = new PlayerWarp(null, true);
|
||||||
|
Map<PlayerWarp, UUID> warpMap = Collections.singletonMap(playerWarp, uuid);
|
||||||
when(load.getWarpSigns()).thenReturn(warpMap);
|
when(load.getWarpSigns()).thenReturn(warpMap);
|
||||||
wsm = new WarpSignsManager(addon, plugin);
|
wsm = new WarpSignsManager(addon, plugin);
|
||||||
assertTrue("Map is not empty", wsm.getWarpMap(world).isEmpty());
|
assertTrue("Map is not empty", wsm.getWarpMap(world).isEmpty());
|
||||||
|
@ -50,6 +50,7 @@ import world.bentobox.bentobox.managers.IslandsManager;
|
|||||||
import world.bentobox.bentobox.managers.LocalesManager;
|
import world.bentobox.bentobox.managers.LocalesManager;
|
||||||
import world.bentobox.bentobox.managers.PlaceholdersManager;
|
import world.bentobox.bentobox.managers.PlaceholdersManager;
|
||||||
import world.bentobox.bentobox.util.Util;
|
import world.bentobox.bentobox.util.Util;
|
||||||
|
import world.bentobox.warps.objects.PlayerWarp;
|
||||||
import world.bentobox.warps.Warp;
|
import world.bentobox.warps.Warp;
|
||||||
import world.bentobox.warps.managers.WarpSignsManager;
|
import world.bentobox.warps.managers.WarpSignsManager;
|
||||||
import world.bentobox.warps.config.Settings;
|
import world.bentobox.warps.config.Settings;
|
||||||
@ -123,12 +124,12 @@ public class WarpSignsListenerTest {
|
|||||||
when(block.getState()).thenReturn(s);
|
when(block.getState()).thenReturn(s);
|
||||||
// warp signs manager
|
// warp signs manager
|
||||||
when(addon.getWarpSignsManager()).thenReturn(wsm);
|
when(addon.getWarpSignsManager()).thenReturn(wsm);
|
||||||
Map<UUID, Location> list = new HashMap<>();
|
Map<UUID, PlayerWarp> list = new HashMap<>();
|
||||||
Location location = mock(Location.class);
|
Location location = mock(Location.class);
|
||||||
when(location.getBlock()).thenReturn(block);
|
when(location.getBlock()).thenReturn(block);
|
||||||
when(s.getLocation()).thenReturn(location);
|
when(s.getLocation()).thenReturn(location);
|
||||||
when(block.getLocation()).thenReturn(location);
|
when(block.getLocation()).thenReturn(location);
|
||||||
list.put(uuid, location);
|
list.put(uuid, new PlayerWarp(location, true));
|
||||||
// Player is in world
|
// Player is in world
|
||||||
when(wsm.getWarpMap(world)).thenReturn(list);
|
when(wsm.getWarpMap(world)).thenReturn(list);
|
||||||
//Player has a warp sign already here
|
//Player has a warp sign already here
|
||||||
@ -339,8 +340,8 @@ public class WarpSignsListenerTest {
|
|||||||
when(settings.getRemoveExistingWarpsWhenFlagChanges()).thenReturn(true);
|
when(settings.getRemoveExistingWarpsWhenFlagChanges()).thenReturn(true);
|
||||||
WarpSignsListener wsl = new WarpSignsListener(addon);
|
WarpSignsListener wsl = new WarpSignsListener(addon);
|
||||||
|
|
||||||
Map<UUID, Location> warps = Map.of(
|
Map<UUID, PlayerWarp> warps = Map.of(
|
||||||
player.getUniqueId(), block.getLocation()
|
player.getUniqueId(), new PlayerWarp(block.getLocation(), true)
|
||||||
);
|
);
|
||||||
|
|
||||||
when(wsm.getWarpMap(any())).thenReturn(warps);
|
when(wsm.getWarpMap(any())).thenReturn(warps);
|
||||||
|
Loading…
Reference in New Issue
Block a user