Compare commits

..

21 Commits
7.5.2 ... 7.5.3

Author SHA1 Message Date
bfbf406418 Release 7.5.3
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2025-05-18 19:27:33 +02:00
2accedf264 fix: Don't use list to proof block is copper. Instead check with name (#4641)
* fix: Don't use list to proof block is copper. Instead check with name

* chore: Code-Cleanup
2025-05-18 14:04:39 +02:00
6ef0d58480 fix: cancel teleport to denied plot (#4650)
* chore: add 1.21.5 to runServer task, download Paper FAWE jar

* fix: don't allow teleport to denied plots
2025-05-18 14:03:51 +02:00
fbf4a638b4 chore/fix: use #getBlock in PlayerBucketEmptyEvent (#4651)
chore/fix: use #getBlock method for block retrieval in PlayerBucketEmptyEvent
2025-05-18 14:03:28 +02:00
9abfa21078 Add 'world' placeholder to status messages (#4632)
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2025-05-17 23:20:03 +02:00
b84599b4b3 Add server brand to debugpaste (#4640)
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2025-05-17 23:18:52 +02:00
058983cdd5 Update dependency com.vanniktech.maven.publish to v0.32.0 (#4648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 19:09:18 +00:00
6ba3694121 Update dependency net.kyori:adventure-platform-bukkit to v4.4.0 (#4646)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 02:14:59 +00:00
8e8e31b80e Update dependency org.checkerframework:checker-qual to v3.49.3 (#4643)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 17:47:32 +00:00
da2e66c1f8 Update adventure to v4.21.0 (#4642)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-30 08:27:55 +00:00
d5d6fcb859 Update dependency gradle to v8.14 (#4638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 12:06:27 +00:00
96f73331f9 Update dependency com.intellectualsites.paster:Paster to v1.1.7 (#4635)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 13:07:09 +00:00
020947d90c Update dependency com.intellectualsites.arkitektonika:Arkitektonika-Client to v2.1.4 (#4634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 13:06:42 +00:00
7dbd0bcff8 Update dependency com.intellectualsites.informative-annotations:informative-annotations to v1.6 (#4633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-21 21:57:17 +00:00
9626302f04 Remove snapshot repositories (#4631)
* Remove snapshot repositories

Signed-off-by: Alexander Brandes <mc.cache@web.de>

* Update Papi location

Signed-off-by: Alexander Brandes <mc.cache@web.de>

---------

Signed-off-by: Alexander Brandes <mc.cache@web.de>
2025-04-21 11:34:11 +02:00
1b4a347e8b Move to new publishing portal (#4630)
* Move to new publishing portal

Signed-off-by: Alexander Brandes <mc.cache@web.de>

* Use new variables

Signed-off-by: Alexander Brandes <mc.cache@web.de>

* Try snapshot

Signed-off-by: Alexander Brandes <mc.cache@web.de>

* Back to main

Signed-off-by: Alexander Brandes <mc.cache@web.de>

---------

Signed-off-by: Alexander Brandes <mc.cache@web.de>
2025-04-20 22:20:30 +02:00
19e6ed4b9b Update dependency dev.notmyfault.serverlib:ServerLib to v2.3.7 (#4629)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-19 22:46:38 +00:00
6b1b0f2d6a Update junit5 monorepo (#4628)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-11 16:43:06 +00:00
e499bc02ec Update dependency com.diffplug.spotless to v7.0.3 (#4626)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 03:19:23 +00:00
62084fffdd Fix bad PlotPlayer#getUUID() javadocs
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2025-04-06 22:01:57 +02:00
d012f79349 Back to snapshot for development
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2025-04-06 21:51:17 +02:00
19 changed files with 117 additions and 157 deletions

View File

@ -29,18 +29,18 @@ jobs:
fi fi
- name: Publish Release - name: Publish Release
if: ${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/main'}} if: ${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/main'}}
run: ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository run: ./gradlew publishAndReleaseToMavenCentral --no-configuration-cache
env: env:
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }} ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.CENTRAL_USERNAME }}
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }} ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.CENTRAL_PASSWORD }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }} ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }} ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}
- name: Publish Snapshot - name: Publish Snapshot
if: ${{ runner.os == 'Linux' && env.STATUS != 'release' && github.event_name == 'push' && github.ref == 'refs/heads/main' }} if: ${{ runner.os == 'Linux' && env.STATUS != 'release' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
run: ./gradlew publishToSonatype run: ./gradlew publishAllPublicationsToMavenCentralRepository
env: env:
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }} ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.CENTRAL_USERNAME }}
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }} ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.CENTRAL_PASSWORD }}
- name: Publish core javadoc - name: Publish core javadoc
if: ${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/main'}} if: ${{ runner.os == 'Linux' && env.STATUS == 'release' && github.event_name == 'push' && github.ref == 'refs/heads/main'}}
uses: cpina/github-action-push-to-another-repository@main uses: cpina/github-action-push-to-another-repository@main

View File

@ -3,7 +3,7 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
repositories { repositories {
maven { maven {
name = "PlaceholderAPI" name = "PlaceholderAPI"
url = uri("https://repo.extendedclip.com/content/repositories/placeholderapi/") url = uri("https://repo.extendedclip.com/releases/")
} }
maven { maven {

View File

@ -252,6 +252,11 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
return Bukkit.getVersion(); return Bukkit.getVersion();
} }
@Override
public @NonNull String serverBrand() {
return Bukkit.getName();
}
@Override @Override
@SuppressWarnings("deprecation") // Paper deprecation @SuppressWarnings("deprecation") // Paper deprecation
public void onEnable() { public void onEnable() {

View File

@ -28,7 +28,6 @@ import com.plotsquared.core.plot.flag.implementations.CopperOxideFlag;
import com.plotsquared.core.plot.flag.implementations.MiscInteractFlag; import com.plotsquared.core.plot.flag.implementations.MiscInteractFlag;
import com.plotsquared.core.plot.flag.implementations.SculkSensorInteractFlag; import com.plotsquared.core.plot.flag.implementations.SculkSensorInteractFlag;
import com.plotsquared.core.util.PlotFlagUtil; import com.plotsquared.core.util.PlotFlagUtil;
import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.Item; import org.bukkit.entity.Item;
@ -42,31 +41,11 @@ import org.bukkit.event.block.BlockReceiveGameEvent;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Set;
import java.util.UUID; import java.util.UUID;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class BlockEventListener117 implements Listener { public class BlockEventListener117 implements Listener {
private static final Set<Material> COPPER_OXIDIZING = Set.of(
Material.COPPER_BLOCK,
Material.EXPOSED_COPPER,
Material.WEATHERED_COPPER,
Material.OXIDIZED_COPPER,
Material.CUT_COPPER,
Material.EXPOSED_CUT_COPPER,
Material.WEATHERED_CUT_COPPER,
Material.OXIDIZED_CUT_COPPER,
Material.CUT_COPPER_STAIRS,
Material.EXPOSED_CUT_COPPER_STAIRS,
Material.WEATHERED_CUT_COPPER_STAIRS,
Material.OXIDIZED_CUT_COPPER_STAIRS,
Material.CUT_COPPER_SLAB,
Material.EXPOSED_CUT_COPPER_SLAB,
Material.WEATHERED_CUT_COPPER_SLAB,
Material.OXIDIZED_CUT_COPPER_SLAB
);
@Inject @Inject
public BlockEventListener117() { public BlockEventListener117() {
} }
@ -184,7 +163,7 @@ public class BlockEventListener117 implements Listener {
if (plot == null) { if (plot == null) {
return; return;
} }
if (COPPER_OXIDIZING.contains(event.getNewState().getType())) { if (event.getNewState().getType().name().contains("COPPER")) {
if (!plot.getFlag(CopperOxideFlag.class)) { if (!plot.getFlag(CopperOxideFlag.class)) {
plot.debug("Copper could not oxide because copper-oxide = false"); plot.debug("Copper could not oxide because copper-oxide = false");
event.setCancelled(true); event.setCancelled(true);

View File

@ -88,10 +88,8 @@ import org.bukkit.Bukkit;
import org.bukkit.FluidCollisionMode; import org.bukkit.FluidCollisionMode;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState; import org.bukkit.block.BlockState;
import org.bukkit.block.Sign; import org.bukkit.block.Sign;
import org.bukkit.block.data.Waterlogged;
import org.bukkit.command.PluginCommand; import org.bukkit.command.PluginCommand;
import org.bukkit.entity.ArmorStand; import org.bukkit.entity.ArmorStand;
import org.bukkit.entity.Boat; import org.bukkit.entity.Boat;
@ -600,7 +598,11 @@ public class PlayerEventListener implements Listener {
// i.e. untrusted-visit can override deny-teleport // i.e. untrusted-visit can override deny-teleport
// this is acceptable, because otherwise it wouldn't make sense to have both flags set // this is acceptable, because otherwise it wouldn't make sense to have both flags set
if (result || (plot.getFlag(UntrustedVisitFlag.class) && plot.getHomeSynchronous().equals(BukkitUtil.adaptComplete(to)))) { if (result || (plot.getFlag(UntrustedVisitFlag.class) && plot.getHomeSynchronous().equals(BukkitUtil.adaptComplete(to)))) {
plotListener.plotEntry(pp, plot); // returns false if the player is not allowed to enter the plot (if they are denied, for example)
// don't let the move event cancel the entry after teleport, but rather catch and cancel early (#4647)
if (!plotListener.plotEntry(pp, plot)) {
event.setCancelled(true);
}
} else { } else {
pp.sendMessage( pp.sendMessage(
TranslatableCaption.of("deny.no_enter"), TranslatableCaption.of("deny.no_enter"),
@ -1370,22 +1372,7 @@ public class PlayerEventListener implements Listener {
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBucketEmpty(PlayerBucketEmptyEvent event) { public void onBucketEmpty(PlayerBucketEmptyEvent event) {
BlockFace bf = event.getBlockFace(); final Block block = event.getBlock();
// Note: a month after Bukkit 1.14.4 released, they added the API method
// PlayerBucketEmptyEvent#getBlock(), which returns the block the
// bucket contents is going to be placed at. Currently we determine this
// block ourselves to retain compatibility with 1.13.
final Block block;
// if the block can be waterlogged, the event might waterlog the block
// sometimes
if (event.getBlockClicked().getBlockData() instanceof Waterlogged waterlogged
&& !waterlogged.isWaterlogged() && event.getBucket() != Material.LAVA_BUCKET) {
block = event.getBlockClicked();
} else {
block = event.getBlockClicked().getLocation()
.add(bf.getModX(), bf.getModY(), bf.getModZ())
.getBlock();
}
Location location = BukkitUtil.adapt(block.getLocation()); Location location = BukkitUtil.adapt(block.getLocation());
PlotArea area = location.getPlotArea(); PlotArea area = location.getPlotArea();
if (area == null) { if (area == null) {

View File

@ -120,6 +120,14 @@ public interface PlotPlatform<P> extends LocaleHolder {
*/ */
@NonNull String serverImplementation(); @NonNull String serverImplementation();
/**
* Gets the server brand name
*
* @return server brand
* @since 7.5.3
*/
@NonNull String serverBrand();
/** /**
* Gets the native server code package prefix. * Gets the native server code package prefix.
* *

View File

@ -144,6 +144,7 @@ public class Buy extends Command {
plot.getPlotModificationManager().setSign(player.getName()); plot.getPlotModificationManager().setSign(player.getName());
player.sendMessage( player.sendMessage(
TranslatableCaption.of("working.claimed"), TranslatableCaption.of("working.claimed"),
TagResolver.resolver("world", Tag.inserting(Component.text(plot.getArea().getWorldName()))),
TagResolver.resolver("plot", Tag.inserting(Component.text(plot.getId().toString()))) TagResolver.resolver("plot", Tag.inserting(Component.text(plot.getId().toString())))
); );
this.eventDispatcher.callPostPlayerBuyPlot(player, previousOwner, plot, price); this.eventDispatcher.callPostPlayerBuyPlot(player, previousOwner, plot, price);

View File

@ -131,6 +131,7 @@ public class Clear extends Command {
player.sendMessage( player.sendMessage(
TranslatableCaption.of("working.clearing_done"), TranslatableCaption.of("working.clearing_done"),
TagResolver.builder() TagResolver.builder()
.tag("world", Tag.inserting(Component.text(plot.getArea().getWorldName())))
.tag("amount", Tag.inserting(Component.text(System.currentTimeMillis() - start))) .tag("amount", Tag.inserting(Component.text(System.currentTimeMillis() - start)))
.tag("plot", Tag.inserting(Component.text(plot.getId().toString()))) .tag("plot", Tag.inserting(Component.text(plot.getId().toString())))
.build() .build()

View File

@ -86,7 +86,8 @@ public class DebugPaste extends SubCommand {
b.append("# WorldEdit implementation:\n"); b.append("# WorldEdit implementation:\n");
b.append(PlotSquared.platform().worldEditImplementations()).append("\n\n"); b.append(PlotSquared.platform().worldEditImplementations()).append("\n\n");
b.append("# Server Information\n"); b.append("# Server Information\n");
b.append("Server Version: ").append(PlotSquared.platform().serverImplementation()) b.append("Server Version: ").append(PlotSquared.platform().serverBrand()).append(": ")
.append(PlotSquared.platform().serverImplementation()).append("\n")
.append("\n"); .append("\n");
b.append("online_mode: ").append(!Settings.UUID.OFFLINE).append(';') b.append("online_mode: ").append(!Settings.UUID.OFFLINE).append(';')
.append(!Settings.UUID.OFFLINE).append('\n'); .append(!Settings.UUID.OFFLINE).append('\n');

View File

@ -124,6 +124,7 @@ public class Delete extends SubCommand {
"amount", "amount",
Tag.inserting(Component.text(String.valueOf(System.currentTimeMillis() - start))) Tag.inserting(Component.text(String.valueOf(System.currentTimeMillis() - start)))
), ),
TagResolver.resolver("world", Tag.inserting(Component.text(plotArea.getWorldName()))),
TagResolver.resolver("plot", Tag.inserting(Component.text(plot.getId().toString()))) TagResolver.resolver("plot", Tag.inserting(Component.text(plot.getId().toString())))
); );
eventDispatcher.callPostDelete(plot); eventDispatcher.callPostDelete(plot);

View File

@ -444,7 +444,7 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer,
/** /**
* Get this player's UUID. * Get this player's UUID.
* === !IMPORTANT ===<br> * <p>=== !IMPORTANT ===</p>
* The UUID is dependent on the mode chosen in the settings.yml and may not be the same as Bukkit has * The UUID is dependent on the mode chosen in the settings.yml and may not be the same as Bukkit has
* (especially if using an old version of Bukkit that does not support UUIDs) * (especially if using an old version of Bukkit that does not support UUIDs)
* *

View File

@ -1717,6 +1717,7 @@ public class Plot {
} }
player.sendMessage( player.sendMessage(
TranslatableCaption.of("working.claimed"), TranslatableCaption.of("working.claimed"),
TagResolver.resolver("world", Tag.inserting(Component.text(this.getWorldName()))),
TagResolver.resolver("plot", Tag.inserting(Component.text(this.getId().toString()))) TagResolver.resolver("plot", Tag.inserting(Component.text(this.getId().toString())))
); );
if (teleport) { if (teleport) {

View File

@ -390,11 +390,11 @@
"info.area_list_tooltip": "<gold>Claimed=</gold><gray><claimed></gray>\n<gold>Usage=</gold><gray><usage></gray>\n<gold>Clusters=</gold><gray><clusters></gray>\n<gold>Region=</gold><gray><region></gray>\n<gold>Generator=</gold><gray><generator></gray>", "info.area_list_tooltip": "<gold>Claimed=</gold><gray><claimed></gray>\n<gold>Usage=</gold><gray><usage></gray>\n<gold>Clusters=</gold><gray><clusters></gray>\n<gold>Region=</gold><gray><region></gray>\n<gold>Generator=</gold><gray><generator></gray>",
"info.area_list_item": "<click:run_command:'<command_tp>'><hover:show_text:'<command_tp>'><dark_gray>[</dark_gray><gold><number></gold><dark_gray>]</dark_gray></hover></click> <click:run_command:'<command_info>'><hover:show_text:'<hover_info>'><gold><area_name></gold></hover></click><gray> - </gray><gray><area_type>:<area_terrain></gray>", "info.area_list_item": "<click:run_command:'<command_tp>'><hover:show_text:'<command_tp>'><dark_gray>[</dark_gray><gold><number></gold><dark_gray>]</dark_gray></hover></click> <click:run_command:'<command_info>'><hover:show_text:'<hover_info>'><gold><area_name></gold></hover></click><gray> - </gray><gray><area_type>:<area_terrain></gray>",
"working.generating_component": "<prefix><gold>Started generating component from your settings.</gold>", "working.generating_component": "<prefix><gold>Started generating component from your settings.</gold>",
"working.clearing_done": "<prefix><dark_aqua>Plot </dark_aqua><gold><plot></gold><dark_aqua> has been cleared! Took </dark_aqua><gold><amount>ms</gold><dark_aqua>.</dark_aqua>", "working.clearing_done": "<prefix><dark_aqua>Plot </dark_aqua><gold><world>;<plot></gold><dark_aqua> has been cleared! Took </dark_aqua><gold><amount>ms</gold><dark_aqua>.</dark_aqua>",
"working.deleting_done": "<prefix><dark_aqua>Plot </dark_aqua><gold><plot></gold><dark_aqua> has been deleted! Took </dark_aqua><gold><amount>ms</gold><dark_aqua>.</dark_aqua>", "working.deleting_done": "<prefix><dark_aqua>Plot </dark_aqua><gold><world>;<plot></gold><dark_aqua> has been deleted! Took </dark_aqua><gold><amount>ms</gold><dark_aqua>.</dark_aqua>",
"working.plot_not_claimed": "<prefix><gray>Plot not claimed.</gray>", "working.plot_not_claimed": "<prefix><gray>Plot not claimed.</gray>",
"working.plot_is_claimed": "<prefix><gray>This plot is already claimed.</gray>", "working.plot_is_claimed": "<prefix><gray>This plot is already claimed.</gray>",
"working.claimed": "<prefix><dark_aqua>You successfully claimed the plot </dark_aqua><gold><plot></gold><dark_aqua>.</dark_aqua>", "working.claimed": "<prefix><dark_aqua>You successfully claimed the plot </dark_aqua><gold><world>;<plot></gold><dark_aqua>.</dark_aqua>",
"working.progress": "<prefix><gray>Current progress: </gray><gold><progress></gold><gray>%</gray>", "working.progress": "<prefix><gray>Current progress: </gray><gold><progress></gold><gray>%</gray>",
"working.component_complete": "<prefix><gold>Component generation has finished for plot <plot>.</gold>", "working.component_complete": "<prefix><gold>Component generation has finished for plot <plot>.</gold>",
"list.comment_list_header_paged": "<gray>(Page </gray><gold><cur></gold><gray>/</gray><gold><max></gold><gray>) </gray><gold>List of <amount> comment(s):</gold>", "list.comment_list_header_paged": "<gray>(Page </gray><gold><cur></gold><gray>/</gray><gold><max></gold><gray>) </gray><gold>List of <amount> comment(s):</gold>",

View File

@ -1,5 +1,6 @@
import com.diffplug.gradle.spotless.SpotlessPlugin import com.diffplug.gradle.spotless.SpotlessPlugin
import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin
import com.vanniktech.maven.publish.SonatypeHost
import groovy.json.JsonSlurper import groovy.json.JsonSlurper
import xyz.jpenilla.runpaper.task.RunServer import xyz.jpenilla.runpaper.task.RunServer
import java.net.URI import java.net.URI
@ -7,13 +8,12 @@ import java.net.URI
plugins { plugins {
java java
`java-library` `java-library`
`maven-publish`
signing signing
alias(libs.plugins.shadow) alias(libs.plugins.shadow)
alias(libs.plugins.spotless) alias(libs.plugins.spotless)
alias(libs.plugins.grgit) alias(libs.plugins.grgit)
alias(libs.plugins.nexus) alias(libs.plugins.publish)
eclipse eclipse
idea idea
@ -22,7 +22,7 @@ plugins {
} }
group = "com.intellectualsites.plotsquared" group = "com.intellectualsites.plotsquared"
version = "7.5.2" version = "7.5.3"
if (!File("$rootDir/.git").exists()) { if (!File("$rootDir/.git").exists()) {
logger.lifecycle(""" logger.lifecycle("""
@ -41,16 +41,6 @@ subprojects {
repositories { repositories {
mavenCentral() mavenCentral()
maven {
name = "Sonatype OSS"
url = uri("https://oss.sonatype.org/content/repositories/snapshots/")
}
maven {
name = "Sonatype OSS (S01)"
url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")
}
maven { maven {
name = "Jitpack" name = "Jitpack"
url = uri("https://jitpack.io") url = uri("https://jitpack.io")
@ -68,7 +58,7 @@ subprojects {
apply { apply {
plugin<JavaPlugin>() plugin<JavaPlugin>()
plugin<JavaLibraryPlugin>() plugin<JavaLibraryPlugin>()
plugin<MavenPublishPlugin>() plugin<com.vanniktech.maven.publish.MavenPublishPlugin>()
plugin<ShadowPlugin>() plugin<ShadowPlugin>()
plugin<SpotlessPlugin>() plugin<SpotlessPlugin>()
plugin<SigningPlugin>() plugin<SigningPlugin>()
@ -79,8 +69,8 @@ subprojects {
dependencies { dependencies {
// Tests // Tests
testImplementation("org.junit.jupiter:junit-jupiter:5.12.1") testImplementation("org.junit.jupiter:junit-jupiter:5.12.2")
testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.12.1") testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.12.2")
} }
plugins.withId("java") { plugins.withId("java") {
@ -107,11 +97,6 @@ subprojects {
} }
} }
java {
withSourcesJar()
withJavadocJar()
}
val javaComponent = components["java"] as AdhocComponentWithVariants val javaComponent = components["java"] as AdhocComponentWithVariants
javaComponent.withVariantsFromConfiguration(configurations["shadowRuntimeElements"]) { javaComponent.withVariantsFromConfiguration(configurations["shadowRuntimeElements"]) {
skip() skip()
@ -127,14 +112,15 @@ subprojects {
} }
} }
publishing { mavenPublishing {
publications { coordinates(
create<MavenPublication>("maven") { groupId = "$group",
from(components["java"]) artifactId = project.name,
version = "${project.version}",
)
pom { pom {
name.set(project.name)
name.set(project.name + " " + project.version)
description.set("PlotSquared, a land and world management plugin for Minecraft.") description.set("PlotSquared, a land and world management plugin for Minecraft.")
url.set("https://github.com/IntellectualSites/PlotSquared") url.set("https://github.com/IntellectualSites/PlotSquared")
@ -185,8 +171,8 @@ subprojects {
system.set("GitHub") system.set("GitHub")
url.set("https://github.com/IntellectualSites/PlotSquared/issues") url.set("https://github.com/IntellectualSites/PlotSquared/issues")
} }
}
} publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)
} }
} }
@ -194,7 +180,6 @@ subprojects {
compileJava { compileJava {
options.compilerArgs.add("-parameters") options.compilerArgs.add("-parameters")
options.isDeprecation = true
options.encoding = "UTF-8" options.encoding = "UTF-8"
} }
@ -217,27 +202,18 @@ subprojects {
} }
} }
nexusPublishing {
this.repositories {
sonatype {
nexusUrl.set(URI.create("https://s01.oss.sonatype.org/service/local/"))
snapshotRepositoryUrl.set(URI.create("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
}
}
}
tasks.getByName<Jar>("jar") { tasks.getByName<Jar>("jar") {
enabled = false enabled = false
} }
val supportedVersions = listOf("1.19.4", "1.20.6", "1.21.1", "1.21.3", "1.21.4") val supportedVersions = listOf("1.19.4", "1.20.6", "1.21.1", "1.21.3", "1.21.4", "1.21.5")
tasks { tasks {
register("cacheLatestFaweArtifact") { register("cacheLatestFaweArtifact") {
val lastSuccessfulBuildUrl = uri("https://ci.athion.net/job/FastAsyncWorldEdit/lastSuccessfulBuild/api/json").toURL() val lastSuccessfulBuildUrl = uri("https://ci.athion.net/job/FastAsyncWorldEdit/lastSuccessfulBuild/api/json").toURL()
val artifact = ((JsonSlurper().parse(lastSuccessfulBuildUrl) as Map<*, *>)["artifacts"] as List<*>) val artifact = ((JsonSlurper().parse(lastSuccessfulBuildUrl) as Map<*, *>)["artifacts"] as List<*>)
.map { it as Map<*, *> } .map { it as Map<*, *> }
.map { it["fileName"] as String } .map { it["fileName"] as String }
.first { it -> it.contains("Bukkit") } .first { it -> it.contains("Paper") }
project.ext["faweArtifact"] = artifact project.ext["faweArtifact"] = artifact
} }

View File

@ -3,12 +3,12 @@
paper = "1.20.4-R0.1-SNAPSHOT" paper = "1.20.4-R0.1-SNAPSHOT"
guice = "7.0.0" guice = "7.0.0"
spotbugs = "4.9.3" spotbugs = "4.9.3"
checkerqual = "3.49.2" checkerqual = "3.49.3"
gson = "2.10" gson = "2.10"
guava = "31.1-jre" guava = "31.1-jre"
snakeyaml = "2.0" snakeyaml = "2.0"
adventure = "4.20.0" adventure = "4.21.0"
adventure-bukkit = "4.3.4" adventure-bukkit = "4.4.0"
log4j = "2.19.0" log4j = "2.19.0"
# Plugins # Plugins
@ -23,20 +23,20 @@ mvdwapi = "3.1.1"
prtree = "2.0.1" prtree = "2.0.1"
aopalliance = "1.0" aopalliance = "1.0"
cloud-services = "1.8.4" cloud-services = "1.8.4"
arkitektonika = "2.1.3" arkitektonika = "2.1.4"
squirrelid = "0.3.2" squirrelid = "0.3.2"
paster = "1.1.6" paster = "1.1.7"
bstats = "3.1.0" bstats = "3.1.0"
paperlib = "1.0.8" paperlib = "1.0.8"
informative-annotations = "1.5" informative-annotations = "1.6"
vault = "1.7.1" vault = "1.7.1"
serverlib = "2.3.6" serverlib = "2.3.7"
# Gradle plugins # Gradle plugins
shadow = "8.3.6" shadow = "8.3.6"
grgit = "4.1.1" grgit = "4.1.1"
spotless = "7.0.2" spotless = "7.0.3"
nexus = "2.0.0" publish = "0.32.0"
runPaper = "2.3.1" runPaper = "2.3.1"
[libraries] [libraries]
@ -81,5 +81,5 @@ serverlib = { group = "dev.notmyfault.serverlib", name = "ServerLib", version.re
shadow = { id = "com.gradleup.shadow", version.ref = "shadow" } shadow = { id = "com.gradleup.shadow", version.ref = "shadow" }
grgit = { id = "org.ajoberstar.grgit", version.ref = "grgit" } grgit = { id = "org.ajoberstar.grgit", version.ref = "grgit" }
spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
nexus = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "nexus" } publish = { id = "com.vanniktech.maven.publish", version.ref = "publish" }
runPaper = { id = "xyz.jpenilla.run-paper", version.ref = "runPaper" } runPaper = { id = "xyz.jpenilla.run-paper", version.ref = "runPaper" }

Binary file not shown.

View File

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

4
gradlew vendored
View File

@ -114,7 +114,7 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;; NONSTOP* ) nonstop=true ;;
esac esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM. # Determine the Java command to use to start the JVM.
@ -213,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \ set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \ "-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \ -classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@" "$@"
# Stop when "xargs" is not available. # Stop when "xargs" is not available.

4
gradlew.bat vendored
View File

@ -70,11 +70,11 @@ goto fail
:execute :execute
@rem Setup the command line @rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar set CLASSPATH=
@rem Execute Gradle @rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end :end
@rem End local scope for the variables with windows NT shell @rem End local scope for the variables with windows NT shell