Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ repositories {
}

dependencies {
implementation("com.gradleup.shadow:com.gradleup.shadow.gradle.plugin:9.3.1")
implementation("com.diffplug.gradle.spotless:com.diffplug.gradle.spotless.gradle.plugin:8.2.1")
implementation("com.gradleup.shadow:com.gradleup.shadow.gradle.plugin:9.4.1")
implementation("com.diffplug.gradle.spotless:com.diffplug.gradle.spotless.gradle.plugin:8.4.0")
implementation("de.skuzzle.restrictimports:de.skuzzle.restrictimports.gradle.plugin:3.0.0")
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ plugins {

java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
languageVersion = JavaLanguageVersion.of(25)
}
}

Expand All @@ -26,8 +26,8 @@ dependencies {
api("net.kyori:adventure-platform-bukkit:4.4.1")
api("org.incendo:cloud-core:2.0.0")
api("org.incendo:cloud-annotations:2.0.0")
api("org.incendo:cloud-paper:2.0.0-beta.14")
api("org.incendo:cloud-minecraft-extras:2.0.0-beta.14")
api("org.incendo:cloud-paper:2.0.0-SNAPSHOT")
api("org.incendo:cloud-minecraft-extras:2.0.0-SNAPSHOT")
api("me.lucko:commodore:2.2")
api("fr.mrmicky:fastboard:2.1.5")
api("fr.minuskube.inv:smart-invs:1.2.7") { isTransitive = false }
Expand All @@ -37,7 +37,7 @@ dependencies {

// Annotations
api("org.jspecify:jspecify:1.0.0")
compileOnly("org.jetbrains:annotations:26.0.2-1")
compileOnly("org.jetbrains:annotations:26.1.0")

// Optional runtime dependencies
compileOnly("net.dmulloy2:ProtocolLib:5.4.0")
Expand Down Expand Up @@ -69,7 +69,7 @@ spotless {
removeUnusedImports()
trimTrailingWhitespace()
formatAnnotations()
palantirJavaFormat("2.87.0").style("GOOGLE").formatJavadoc(true)
palantirJavaFormat("2.90.0").style("GOOGLE").formatJavadoc(true)
}
}

Expand Down
4 changes: 2 additions & 2 deletions core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {
}

dependencies {
compileOnly("dev.pgm.paper:paper-api:1.8_1.21.11-SNAPSHOT")
compileOnly("dev.pgm.paper:paper-api:1.8_26.1.2-SNAPSHOT")

implementation(project(":util"))
runtimeOnly(project(":platform-sportpaper")) { exclude("*") }
Expand Down Expand Up @@ -91,7 +91,7 @@ tasks {
mapOf(
"name" to name,
"description" to description,
"apiVersion" to "1.21.11",
"apiVersion" to "26.1.2",
"mainClass" to "tc.oc.pgm.PGMPlugin",
"version" to version,
"commitHash" to commitHash,
Expand Down
12 changes: 3 additions & 9 deletions core/src/main/java/tc/oc/pgm/PGMPlugin.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package tc.oc.pgm;

import static tc.oc.pgm.util.bukkit.MiscUtils.MISC_UTILS;

import com.google.common.collect.Lists;
import fr.minuskube.inv.InventoryManager;
import java.io.File;
Expand Down Expand Up @@ -67,7 +69,6 @@
import tc.oc.pgm.rotation.MapPoolManager;
import tc.oc.pgm.rotation.RandomMapOrder;
import tc.oc.pgm.tablist.MatchTabManager;
import tc.oc.pgm.util.FileUtils;
import tc.oc.pgm.util.bukkit.ViaUtils;
import tc.oc.pgm.util.chunk.NullChunkGenerator;
import tc.oc.pgm.util.concurrent.BukkitExecutorService;
Expand Down Expand Up @@ -211,14 +212,7 @@ public void onEnable() {
config.getGroups().isEmpty() ? null : new ConfigDecorationProvider());

// Sometimes match folders need to be cleaned up if the server previously crashed
final File[] worldDirs = getServer().getWorldContainer().listFiles();
if (worldDirs != null) {
for (File dir : worldDirs) {
if (dir.isDirectory() && dir.getName().startsWith("match")) {
FileUtils.delete(dir);
}
}
}
MISC_UTILS.cleanupWorldFiles();

matchManager = new MatchManagerImpl(logger);

Expand Down
5 changes: 3 additions & 2 deletions core/src/main/java/tc/oc/pgm/match/MatchImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import static tc.oc.pgm.util.Assert.assertNotNull;
import static tc.oc.pgm.util.Assert.assertTrue;
import static tc.oc.pgm.util.bukkit.MiscUtils.MISC_UTILS;
import static tc.oc.pgm.util.nms.NMSHacks.NMS_HACKS;

import com.google.common.collect.ImmutableList;
Expand Down Expand Up @@ -946,8 +947,8 @@ public void destroy() {
Level.SEVERE, "Unable to unload world " + worldName + " (this can cause memory leaks!)");
}

final File oldMatchFolder = new File(PGM.get().getServer().getWorldContainer(), worldName);
if (oldMatchFolder.exists()) {
final File oldMatchFolder = MISC_UTILS.getWorldFolder(worldName);
if (oldMatchFolder != null && oldMatchFolder.exists()) {
FileUtils.delete(oldMatchFolder);
}
}
Expand Down
4 changes: 2 additions & 2 deletions platform/platform-modern/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
plugins {
id("buildlogic.java-conventions")
id("io.papermc.paperweight.userdev") version "2.0.0-beta.19"
id("io.papermc.paperweight.userdev") version "2.0.0-beta.21"
}

dependencies {
implementation(project(":core"))
implementation(project(":util"))
paperweight.paperDevBundle("1.21.11-R0.1-SNAPSHOT")
paperweight.paperDevBundle("26.1.2.build.+")
}
paperweight.reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArtifactConfiguration.MOJANG_PRODUCTION
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,23 @@

import static tc.oc.pgm.util.platform.Supports.Variant.PAPER;

import io.papermc.paper.world.PaperWorldLoader;
import java.io.File;
import java.nio.file.Path;
import java.util.List;
import net.kyori.adventure.key.Key;
import net.kyori.adventure.text.format.NamedTextColor;
import net.minecraft.nbt.NbtAccounter;
import net.minecraft.nbt.NbtIo;
import net.minecraft.nbt.NbtUtils;
import org.bukkit.Bukkit;
import org.bukkit.ExplosionResult;
import org.bukkit.Location;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
import org.bukkit.Sound;
import org.bukkit.block.Block;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.damage.DamageSource;
import org.bukkit.damage.DamageType;
import org.bukkit.enchantments.Enchantment;
Expand All @@ -36,6 +41,7 @@
import org.bukkit.scoreboard.Team;
import tc.oc.pgm.platform.modern.material.ModernBlockMaterialData;
import tc.oc.pgm.util.DataVersions;
import tc.oc.pgm.util.FileUtils;
import tc.oc.pgm.util.bukkit.MiscUtils;
import tc.oc.pgm.util.material.BlockMaterialData;
import tc.oc.pgm.util.platform.Supports;
Expand Down Expand Up @@ -133,4 +139,25 @@ public Entity getFakePickupEntity(PlayerPickupItemEvent ev) {
if (ev instanceof PlayerPickupArrowEvent arrowEvent) return arrowEvent.getArrow();
return ev.getItem();
}

@Override
public File getWorldFolder(String worldName) {
var console = ((CraftServer) Bukkit.getServer()).getServer();
var dimensionKey = PaperWorldLoader.dimensionKey(NamespacedKey.minecraft(worldName));
return console.storageSource.getDimensionPath(dimensionKey).toFile();
}

@Override
public void cleanupWorldFiles() {
// Probe a non-existent dimension to get the dimension folder
final File dimsFolder = new File(getWorldFolder("probe").getParent());
final File[] dimDirs = dimsFolder.listFiles();
if (dimDirs != null) {
for (File dir : dimDirs) {
if (dir.isDirectory() && dir.getName().startsWith("match")) {
FileUtils.delete(dir);
}
}
}
}
}
Loading
Loading