Fix wrapping of flag values

This commit is contained in:
Eric 2019-05-08 21:24:46 +02:00
parent bae55e04b8
commit f3cbae7039
4 changed files with 4 additions and 4 deletions

View File

@ -106,7 +106,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation {
@Override @Override
public <T> Optional<T> queryFlag(Player player, Location location, IWrappedFlag<T> flag) { public <T> Optional<T> queryFlag(Player player, Location location, IWrappedFlag<T> flag) {
AbstractWrappedFlag<T> wrappedFlag = (AbstractWrappedFlag<T>) flag; AbstractWrappedFlag<T> wrappedFlag = (AbstractWrappedFlag<T>) flag;
return wrappedFlag.fromWGValue(queryValue(player, location, wrappedFlag.getHandle())); return queryValue(player, location, wrappedFlag.getHandle()).flatMap(value -> wrappedFlag.fromWGValue(value));
} }
@Override @Override

View File

@ -103,7 +103,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation {
@Override @Override
public <T> Optional<T> queryFlag(Player player, Location location, IWrappedFlag<T> flag) { public <T> Optional<T> queryFlag(Player player, Location location, IWrappedFlag<T> flag) {
AbstractWrappedFlag<T> wrappedFlag = (AbstractWrappedFlag<T>) flag; AbstractWrappedFlag<T> wrappedFlag = (AbstractWrappedFlag<T>) flag;
return wrappedFlag.fromWGValue(queryValue(player, location, wrappedFlag.getHandle())); return queryValue(player, location, wrappedFlag.getHandle()).flatMap(value -> wrappedFlag.fromWGValue(value));
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

View File

@ -107,7 +107,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation {
@Override @Override
public <T> Optional<T> queryFlag(Player player, Location location, IWrappedFlag<T> flag) { public <T> Optional<T> queryFlag(Player player, Location location, IWrappedFlag<T> flag) {
AbstractWrappedFlag<T> wrappedFlag = (AbstractWrappedFlag<T>) flag; AbstractWrappedFlag<T> wrappedFlag = (AbstractWrappedFlag<T>) flag;
return wrappedFlag.fromWGValue(queryValue(player, location, wrappedFlag.getHandle())); return queryValue(player, location, wrappedFlag.getHandle()).flatMap(value -> wrappedFlag.fromWGValue(value));
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

View File

@ -112,7 +112,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation {
@Override @Override
public <T> Optional<T> queryFlag(Player player, Location location, IWrappedFlag<T> flag) { public <T> Optional<T> queryFlag(Player player, Location location, IWrappedFlag<T> flag) {
AbstractWrappedFlag<T> wrappedFlag = (AbstractWrappedFlag<T>) flag; AbstractWrappedFlag<T> wrappedFlag = (AbstractWrappedFlag<T>) flag;
return wrappedFlag.fromWGValue(queryValue(player, location, wrappedFlag.getHandle())); return queryValue(player, location, wrappedFlag.getHandle()).flatMap(value -> wrappedFlag.fromWGValue(value));
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")