diff --git a/.gitignore b/.gitignore index 3dad63d..af092a2 100644 --- a/.gitignore +++ b/.gitignore @@ -174,6 +174,8 @@ Desktop.ini .cursorrules .windsurfrules +context.json +run.sh # Compiled class file *.class diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 35dde6b..0000000 --- a/build.gradle +++ /dev/null @@ -1,95 +0,0 @@ -import org.apache.tools.ant.filters.ReplaceTokens - -plugins { - id 'java' - id 'com.github.johnrengelman.shadow' version '8.1.1' - id 'com.palantir.git-version' version '0.13.0' -} - -group = 'net.coreprotect' -String projectVersion = '22.4' -String projectBranch = '' -version = projectVersion // `version` might be modified, we don't always want that (e.g. plugin.yml) -description = 'Provides block protection for your server.' -sourceCompatibility = '21' - -if (System.getenv("BUILD_NUMBER") != null) { - // Being built in Jenkins, append Build ID - version += "-${System.getenv("BUILD_NUMBER")}" -} else if (!(version ==~ '^[^.]*\\.[^.]*\\.[^.]*$')) { // Thanks https://stackoverflow.com/a/9949200/1709894 - // Append the Git hash if 'version' has less than two periods - version += "-${gitVersion()}" -} -logger.info("Building version $version") - -repositories { - maven { url = 'https://hub.spigotmc.org/nexus/content/groups/public/' } - maven { url = 'https://repo.papermc.io/repository/maven-public/' } - maven { url = 'https://repo.codemc.org/repository/maven-public/' } - maven { url = 'https://jitpack.io' } -} - -dependencies { - implementation(platform("com.intellectualsites.bom:bom-newest:1.45")) // Ref: https://github.com/IntellectualSites/bom - compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Core") - compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit") - compileOnly 'io.papermc.paper:paper-api:1.21-R0.1-SNAPSHOT' - implementation 'org.bstats:bstats-bukkit-lite:1.8' - implementation 'com.zaxxer:HikariCP:5.0.1' - implementation 'com.github.DeadSilenceIV:AdvancedChestsAPI:3.2-BETA' - implementation 'com.github.oshi:oshi-core:6.6.2' - implementation 'org.apache.logging.log4j:log4j-core:2.23.1' -} - -jar { - archiveClassifier.set("original") -} - -artifacts { - archives shadowJar -} - -shadowJar { - dependencies { - // #toString because #getGroup technically returns an Object - relocate('org.bstats', project.group.toString()) - relocate('com.zaxxer', project.group.toString()) - exclude(dependency('com.google.code.gson:.*')) - exclude(dependency('org.intellij:.*')) - exclude(dependency('org.jetbrains:.*')) - exclude(dependency('org.slf4j:.*')) - exclude(dependency('org.apache.logging.log4j:.*')) - exclude(dependency('net.java.dev.jna:.*')) - } - archiveClassifier.set(null) -} - -ext { - author = 'Intelli' - - resourceTokens = [ - 'project.version': projectVersion, - 'project.branch': projectBranch, - ] -} - -processResources { - include 'plugin.yml' - // Whole lotta boilerplate to get the same functionality as Maven here. - // Replace this if Gradle ever lets us configure the filter before filtering. - filter(new Transformer() { - @Override - String transform(String s) { - ReplaceTokens replaceTokens = new ReplaceTokens(new StringReader(s)) - replaceTokens.setBeginToken('${') - replaceTokens.setEndToken('}') - resourceTokens.forEach { key, val -> - def token = new ReplaceTokens.Token() - token.setKey(key.toString()) - token.setValue(val.toString()) - replaceTokens.addConfiguredToken(token) - } - return replaceTokens.readLines().join('\n') - } - }) -} diff --git a/pom.xml b/pom.xml index ab73006..3da9b34 100755 --- a/pom.xml +++ b/pom.xml @@ -6,6 +6,7 @@ UTF-8 + true @@ -28,6 +29,18 @@ 11 11 + + + default-testCompile + test-compile + + testCompile + + + ${skipTests} + + + org.apache.maven.plugins @@ -87,6 +100,17 @@ + + org.apache.maven.plugins + maven-surefire-plugin + 3.2.3 + + + ${project.version} + + ${skipTests} + + @@ -174,5 +198,30 @@ 3.2-BETA provided + + + org.junit.jupiter + junit-jupiter-api + 5.10.1 + test + + + org.junit.jupiter + junit-jupiter-engine + 5.10.1 + test + + + org.mockito + mockito-core + 5.10.0 + test + + + org.mockito + mockito-junit-jupiter + 5.10.0 + test + \ No newline at end of file diff --git a/src/main/java/net/coreprotect/CoreProtect.java b/src/main/java/net/coreprotect/CoreProtect.java index 4fda675..64c75b7 100755 --- a/src/main/java/net/coreprotect/CoreProtect.java +++ b/src/main/java/net/coreprotect/CoreProtect.java @@ -60,7 +60,7 @@ public final class CoreProtect extends JavaPlugin { ShutdownService.safeShutdown(this); } - public boolean isAdvancedChestsEnabled(){ + public boolean isAdvancedChestsEnabled() { return advancedChestsEnabled; } } diff --git a/src/main/java/net/coreprotect/CoreProtectAPI.java b/src/main/java/net/coreprotect/CoreProtectAPI.java index 6e79e3a..c6c212b 100755 --- a/src/main/java/net/coreprotect/CoreProtectAPI.java +++ b/src/main/java/net/coreprotect/CoreProtectAPI.java @@ -28,12 +28,10 @@ import net.coreprotect.database.Lookup; import net.coreprotect.database.rollback.Rollback; import net.coreprotect.language.Phrase; import net.coreprotect.listener.player.InventoryChangeListener; -import net.coreprotect.utility.BlockUtils; import net.coreprotect.utility.Chat; import net.coreprotect.utility.EntityUtils; import net.coreprotect.utility.MaterialUtils; import net.coreprotect.utility.StringUtils; -import net.coreprotect.utility.Util; import net.coreprotect.utility.WorldUtils; public class CoreProtectAPI extends Queue { @@ -196,7 +194,7 @@ public class CoreProtectAPI extends Queue { boolean match = false; if (Config.getGlobal().API_ENABLED) { - long timestamp = System.currentTimeMillis(); + long timestamp = getCurrentTimeMillis(); long offsetTime = timestamp - offset * 1000L; List check = blockLookup(block, time); @@ -217,7 +215,7 @@ public class CoreProtectAPI extends Queue { boolean match = false; if (Config.getGlobal().API_ENABLED) { - long timestamp = System.currentTimeMillis(); + long timestamp = getCurrentTimeMillis(); long offsetTime = timestamp - offset * 1000L; List check = blockLookup(block, time); @@ -233,6 +231,10 @@ public class CoreProtectAPI extends Queue { return match; } + protected long getCurrentTimeMillis() { + return System.currentTimeMillis(); + } + public boolean isEnabled() { return Config.getGlobal().API_ENABLED; } diff --git a/src/main/java/net/coreprotect/database/rollback/RollbackProcessor.java b/src/main/java/net/coreprotect/database/rollback/RollbackProcessor.java index 20ab6eb..5d84adb 100644 --- a/src/main/java/net/coreprotect/database/rollback/RollbackProcessor.java +++ b/src/main/java/net/coreprotect/database/rollback/RollbackProcessor.java @@ -94,7 +94,7 @@ public class RollbackProcessor { List meta = null; if (rowMeta != null) { - meta = Rollback.deserializeMetadata(rowMeta); + meta = RollbackUtil.deserializeMetadata(rowMeta); } BlockData blockData = null;