diff --git a/api/pom.xml b/api/pom.xml
index 3dac189..fd024e0 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -7,37 +7,10 @@
org.codemc.worldguardwrapper
worldguardwrapper-parent
- 1.0.0-SNAPSHOT
+ 1.0.1-SNAPSHOT
- worldguardwrapper
+ worldguardwrapper-api
WorldGuardWrapper-API
-
-
-
- ${project.groupId}
- worldguardwrapper-implementation-aggregated
- ${project.version}
- pom
- true
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
-
-
- package
-
- shade
-
-
-
-
-
-
diff --git a/implementation/interface/src/main/java/org/codemc/worldguardwrapper/implementation/AbstractWrappedEvent.java b/api/src/main/java/org/codemc/worldguardwrapper/event/AbstractWrappedEvent.java
similarity index 70%
rename from implementation/interface/src/main/java/org/codemc/worldguardwrapper/implementation/AbstractWrappedEvent.java
rename to api/src/main/java/org/codemc/worldguardwrapper/event/AbstractWrappedEvent.java
index 026cbf2..1be3230 100644
--- a/implementation/interface/src/main/java/org/codemc/worldguardwrapper/implementation/AbstractWrappedEvent.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/event/AbstractWrappedEvent.java
@@ -1,9 +1,10 @@
-package org.codemc.worldguardwrapper.implementation;
+package org.codemc.worldguardwrapper.event;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
public abstract class AbstractWrappedEvent extends Event implements Cancellable {
+
private Result result = Result.DEFAULT;
@Override
@@ -18,11 +19,22 @@ public abstract class AbstractWrappedEvent extends Event implements Cancellable
}
}
+ /**
+ * Sets the event result.
+ *
+ * @param result the new event result
+ */
public void setResult(Result result) {
this.result = result;
}
+ /**
+ * Returns the current event result.
+ *
+ * @return the event result
+ */
public Result getResult() {
return result;
}
-}
\ No newline at end of file
+
+}
diff --git a/api/src/main/java/org/codemc/worldguardwrapper/event/DamageEntityEvent.java b/api/src/main/java/org/codemc/worldguardwrapper/event/DamageEntityEvent.java
index 37aa21c..f0c2ccf 100644
--- a/api/src/main/java/org/codemc/worldguardwrapper/event/DamageEntityEvent.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/event/DamageEntityEvent.java
@@ -1,17 +1,15 @@
package org.codemc.worldguardwrapper.event;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
-import org.codemc.worldguardwrapper.implementation.AbstractWrappedEvent;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
+@RequiredArgsConstructor
@Getter
-@AllArgsConstructor
public class DamageEntityEvent extends AbstractWrappedEvent {
private static final HandlerList handlers = new HandlerList();
@@ -29,5 +27,4 @@ public class DamageEntityEvent extends AbstractWrappedEvent {
public static HandlerList getHandlerList() {
return handlers;
}
-
-}
\ No newline at end of file
+}
diff --git a/api/src/main/java/org/codemc/worldguardwrapper/event/UseBlockEvent.java b/api/src/main/java/org/codemc/worldguardwrapper/event/UseBlockEvent.java
index 6a57252..363ad76 100644
--- a/api/src/main/java/org/codemc/worldguardwrapper/event/UseBlockEvent.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/event/UseBlockEvent.java
@@ -1,20 +1,18 @@
package org.codemc.worldguardwrapper.event;
-import java.util.List;
-
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
-import org.codemc.worldguardwrapper.implementation.AbstractWrappedEvent;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
+import java.util.List;
+@RequiredArgsConstructor
@Getter
-@AllArgsConstructor
public class UseBlockEvent extends AbstractWrappedEvent {
private static final HandlerList handlers = new HandlerList();
@@ -33,5 +31,5 @@ public class UseBlockEvent extends AbstractWrappedEvent {
public static HandlerList getHandlerList() {
return handlers;
}
-
-}
\ No newline at end of file
+
+}
diff --git a/api/src/main/java/org/codemc/worldguardwrapper/event/UseEntityEvent.java b/api/src/main/java/org/codemc/worldguardwrapper/event/UseEntityEvent.java
index 943b6b4..7f903ea 100644
--- a/api/src/main/java/org/codemc/worldguardwrapper/event/UseEntityEvent.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/event/UseEntityEvent.java
@@ -1,17 +1,15 @@
package org.codemc.worldguardwrapper.event;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
-import org.codemc.worldguardwrapper.implementation.AbstractWrappedEvent;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
+@RequiredArgsConstructor
@Getter
-@AllArgsConstructor
public class UseEntityEvent extends AbstractWrappedEvent {
private static final HandlerList handlers = new HandlerList();
@@ -29,5 +27,5 @@ public class UseEntityEvent extends AbstractWrappedEvent {
public static HandlerList getHandlerList() {
return handlers;
}
-
-}
\ No newline at end of file
+
+}
diff --git a/implementation/interface/src/main/java/org/codemc/worldguardwrapper/implementation/AbstractFlag.java b/api/src/main/java/org/codemc/worldguardwrapper/flags/AbstractWrappedFlag.java
similarity index 84%
rename from implementation/interface/src/main/java/org/codemc/worldguardwrapper/implementation/AbstractFlag.java
rename to api/src/main/java/org/codemc/worldguardwrapper/flags/AbstractWrappedFlag.java
index 4a60c73..6a4febf 100644
--- a/implementation/interface/src/main/java/org/codemc/worldguardwrapper/implementation/AbstractFlag.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/flags/AbstractWrappedFlag.java
@@ -1,21 +1,22 @@
-package org.codemc.worldguardwrapper.implementation;
-
-import org.bukkit.entity.Player;
+package org.codemc.worldguardwrapper.flags;
import lombok.AllArgsConstructor;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
+import org.bukkit.entity.Player;
-@RequiredArgsConstructor
@AllArgsConstructor
-public abstract class AbstractFlag {
- private @NonNull String name;
- private @NonNull Class type;
+@RequiredArgsConstructor
+public abstract class AbstractWrappedFlag {
+ @NonNull
+ private String name;
+ @NonNull
+ private Class type;
private T defaultValue;
/**
* Get the name of this flag.
- *
+ *
* @return The name
*/
public String getName() {
@@ -24,7 +25,7 @@ public abstract class AbstractFlag {
/**
* Get the type of this flag's value.
- *
+ *
* @return The type
*/
public Class getType() {
@@ -33,7 +34,7 @@ public abstract class AbstractFlag {
/**
* Get the default value of this flag.
- *
+ *
* @return The default value (may be {@code null})
*/
public T getDefaultValue() {
@@ -43,7 +44,7 @@ public abstract class AbstractFlag {
/**
* Convert the value stored in this flag into a type that can be
* serialized into YAML.
- *
+ *
* @param value The value
* @return The serialized type
*/
@@ -52,7 +53,7 @@ public abstract class AbstractFlag {
/**
* Convert a raw object that was loaded (from a YAML file, for example) into the
* type that this flag uses.
- *
+ *
* @param serialized The raw object
* @return The deserialized type
*/
@@ -60,11 +61,11 @@ public abstract class AbstractFlag {
/**
* Parse a given input to force it to a type compatible with the flag.
- *
- * @param player Player who entered the string.
+ *
+ * @param player Player who entered the string.
* @param userInput Input string (e.g. a player input)
* @return A type compatible with the flag
*/
public abstract T parse(Player player, String userInput);
-}
\ No newline at end of file
+}
diff --git a/api/src/main/java/org/codemc/worldguardwrapper/flags/BooleanFlag.java b/api/src/main/java/org/codemc/worldguardwrapper/flags/BooleanFlag.java
index d910cfd..cf96232 100644
--- a/api/src/main/java/org/codemc/worldguardwrapper/flags/BooleanFlag.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/flags/BooleanFlag.java
@@ -1,12 +1,11 @@
package org.codemc.worldguardwrapper.flags;
import org.bukkit.entity.Player;
-import org.codemc.worldguardwrapper.implementation.AbstractFlag;
/**
* A flag that stores a boolean.
*/
-public class BooleanFlag extends AbstractFlag {
+public class BooleanFlag extends AbstractWrappedFlag {
public BooleanFlag(String name) {
this(name, false);
@@ -27,7 +26,7 @@ public class BooleanFlag extends AbstractFlag {
}
@Override
- public Boolean parse(Player player, String userInput) {
+ public Boolean parse(Player player, String userInput) {
if (userInput.equalsIgnoreCase("true") || userInput.equalsIgnoreCase("yes")
|| userInput.equalsIgnoreCase("on")
|| userInput.equalsIgnoreCase("1")) {
@@ -41,4 +40,4 @@ public class BooleanFlag extends AbstractFlag {
}
}
-}
\ No newline at end of file
+}
diff --git a/api/src/main/java/org/codemc/worldguardwrapper/flags/DoubleFlag.java b/api/src/main/java/org/codemc/worldguardwrapper/flags/DoubleFlag.java
index 7d12a93..e2b182e 100644
--- a/api/src/main/java/org/codemc/worldguardwrapper/flags/DoubleFlag.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/flags/DoubleFlag.java
@@ -1,12 +1,11 @@
package org.codemc.worldguardwrapper.flags;
import org.bukkit.entity.Player;
-import org.codemc.worldguardwrapper.implementation.AbstractFlag;
/**
* A flag that stores a double.
*/
-public class DoubleFlag extends AbstractFlag {
+public class DoubleFlag extends AbstractWrappedFlag {
public DoubleFlag(String name) {
this(name, 0d);
@@ -35,4 +34,4 @@ public class DoubleFlag extends AbstractFlag {
return Double.parseDouble(userInput);
}
-}
\ No newline at end of file
+}
diff --git a/api/src/main/java/org/codemc/worldguardwrapper/flags/EnumFlag.java b/api/src/main/java/org/codemc/worldguardwrapper/flags/EnumFlag.java
index 275f560..454f49c 100644
--- a/api/src/main/java/org/codemc/worldguardwrapper/flags/EnumFlag.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/flags/EnumFlag.java
@@ -1,14 +1,11 @@
package org.codemc.worldguardwrapper.flags;
import org.bukkit.entity.Player;
-import org.codemc.worldguardwrapper.implementation.AbstractFlag;
/**
* A flag that stores an enum value.
*/
-public class EnumFlag> extends AbstractFlag {
-
- private Class enumClass;
+public class EnumFlag> extends AbstractWrappedFlag {
public EnumFlag(String name, Class enumClass) {
this(name, enumClass, null);
@@ -20,11 +17,12 @@ public class EnumFlag> extends AbstractFlag {
/**
* Get the enum class.
- *
+ * TODO: really needed? we already have getType() -Gab
+ *
* @return The enum class
*/
public Class getEnumClass() {
- return enumClass;
+ return getType();
}
@Override
@@ -35,7 +33,7 @@ public class EnumFlag> extends AbstractFlag {
@Override
public T deserialize(Object serialized) {
if (serialized instanceof String) {
- return Enum.valueOf(enumClass, (String) serialized);
+ return Enum.valueOf(getEnumClass(), (String) serialized);
} else {
return null;
}
@@ -43,7 +41,7 @@ public class EnumFlag> extends AbstractFlag {
@Override
public T parse(Player player, String userInput) {
- return Enum.valueOf(enumClass, userInput);
+ return Enum.valueOf(getEnumClass(), userInput);
}
-
-}
\ No newline at end of file
+
+}
diff --git a/api/src/main/java/org/codemc/worldguardwrapper/flags/IntegerFlag.java b/api/src/main/java/org/codemc/worldguardwrapper/flags/IntegerFlag.java
index 56709bf..23c467f 100644
--- a/api/src/main/java/org/codemc/worldguardwrapper/flags/IntegerFlag.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/flags/IntegerFlag.java
@@ -1,12 +1,11 @@
package org.codemc.worldguardwrapper.flags;
import org.bukkit.entity.Player;
-import org.codemc.worldguardwrapper.implementation.AbstractFlag;
/**
* A flag that stores an integer.
*/
-public class IntegerFlag extends AbstractFlag {
+public class IntegerFlag extends AbstractWrappedFlag {
public IntegerFlag(String name) {
this(name, 0);
@@ -35,4 +34,4 @@ public class IntegerFlag extends AbstractFlag {
return Integer.parseInt(userInput);
}
-}
\ No newline at end of file
+}
diff --git a/api/src/main/java/org/codemc/worldguardwrapper/flags/LocationFlag.java b/api/src/main/java/org/codemc/worldguardwrapper/flags/LocationFlag.java
index 7079405..371a68e 100644
--- a/api/src/main/java/org/codemc/worldguardwrapper/flags/LocationFlag.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/flags/LocationFlag.java
@@ -1,18 +1,17 @@
package org.codemc.worldguardwrapper.flags;
-import java.util.HashMap;
-import java.util.Map;
-
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;
-import org.codemc.worldguardwrapper.implementation.AbstractFlag;
+
+import java.util.HashMap;
+import java.util.Map;
/**
* A flag that stores a bukkit location.
*/
-public class LocationFlag extends AbstractFlag {
+public class LocationFlag extends AbstractWrappedFlag {
public LocationFlag(String name) {
this(name, null);
@@ -43,22 +42,22 @@ public class LocationFlag extends AbstractFlag {
Object worldName = map.get("world");
if (worldName == null) return null;
-
+
Object x = map.get("x");
if (x == null) return null;
-
+
Object y = map.get("y");
if (y == null) return null;
-
+
Object z = map.get("z");
if (z == null) return null;
-
+
Object yaw = map.get("yaw");
if (yaw == null) return null;
-
+
Object pitch = map.get("pitch");
if (pitch == null) return null;
-
+
World world = Bukkit.getWorld(String.valueOf(worldName));
if (world == null) return null;
@@ -97,5 +96,5 @@ public class LocationFlag extends AbstractFlag {
return 0;
}
}
-
-}
\ No newline at end of file
+
+}
diff --git a/api/src/main/java/org/codemc/worldguardwrapper/flags/SetFlag.java b/api/src/main/java/org/codemc/worldguardwrapper/flags/SetFlag.java
index e697185..d9abae6 100644
--- a/api/src/main/java/org/codemc/worldguardwrapper/flags/SetFlag.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/flags/SetFlag.java
@@ -1,36 +1,32 @@
package org.codemc.worldguardwrapper.flags;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
import org.bukkit.entity.Player;
-import org.codemc.worldguardwrapper.implementation.AbstractFlag;
+
+import java.util.*;
/**
* A flag that stores a set of values of the sub flag's type.
*/
-public class SetFlag extends AbstractFlag> {
+public class SetFlag extends AbstractWrappedFlag> {
- private AbstractFlag subFlag;
+ private AbstractWrappedFlag subFlag;
- public SetFlag(String name, AbstractFlag subFlag) {
+ public SetFlag(String name, AbstractWrappedFlag subFlag) {
this(name, new HashSet<>(), subFlag);
}
@SuppressWarnings("unchecked")
- public SetFlag(String name, Set defaultValue, AbstractFlag subFlag) {
+ public SetFlag(String name, Set defaultValue, AbstractWrappedFlag subFlag) {
super(name, (Class>) defaultValue.getClass(), defaultValue);
+ this.subFlag = subFlag;
}
/**
* Get the type of values stored in this flag.
- *
+ *
* @return The stored flag type.
*/
- public AbstractFlag getSubType() {
+ public AbstractWrappedFlag getSubType() {
return subFlag;
}
@@ -77,5 +73,5 @@ public class SetFlag extends AbstractFlag> {
return items;
}
}
-
-}
\ No newline at end of file
+
+}
diff --git a/api/src/main/java/org/codemc/worldguardwrapper/flags/StringFlag.java b/api/src/main/java/org/codemc/worldguardwrapper/flags/StringFlag.java
index b4b8038..7871931 100644
--- a/api/src/main/java/org/codemc/worldguardwrapper/flags/StringFlag.java
+++ b/api/src/main/java/org/codemc/worldguardwrapper/flags/StringFlag.java
@@ -1,12 +1,11 @@
package org.codemc.worldguardwrapper.flags;
import org.bukkit.entity.Player;
-import org.codemc.worldguardwrapper.implementation.AbstractFlag;
/**
* A flag that stores a string.
*/
-public class StringFlag extends AbstractFlag {
+public class StringFlag extends AbstractWrappedFlag {
public StringFlag(String name) {
this(name, "");
@@ -31,4 +30,4 @@ public class StringFlag extends AbstractFlag {
return userInput;
}
-}
\ No newline at end of file
+}
diff --git a/api/src/main/java/org/codemc/worldguardwrapper/region/WrappedRegion.java b/api/src/main/java/org/codemc/worldguardwrapper/region/WrappedRegion.java
new file mode 100644
index 0000000..9b285c0
--- /dev/null
+++ b/api/src/main/java/org/codemc/worldguardwrapper/region/WrappedRegion.java
@@ -0,0 +1,16 @@
+package org.codemc.worldguardwrapper.region;
+
+import java.util.Map;
+import java.util.Optional;
+
+public interface WrappedRegion {
+
+ String getId();
+
+ Optional