Compare commits

...

20 Commits

Author SHA1 Message Date
f20c5f46e3 Release 7.3.8
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-04-16 16:37:46 +02:00
4db5954490 Update dependency com.intellectualsites.informative-annotations:informative-annotations to v1.5 2024-04-15 21:31:02 +00:00
9f68654614 Update dependency com.intellectualsites.arkitektonika:Arkitektonika-Client to v2.1.3 2024-04-15 20:50:20 +00:00
2e4c6199e5 Update dependency com.intellectualsites.paster:Paster to v1.1.6 2024-04-15 20:50:00 +00:00
7edca600fd Introduce 'skip.signing' property (#4398)
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-04-15 19:39:54 +02:00
bc1cc074b8 Make builds reproducible (#4395)
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-04-14 21:04:01 +02:00
d383187c6e Update dependency dev.notmyfault.serverlib:ServerLib to v2.3.6 2024-04-14 13:00:22 +00:00
125a3f6772 Update dependency dev.notmyfault.serverlib:ServerLib to v2.3.5 2024-04-14 10:20:45 +00:00
faca8c2da0 Update wrapper action
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-04-14 10:37:08 +02:00
0ad5ef4f94 Update gradle/wrapper-validation-action action to v3 2024-04-12 21:33:57 +00:00
5e8d8629c2 fix: skip valid location check for world plots (#4388)
- Checking location on teleport to a single plot means the bukkit world is attempted to be accessed before it is loaded
 - we can just skip this check because we know the player will teleport to a reasonable location
2024-04-12 20:55:22 +02:00
9f4f213a8c fix plot music volume to span full plot (#4391)
fix: plot music volume to span full plot
2024-04-12 20:55:09 +02:00
ce14036949 Update dependency com.github.spotbugs:spotbugs-annotations to v4.8.4 2024-04-07 17:22:04 +00:00
2dbb6ee025 Update dependency io.github.gradle-nexus.publish-plugin to v2 2024-04-06 01:23:47 +00:00
0da1d9f17a Update fawe to v2.9.2 2024-04-04 22:38:19 +00:00
f1f41b0523 Back to snapshot for development
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-04-04 21:51:55 +02:00
fe324d3ea9 Release 7.3.7
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-04-04 21:47:43 +02:00
ff83868cbc Add a placeholder for grants (#4380)
* Add a placeholder for grants

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

* Address feedback

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

---------

Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-03-30 18:30:40 +01:00
111ea7029e fix: allow trusted players to remove books from lecterns while lectern-read-book flag is true (#4336)
allow trusted players to remove books from lecterns
2024-03-30 10:31:04 +01:00
9be2eedf7f fix-armor-stand-caps (#4355) 2024-03-30 10:30:37 +01:00
13 changed files with 38 additions and 20 deletions

View File

@ -11,7 +11,7 @@ jobs:
- name: Checkout Repository - name: Checkout Repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Validate Gradle Wrapper - name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2 uses: gradle/actions/wrapper-validation@v3
- name: Setup Java - name: Setup Java
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:

View File

@ -11,7 +11,7 @@ jobs:
- name: Checkout Repository - name: Checkout Repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Validate Gradle Wrapper - name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2 uses: gradle/actions/wrapper-validation@v3
- name: Setup Java - name: Setup Java
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:

View File

@ -113,5 +113,6 @@ tasks {
opt.encoding("UTF-8") opt.encoding("UTF-8")
opt.keyWords() opt.keyWords()
opt.addStringOption("-since", isRelease) opt.addStringOption("-since", isRelease)
opt.noTimestamp()
} }
} }

View File

@ -154,7 +154,7 @@ public class EntitySpawnListener implements Listener {
if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) { if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot)) {
event.setCancelled(true); event.setCancelled(true);
} }
if (type == EntityType.ENDER_CRYSTAL) { if (type == EntityType.ENDER_CRYSTAL || type == EntityType.ARMOR_STAND) {
if (BukkitEntityUtil.checkEntity(entity, plot)) { if (BukkitEntityUtil.checkEntity(entity, plot)) {
event.setCancelled(true); event.setCancelled(true);
} }

View File

@ -1936,7 +1936,9 @@ public class PlayerEventListener implements Listener {
@EventHandler @EventHandler
public void onPlayerTakeLecternBook(PlayerTakeLecternBookEvent event) { public void onPlayerTakeLecternBook(PlayerTakeLecternBookEvent event) {
Location location = BukkitUtil.adapt(event.getPlayer().getLocation()); Player player = event.getPlayer();
BukkitPlayer pp = BukkitUtil.adapt(player);
Location location = pp.getLocation();
PlotArea area = location.getPlotArea(); PlotArea area = location.getPlotArea();
if (area == null) { if (area == null) {
return; return;
@ -1948,10 +1950,12 @@ public class PlayerEventListener implements Listener {
} }
return; return;
} }
if (!plot.isAdded(pp.getUUID())) {
if (plot.getFlag(LecternReadBookFlag.class)) { if (plot.getFlag(LecternReadBookFlag.class)) {
plot.debug(event.getPlayer().getName() + " could not take the book because of lectern-read-book = true"); plot.debug(event.getPlayer().getName() + " could not take the book because of lectern-read-book = true");
event.setCancelled(true); event.setCancelled(true);
} }
} }
}
} }

View File

@ -326,7 +326,7 @@ public class BukkitPlayer extends PlotPlayer<Player> {
return; return;
} }
this.player.playSound(BukkitUtil.adapt(location), Sound.valueOf(BukkitAdapter.adapt(id).name()), this.player.playSound(BukkitUtil.adapt(location), Sound.valueOf(BukkitAdapter.adapt(id).name()),
SoundCategory.MUSIC, 1f, 1f SoundCategory.MUSIC, Float.MAX_VALUE, 1f
); );
} }

View File

@ -78,5 +78,6 @@ tasks {
opt.encoding("UTF-8") opt.encoding("UTF-8")
opt.keyWords() opt.keyWords()
opt.addStringOption("-since", isRelease) opt.addStringOption("-since", isRelease)
opt.noTimestamp()
} }
} }

View File

@ -2574,7 +2574,7 @@ public class Plot {
*/ */
public void teleportPlayer(final PlotPlayer<?> player, TeleportCause cause, Consumer<Boolean> resultConsumer) { public void teleportPlayer(final PlotPlayer<?> player, TeleportCause cause, Consumer<Boolean> resultConsumer) {
Plot plot = this.getBasePlot(false); Plot plot = this.getBasePlot(false);
if (!WorldUtil.isValidLocation(plot.getBottomAbs())) { if ((getArea() == null || !(getArea() instanceof SinglePlotArea)) && !WorldUtil.isValidLocation(plot.getBottomAbs())) {
// prevent from teleporting into unsafe regions // prevent from teleporting into unsafe regions
player.sendMessage(TranslatableCaption.of("border.denied")); player.sendMessage(TranslatableCaption.of("border.denied"));
resultConsumer.accept(false); resultConsumer.accept(false);

View File

@ -23,7 +23,7 @@ import com.plotsquared.core.plot.flag.types.BooleanFlag;
import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.NonNull;
/** /**
* @since TODO * @since 7.3.7
*/ */
public class TileDropFlag extends BooleanFlag<TileDropFlag> { public class TileDropFlag extends BooleanFlag<TileDropFlag> {

View File

@ -37,7 +37,7 @@ import java.util.List;
public class SinglePlotManager extends PlotManager { public class SinglePlotManager extends PlotManager {
private static final int MAX_COORDINATE = 30000000; private static final int MAX_COORDINATE = 20000000;
public SinglePlotManager(final @NonNull PlotArea plotArea) { public SinglePlotManager(final @NonNull PlotArea plotArea) {
super(plotArea); super(plotArea);

View File

@ -27,6 +27,8 @@ import com.plotsquared.core.PlotSquared;
import com.plotsquared.core.configuration.Settings; import com.plotsquared.core.configuration.Settings;
import com.plotsquared.core.configuration.caption.LocaleHolder; import com.plotsquared.core.configuration.caption.LocaleHolder;
import com.plotsquared.core.configuration.caption.TranslatableCaption; import com.plotsquared.core.configuration.caption.TranslatableCaption;
import com.plotsquared.core.player.MetaDataAccess;
import com.plotsquared.core.player.PlayerMetaDataKeys;
import com.plotsquared.core.player.PlotPlayer; import com.plotsquared.core.player.PlotPlayer;
import com.plotsquared.core.plot.Plot; import com.plotsquared.core.plot.Plot;
import com.plotsquared.core.plot.flag.GlobalFlagContainer; import com.plotsquared.core.plot.flag.GlobalFlagContainer;
@ -197,6 +199,11 @@ public final class PlaceholderRegistry {
}); });
this.createPlaceholder("currentplot_biome", (player, plot) -> plot.getBiomeSynchronous().toString()); this.createPlaceholder("currentplot_biome", (player, plot) -> plot.getBiomeSynchronous().toString());
this.createPlaceholder("currentplot_size", (player, plot) -> String.valueOf(plot.getConnectedPlots().size())); this.createPlaceholder("currentplot_size", (player, plot) -> String.valueOf(plot.getConnectedPlots().size()));
this.createPlaceholder("total_grants", player -> {
try (final MetaDataAccess<Integer> metaDataAccess = player.accessPersistentMetaData(PlayerMetaDataKeys.PERSISTENT_GRANTED_PLOTS)) {
return Integer.toString(metaDataAccess.get().orElse(0));
}
});
} }
/** /**

View File

@ -22,7 +22,7 @@ plugins {
} }
group = "com.intellectualsites.plotsquared" group = "com.intellectualsites.plotsquared"
version = "7.3.7-SNAPSHOT" version = "7.3.8"
if (!File("$rootDir/.git").exists()) { if (!File("$rootDir/.git").exists()) {
logger.lifecycle(""" logger.lifecycle("""
@ -118,7 +118,7 @@ subprojects {
} }
signing { signing {
if (!version.toString().endsWith("-SNAPSHOT")) { if (!project.hasProperty("skip.signing") && !version.toString().endsWith("-SNAPSHOT")) {
val signingKey: String? by project val signingKey: String? by project
val signingPassword: String? by project val signingPassword: String? by project
useInMemoryPgpKeys(signingKey, signingPassword) useInMemoryPgpKeys(signingKey, signingPassword)
@ -209,6 +209,11 @@ subprojects {
test { test {
useJUnitPlatform() useJUnitPlatform()
} }
withType<AbstractArchiveTask>().configureEach {
isPreserveFileTimestamps = false
isReproducibleFileOrder = true
}
} }
} }

View File

@ -2,7 +2,7 @@
# Platform expectations # Platform expectations
paper = "1.20.2-R0.1-SNAPSHOT" paper = "1.20.2-R0.1-SNAPSHOT"
guice = "7.0.0" guice = "7.0.0"
spotbugs = "4.8.3" spotbugs = "4.8.4"
checkerqual = "3.42.0" checkerqual = "3.42.0"
gson = "2.10" gson = "2.10"
guava = "31.1-jre" guava = "31.1-jre"
@ -13,7 +13,7 @@ log4j = "2.19.0"
# Plugins # Plugins
worldedit = "7.2.20" worldedit = "7.2.20"
fawe = "2.9.1" fawe = "2.9.2"
placeholderapi = "2.11.5" placeholderapi = "2.11.5"
luckperms = "5.4" luckperms = "5.4"
essentialsx = "2.20.1" essentialsx = "2.20.1"
@ -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.2" arkitektonika = "2.1.3"
squirrelid = "0.3.2" squirrelid = "0.3.2"
paster = "1.1.5" paster = "1.1.6"
bstats = "3.0.2" bstats = "3.0.2"
paperlib = "1.0.8" paperlib = "1.0.8"
informative-annotations = "1.4" informative-annotations = "1.5"
vault = "1.7.1" vault = "1.7.1"
serverlib = "2.3.4" serverlib = "2.3.6"
# Gradle plugins # Gradle plugins
shadow = "8.1.1" shadow = "8.1.1"
grgit = "4.1.1" grgit = "4.1.1"
spotless = "6.25.0" spotless = "6.25.0"
nexus = "1.3.0" nexus = "2.0.0"
runPaper = "2.2.3" runPaper = "2.2.3"
[libraries] [libraries]