diff --git a/config/checkstyle/import-control.xml b/config/checkstyle/import-control.xml
index 2b0e48ce..6f904a88 100644
--- a/config/checkstyle/import-control.xml
+++ b/config/checkstyle/import-control.xml
@@ -22,6 +22,8 @@
+
+
diff --git a/worldguard-bukkit/build.gradle.kts b/worldguard-bukkit/build.gradle.kts
index 1b7c6efd..bbc2f0c7 100644
--- a/worldguard-bukkit/build.gradle.kts
+++ b/worldguard-bukkit/build.gradle.kts
@@ -1,4 +1,5 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
+import org.gradle.api.internal.HasConvention
plugins {
id("java-library")
@@ -14,6 +15,10 @@
name = "spigot"
url = uri("https://hub.spigotmc.org/nexus/content/groups/public")
}
+ maven {
+ name = "paper"
+ url = uri("https://papermc.io/repo/repository/maven-public/")
+ }
maven {
name = "bstats"
url = uri("https://repo.codemc.org/repository/maven-public")
@@ -23,12 +28,28 @@
dependencies {
"compile"(project(":worldguard-core"))
//"compile"(project(":worldguard-libs:bukkit"))
- "api"("org.bukkit:bukkit:1.14.2-R0.1-SNAPSHOT")
+ "api"("com.destroystokyo.paper:paper-api:1.14.4-R0.1-SNAPSHOT")
+ "implementation"("io.papermc:paperlib:1.0.2")
"api"("com.sk89q.worldedit:worldedit-bukkit:7.0.1-SNAPSHOT") { isTransitive = false }
"implementation"("com.sk89q:commandbook:2.3") { isTransitive = false }
"implementation"("org.bstats:bstats-bukkit:1.5")
}
+tasks.named("install") {
+ (repositories as HasConvention).convention.getPlugin().mavenInstaller {
+ pom.whenConfigured {
+ dependencies.firstOrNull { dep ->
+ dep!!.withGroovyBuilder {
+ getProperty("groupId") == "com.destroystokyo.paper" && getProperty("artifactId") == "paper-api"
+ }
+ }?.withGroovyBuilder {
+ setProperty("groupId", "org.bukkit")
+ setProperty("artifactId", "bukkit")
+ }
+ }
+ }
+}
+
tasks.named("processResources") {
filesMatching("plugin.yml") {
expand("internalVersion" to project.ext["internalVersion"])
@@ -46,6 +67,9 @@
relocate("org.bstats", "com.sk89q.worldguard.bukkit.bstats") {
include(dependency("org.bstats:bstats-bukkit:1.5"))
}
+ relocate ("io.papermc.lib", "com.sk89q.worldguard.bukkit.paperlib") {
+ include(dependency("io.papermc:paperlib:1.0.2"))
+ }
}
}
diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java
index c96225db..7940d820 100644
--- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java
+++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java
@@ -421,8 +421,8 @@ public void onPlayerInteract(PlayerInteractEvent event) {
// Only fire events for blocks that are modified when right clicked
final boolean hasItemInteraction = item != null && isItemAppliedToBlock(item, clicked)
&& event.getAction() == Action.RIGHT_CLICK_BLOCK;
- modifiesWorld = isBlockModifiedOnClick(clicked, event.getAction() == Action.RIGHT_CLICK_BLOCK)
- || hasItemInteraction;
+ modifiesWorld = hasItemInteraction
+ || isBlockModifiedOnClick(clicked, event.getAction() == Action.RIGHT_CLICK_BLOCK);
if (Events.fireAndTestCancel(new UseBlockEvent(event, cause, clicked).setAllowed(!modifiesWorld))) {
event.setUseInteractedBlock(Result.DENY);
diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/Blocks.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/Blocks.java
index 5d610273..37da4f49 100644
--- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/Blocks.java
+++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/Blocks.java
@@ -19,6 +19,7 @@
package com.sk89q.worldguard.bukkit.util;
+import io.papermc.lib.PaperLib;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.block.data.BlockData;
@@ -45,7 +46,7 @@ private Blocks() {
* @return a list of connected blocks, not including the given block
*/
public static List getConnected(Block block) {
- BlockState state = block.getState();
+ BlockState state = PaperLib.getBlockState(block, false).getState();
BlockData data = state.getBlockData();
if (data instanceof Bed) {