mirror of
https://github.com/CodeMC/WorldGuardWrapper.git
synced 2025-04-28 23:22:36 +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;
|
package org.codemc.worldguardwrapper.flag;
|
||||||
|
|
||||||
public interface IWrappedStatusFlag extends IWrappedFlag<WrappedState> {
|
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.Flag;
|
||||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||||
import org.codemc.worldguardwrapper.flag.IWrappedRegionGroupFlag;
|
import org.codemc.worldguardwrapper.flag.*;
|
||||||
import org.codemc.worldguardwrapper.flag.IWrappedStatusFlag;
|
import org.codemc.worldguardwrapper.implementation.legacy.WorldGuardImplementation;
|
||||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
import org.codemc.worldguardwrapper.implementation.legacy.utility.WorldGuardFlagUtilities;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@ -25,4 +25,9 @@ public class WrappedStatusFlag extends AbstractWrappedFlag<WrappedState> impleme
|
||||||
return Optional.ofNullable(value)
|
return Optional.ofNullable(value)
|
||||||
.map(state -> state == WrappedState.ALLOW ? StateFlag.State.ALLOW : StateFlag.State.DENY);
|
.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.google.common.collect.Maps;
|
||||||
import com.sk89q.worldedit.bukkit.BukkitWorld;
|
import com.sk89q.worldedit.bukkit.BukkitWorld;
|
||||||
import com.sk89q.worldguard.protection.flags.Flag;
|
import com.sk89q.worldguard.protection.flags.Flag;
|
||||||
|
import com.sk89q.worldguard.protection.flags.RegionGroup;
|
||||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
@ -10,9 +11,11 @@ import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
||||||
|
import org.codemc.worldguardwrapper.flag.WrappedRegionGroup;
|
||||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
import org.codemc.worldguardwrapper.flag.WrappedState;
|
||||||
import org.codemc.worldguardwrapper.implementation.legacy.flag.AbstractWrappedFlag;
|
import org.codemc.worldguardwrapper.implementation.legacy.flag.AbstractWrappedFlag;
|
||||||
import org.codemc.worldguardwrapper.implementation.legacy.flag.WrappedPrimitiveFlag;
|
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 org.codemc.worldguardwrapper.implementation.legacy.flag.WrappedStatusFlag;
|
||||||
|
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
|
@ -28,6 +31,8 @@ public class WorldGuardFlagUtilities {
|
||||||
final IWrappedFlag<T> wrappedFlag;
|
final IWrappedFlag<T> wrappedFlag;
|
||||||
if (type.equals(WrappedState.class)) {
|
if (type.equals(WrappedState.class)) {
|
||||||
wrappedFlag = (IWrappedFlag<T>) new WrappedStatusFlag((Flag<StateFlag.State>) flag);
|
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)) {
|
} else if (type.equals(Boolean.class) || type.equals(boolean.class)) {
|
||||||
wrappedFlag = new WrappedPrimitiveFlag(flag);
|
wrappedFlag = new WrappedPrimitiveFlag(flag);
|
||||||
} else if (type.equals(Double.class) || type.equals(double.class)) {
|
} 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.Flag;
|
||||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
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.IWrappedStatusFlag;
|
||||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
import org.codemc.worldguardwrapper.flag.WrappedState;
|
||||||
|
import org.codemc.worldguardwrapper.implementation.v6.utility.WorldGuardFlagUtilities;
|
||||||
|
|
||||||
import java.util.Optional;
|
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);
|
.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.google.common.collect.Maps;
|
||||||
import com.sk89q.worldedit.bukkit.BukkitWorld;
|
import com.sk89q.worldedit.bukkit.BukkitWorld;
|
||||||
import com.sk89q.worldguard.protection.flags.Flag;
|
import com.sk89q.worldguard.protection.flags.Flag;
|
||||||
|
import com.sk89q.worldguard.protection.flags.RegionGroup;
|
||||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||||
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
||||||
|
import org.codemc.worldguardwrapper.flag.WrappedRegionGroup;
|
||||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
import org.codemc.worldguardwrapper.flag.WrappedState;
|
||||||
import org.codemc.worldguardwrapper.implementation.v6.flag.AbstractWrappedFlag;
|
import org.codemc.worldguardwrapper.implementation.v6.flag.AbstractWrappedFlag;
|
||||||
import org.codemc.worldguardwrapper.implementation.v6.flag.WrappedPrimitiveFlag;
|
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 org.codemc.worldguardwrapper.implementation.v6.flag.WrappedStatusFlag;
|
||||||
|
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
|
@ -27,6 +30,8 @@ public class WorldGuardFlagUtilities {
|
||||||
final IWrappedFlag<T> wrappedFlag;
|
final IWrappedFlag<T> wrappedFlag;
|
||||||
if (type.equals(WrappedState.class)) {
|
if (type.equals(WrappedState.class)) {
|
||||||
wrappedFlag = (IWrappedFlag<T>) new WrappedStatusFlag((Flag<StateFlag.State>) flag);
|
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)) {
|
} else if (type.equals(Boolean.class) || type.equals(boolean.class)) {
|
||||||
wrappedFlag = new WrappedPrimitiveFlag(flag);
|
wrappedFlag = new WrappedPrimitiveFlag(flag);
|
||||||
} else if (type.equals(Double.class) || type.equals(double.class)) {
|
} else if (type.equals(Double.class) || type.equals(double.class)) {
|
||||||
|
|
|
@ -99,7 +99,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 queryValue(player, location, wrappedFlag.getHandle()).flatMap(value -> wrappedFlag.fromWGValue(value));
|
return queryValue(player, location, wrappedFlag.getHandle()).flatMap(wrappedFlag::fromWGValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -124,8 +124,8 @@ public class WorldGuardImplementation implements IWorldGuardImplementation {
|
||||||
try {
|
try {
|
||||||
Map.Entry<IWrappedFlag<?>, Object> wrapped = WorldGuardFlagUtilities.wrap(flag, value);
|
Map.Entry<IWrappedFlag<?>, Object> wrapped = WorldGuardFlagUtilities.wrap(flag, value);
|
||||||
flags.put(wrapped.getKey(), wrapped.getValue());
|
flags.put(wrapped.getKey(), wrapped.getValue());
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException ignored) {
|
||||||
continue; // Unsupported flag type
|
// 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.Flag;
|
||||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
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.IWrappedStatusFlag;
|
||||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
import org.codemc.worldguardwrapper.flag.WrappedState;
|
||||||
|
import org.codemc.worldguardwrapper.implementation.v7.utility.WorldGuardFlagUtilities;
|
||||||
|
|
||||||
import java.util.Optional;
|
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);
|
.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.bukkit.World;
|
||||||
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
||||||
import org.codemc.worldguardwrapper.implementation.v7.flag.AbstractWrappedFlag;
|
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.implementation.v7.utility.WorldGuardFlagUtilities;
|
||||||
import org.codemc.worldguardwrapper.region.IWrappedDomain;
|
import org.codemc.worldguardwrapper.region.IWrappedDomain;
|
||||||
import org.codemc.worldguardwrapper.region.IWrappedRegion;
|
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.google.common.collect.Maps;
|
||||||
import com.sk89q.worldedit.math.Vector3;
|
import com.sk89q.worldedit.math.Vector3;
|
||||||
import com.sk89q.worldguard.protection.flags.Flag;
|
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 com.sk89q.worldguard.protection.flags.StateFlag;
|
||||||
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
import org.codemc.worldguardwrapper.flag.IWrappedFlag;
|
||||||
|
import org.codemc.worldguardwrapper.flag.WrappedRegionGroup;
|
||||||
import org.codemc.worldguardwrapper.flag.WrappedState;
|
import org.codemc.worldguardwrapper.flag.WrappedState;
|
||||||
import org.codemc.worldguardwrapper.implementation.v7.flag.AbstractWrappedFlag;
|
import org.codemc.worldguardwrapper.implementation.v7.flag.AbstractWrappedFlag;
|
||||||
import org.codemc.worldguardwrapper.implementation.v7.flag.WrappedPrimitiveFlag;
|
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 org.codemc.worldguardwrapper.implementation.v7.flag.WrappedStatusFlag;
|
||||||
|
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
|
@ -27,6 +31,8 @@ public class WorldGuardFlagUtilities {
|
||||||
final IWrappedFlag<T> wrappedFlag;
|
final IWrappedFlag<T> wrappedFlag;
|
||||||
if (type.equals(WrappedState.class)) {
|
if (type.equals(WrappedState.class)) {
|
||||||
wrappedFlag = (IWrappedFlag<T>) new WrappedStatusFlag((Flag<StateFlag.State>) flag);
|
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)) {
|
} else if (type.equals(Boolean.class) || type.equals(boolean.class)) {
|
||||||
wrappedFlag = new WrappedPrimitiveFlag(flag);
|
wrappedFlag = new WrappedPrimitiveFlag(flag);
|
||||||
} else if (type.equals(Double.class) || type.equals(double.class)) {
|
} else if (type.equals(Double.class) || type.equals(double.class)) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user