mirror of
https://github.com/CodeMC/WorldGuardWrapper.git
synced 2025-04-28 15:12:37 +02:00
Added multiple things to the regiongroup system
This commit is contained in:
parent
328f12c425
commit
1e29c9dc93
|
@ -1,5 +1,5 @@
|
|||
package org.codemc.worldguardwrapper.flag;
|
||||
|
||||
public interface IWrappedStatusFlag extends IWrappedFlag<WrappedState> {
|
||||
|
||||
IWrappedFlag<IWrappedRegionGroupFlag> getRegionGroupFlag();
|
||||
}
|
||||
|
|
|
@ -2,9 +2,9 @@ package org.codemc.worldguardwrapper.implementation.legacy.flag;
|
|||
|
||||
import com.sk89q.worldguard.protection.flags.Flag;
|
||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedRegionGroupFlag;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedStatusFlag;
|
||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
||||
import org.codemc.worldguardwrapper.flag.*;
|
||||
import org.codemc.worldguardwrapper.implementation.legacy.WorldGuardImplementation;
|
||||
import org.codemc.worldguardwrapper.implementation.legacy.utility.WorldGuardFlagUtilities;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
|
@ -25,4 +25,9 @@ public class WrappedStatusFlag extends AbstractWrappedFlag<WrappedState> impleme
|
|||
return Optional.ofNullable(value)
|
||||
.map(state -> state == WrappedState.ALLOW ? StateFlag.State.ALLOW : StateFlag.State.DENY);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IWrappedFlag<IWrappedRegionGroupFlag> getRegionGroupFlag() {
|
||||
return WorldGuardFlagUtilities.wrap(getHandle().getRegionGroupFlag(), IWrappedRegionGroupFlag.class);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package org.codemc.worldguardwrapper.implementation.legacy.utility;
|
|||
import com.google.common.collect.Maps;
|
||||
import com.sk89q.worldedit.bukkit.BukkitWorld;
|
||||
import com.sk89q.worldguard.protection.flags.Flag;
|
||||
import com.sk89q.worldguard.protection.flags.RegionGroup;
|
||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
|
@ -10,9 +11,11 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.util.Vector;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
||||
import org.codemc.worldguardwrapper.flag.WrappedRegionGroup;
|
||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
||||
import org.codemc.worldguardwrapper.implementation.legacy.flag.AbstractWrappedFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.legacy.flag.WrappedPrimitiveFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.legacy.flag.WrappedRegionGroupFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.legacy.flag.WrappedStatusFlag;
|
||||
|
||||
import lombok.experimental.UtilityClass;
|
||||
|
@ -28,6 +31,8 @@ public class WorldGuardFlagUtilities {
|
|||
final IWrappedFlag<T> wrappedFlag;
|
||||
if (type.equals(WrappedState.class)) {
|
||||
wrappedFlag = (IWrappedFlag<T>) new WrappedStatusFlag((Flag<StateFlag.State>) flag);
|
||||
} else if (type.equals(WrappedRegionGroup.class)) {
|
||||
wrappedFlag = (IWrappedFlag<T>) new WrappedRegionGroupFlag((Flag<RegionGroup>) flag);
|
||||
} else if (type.equals(Boolean.class) || type.equals(boolean.class)) {
|
||||
wrappedFlag = new WrappedPrimitiveFlag(flag);
|
||||
} else if (type.equals(Double.class) || type.equals(double.class)) {
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
package org.codemc.worldguardwrapper.implementation.v6.flag;
|
||||
|
||||
import com.sk89q.worldguard.protection.flags.Flag;
|
||||
import com.sk89q.worldguard.protection.flags.RegionGroup;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedRegionGroupFlag;
|
||||
import org.codemc.worldguardwrapper.flag.WrappedRegionGroup;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class WrappedRegionGroupFlag extends AbstractWrappedFlag<WrappedRegionGroup> implements IWrappedRegionGroupFlag {
|
||||
|
||||
public WrappedRegionGroupFlag(Flag<RegionGroup> handle) {
|
||||
super(handle);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<WrappedRegionGroup> fromWGValue(Object value) {
|
||||
return Optional.of(Enum.valueOf(WrappedRegionGroup.class, value.toString()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Object> fromWrapperValue(WrappedRegionGroup value) {
|
||||
return Optional.of(Enum.valueOf(RegionGroup.class, value.toString()));
|
||||
}
|
||||
}
|
|
@ -2,8 +2,11 @@ package org.codemc.worldguardwrapper.implementation.v6.flag;
|
|||
|
||||
import com.sk89q.worldguard.protection.flags.Flag;
|
||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedRegionGroupFlag;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedStatusFlag;
|
||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
||||
import org.codemc.worldguardwrapper.implementation.v6.utility.WorldGuardFlagUtilities;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
|
@ -25,4 +28,8 @@ public class WrappedStatusFlag extends AbstractWrappedFlag<WrappedState> impleme
|
|||
.map(state -> state == WrappedState.ALLOW ? StateFlag.State.ALLOW : StateFlag.State.DENY);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IWrappedFlag<IWrappedRegionGroupFlag> getRegionGroupFlag() {
|
||||
return WorldGuardFlagUtilities.wrap(getHandle().getRegionGroupFlag(), IWrappedRegionGroupFlag.class);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,15 +3,18 @@ package org.codemc.worldguardwrapper.implementation.v6.utility;
|
|||
import com.google.common.collect.Maps;
|
||||
import com.sk89q.worldedit.bukkit.BukkitWorld;
|
||||
import com.sk89q.worldguard.protection.flags.Flag;
|
||||
import com.sk89q.worldguard.protection.flags.RegionGroup;
|
||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.util.Vector;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
||||
import org.codemc.worldguardwrapper.flag.WrappedRegionGroup;
|
||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
||||
import org.codemc.worldguardwrapper.implementation.v6.flag.AbstractWrappedFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.v6.flag.WrappedPrimitiveFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.v6.flag.WrappedRegionGroupFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.v6.flag.WrappedStatusFlag;
|
||||
|
||||
import lombok.experimental.UtilityClass;
|
||||
|
@ -27,6 +30,8 @@ public class WorldGuardFlagUtilities {
|
|||
final IWrappedFlag<T> wrappedFlag;
|
||||
if (type.equals(WrappedState.class)) {
|
||||
wrappedFlag = (IWrappedFlag<T>) new WrappedStatusFlag((Flag<StateFlag.State>) flag);
|
||||
} else if (type.equals(WrappedRegionGroup.class)) {
|
||||
wrappedFlag = (IWrappedFlag<T>) new WrappedRegionGroupFlag((Flag<RegionGroup>) flag);
|
||||
} else if (type.equals(Boolean.class) || type.equals(boolean.class)) {
|
||||
wrappedFlag = new WrappedPrimitiveFlag(flag);
|
||||
} else if (type.equals(Double.class) || type.equals(double.class)) {
|
||||
|
|
|
@ -99,7 +99,7 @@ public class WorldGuardImplementation implements IWorldGuardImplementation {
|
|||
@Override
|
||||
public <T> Optional<T> queryFlag(Player player, Location location, IWrappedFlag<T> flag) {
|
||||
AbstractWrappedFlag<T> wrappedFlag = (AbstractWrappedFlag<T>) flag;
|
||||
return queryValue(player, location, wrappedFlag.getHandle()).flatMap(value -> wrappedFlag.fromWGValue(value));
|
||||
return queryValue(player, location, wrappedFlag.getHandle()).flatMap(wrappedFlag::fromWGValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -124,8 +124,8 @@ public class WorldGuardImplementation implements IWorldGuardImplementation {
|
|||
try {
|
||||
Map.Entry<IWrappedFlag<?>, Object> wrapped = WorldGuardFlagUtilities.wrap(flag, value);
|
||||
flags.put(wrapped.getKey(), wrapped.getValue());
|
||||
} catch (IllegalArgumentException e) {
|
||||
continue; // Unsupported flag type
|
||||
} catch (IllegalArgumentException ignored) {
|
||||
// Unsupported flag type
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
package org.codemc.worldguardwrapper.implementation.v7.flag;
|
||||
|
||||
import com.sk89q.worldguard.protection.flags.Flag;
|
||||
import com.sk89q.worldguard.protection.flags.RegionGroup;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedRegionGroupFlag;
|
||||
import org.codemc.worldguardwrapper.flag.WrappedRegionGroup;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class WrappedRegionGroupFlag extends AbstractWrappedFlag<WrappedRegionGroup> implements IWrappedRegionGroupFlag {
|
||||
|
||||
public WrappedRegionGroupFlag(Flag<RegionGroup> handle) {
|
||||
super(handle);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<WrappedRegionGroup> fromWGValue(Object value) {
|
||||
return Optional.of(Enum.valueOf(WrappedRegionGroup.class, value.toString()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Object> fromWrapperValue(WrappedRegionGroup value) {
|
||||
return Optional.of(Enum.valueOf(RegionGroup.class, value.toString()));
|
||||
}
|
||||
}
|
|
@ -2,8 +2,11 @@ package org.codemc.worldguardwrapper.implementation.v7.flag;
|
|||
|
||||
import com.sk89q.worldguard.protection.flags.Flag;
|
||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedRegionGroupFlag;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedStatusFlag;
|
||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
||||
import org.codemc.worldguardwrapper.implementation.v7.utility.WorldGuardFlagUtilities;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
|
@ -25,4 +28,8 @@ public class WrappedStatusFlag extends AbstractWrappedFlag<WrappedState> impleme
|
|||
.map(state -> state == WrappedState.ALLOW ? StateFlag.State.ALLOW : StateFlag.State.DENY);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IWrappedFlag<IWrappedRegionGroupFlag> getRegionGroupFlag() {
|
||||
return WorldGuardFlagUtilities.wrap(getHandle().getRegionGroupFlag(), IWrappedRegionGroupFlag.class);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.v7.flag.AbstractWrappedFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.v7.flag.WrappedStatusFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.v7.utility.WorldGuardFlagUtilities;
|
||||
import org.codemc.worldguardwrapper.region.IWrappedDomain;
|
||||
import org.codemc.worldguardwrapper.region.IWrappedRegion;
|
||||
|
|
|
@ -3,14 +3,18 @@ package org.codemc.worldguardwrapper.implementation.v7.utility;
|
|||
import com.google.common.collect.Maps;
|
||||
import com.sk89q.worldedit.math.Vector3;
|
||||
import com.sk89q.worldguard.protection.flags.Flag;
|
||||
import com.sk89q.worldguard.protection.flags.RegionGroup;
|
||||
import com.sk89q.worldguard.protection.flags.RegionGroupFlag;
|
||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.util.Vector;
|
||||
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
||||
import org.codemc.worldguardwrapper.flag.WrappedRegionGroup;
|
||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
||||
import org.codemc.worldguardwrapper.implementation.v7.flag.AbstractWrappedFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.v7.flag.WrappedPrimitiveFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.v7.flag.WrappedRegionGroupFlag;
|
||||
import org.codemc.worldguardwrapper.implementation.v7.flag.WrappedStatusFlag;
|
||||
|
||||
import lombok.experimental.UtilityClass;
|
||||
|
@ -27,6 +31,8 @@ public class WorldGuardFlagUtilities {
|
|||
final IWrappedFlag<T> wrappedFlag;
|
||||
if (type.equals(WrappedState.class)) {
|
||||
wrappedFlag = (IWrappedFlag<T>) new WrappedStatusFlag((Flag<StateFlag.State>) flag);
|
||||
} else if (type.equals(WrappedRegionGroup.class)) {
|
||||
wrappedFlag = (IWrappedFlag<T>) new WrappedRegionGroupFlag((Flag<RegionGroup>) flag);
|
||||
} else if (type.equals(Boolean.class) || type.equals(boolean.class)) {
|
||||
wrappedFlag = new WrappedPrimitiveFlag(flag);
|
||||
} else if (type.equals(Double.class) || type.equals(double.class)) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user