Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
7a440d6
Update gradle/actions action to v6 (#4850)
renovate[bot] Mar 30, 2026
dd66c68
Update dependency com.gradleup.shadow to v9.4.1 (#4849)
renovate[bot] Mar 30, 2026
e224aa2
fix(WorldGen): Schematics chest inventory contents aren't pasted corr…
EinJOJO Apr 4, 2026
e711759
Update dependency org.checkerframework:checker-qual to v3.55.1 (#4854)
renovate[bot] Apr 6, 2026
3c0b10e
Fix fire aspect swords being able to destroy boats on other people's …
florianreuth Apr 12, 2026
7ad7150
Update dependency org.checkerframework:checker-qual to v4 (#4856)
renovate[bot] Apr 13, 2026
25b654a
Update dependency org.checkerframework:checker-qual to v4.1.0 (#4860)
renovate[bot] May 4, 2026
a17fd9f
Update Gradle to v9.5.0 (#4861)
renovate[bot] May 4, 2026
062bcbd
fix: regenallroads logging, cancellation, correct equality check (#4857)
dordsor21 May 23, 2026
31c6e5f
Update fawe to v2.15.1 (#4866)
renovate[bot] May 23, 2026
cb8164e
Update Gradle to v9.5.1 (#4867)
renovate[bot] May 23, 2026
ed26289
Update dependency com.diffplug.spotless to v8.5.1 (#4868)
renovate[bot] May 23, 2026
ed4e8e3
Update junit-framework monorepo to v6.1.0 (#4869)
renovate[bot] May 23, 2026
d0886e2
Release 7.5.13
NotMyFault May 23, 2026
c76fdc9
Back to snapshot for development
NotMyFault May 23, 2026
814f364
fix: support new minecraft version format (#4871)
PierreSchwang May 24, 2026
23df0cd
Remove dead link
NotMyFault May 24, 2026
063af15
Update dependency com.gradleup.shadow to v9.4.2 (#4879)
renovate[bot] Jun 1, 2026
4f0251e
Update dependency com.diffplug.spotless to v8.6.0 (#4880)
renovate[bot] Jun 1, 2026
b0c3f30
fix: only migrate flags if column is present (#4876)
PierreSchwang Jun 4, 2026
405157f
chore/fix: compare patch version in MinecraftVersion (#4877)
PierreSchwang Jun 4, 2026
f358a83
fix: fix a specific situation where a merge can fail but take money s…
dordsor21 Jun 4, 2026
4adef08
Update checkerqual to v4.2.0 (#4881)
renovate[bot] Jun 4, 2026
c61575e
Update eps1lon/actions-label-merge-conflict action to v3.1.0 (#4882)
renovate[bot] Jun 4, 2026
53eead4
Update fawe to v2.15.2 (#4884)
renovate[bot] Jun 8, 2026
c904075
Remove redundant permission checks for Flag List Command (#4747)
gamecrash534 Jun 14, 2026
b43e66f
fix: include lightning rod in copper oxide flag (#4886)
florianreuth Jun 14, 2026
2df565c
Update spotbugs to v4.10.2 (#4888)
renovate[bot] Jun 15, 2026
1b99897
Update Gradle to v9.6.0 (#4889)
renovate[bot] Jun 22, 2026
043f609
Update publish to v0.37.0 (#4890)
renovate[bot] Jun 22, 2026
6a9b1d9
Update dependency com.gradleup.shadow to v9.4.3 (#4896)
renovate[bot] Jul 6, 2026
b689203
Update dependency me.clip:placeholderapi to v2.12.3 (#4897)
renovate[bot] Jul 6, 2026
f838025
Update dependency org.checkerframework:checker-qual to v4.2.1 (#4899)
renovate[bot] Jul 13, 2026
38d2828
Update dependency com.github.spotbugs:spotbugs-annotations to v4.10.3…
renovate[bot] Jul 13, 2026
aac990d
Update fawe to v2.15.3 (#4903)
renovate[bot] Jul 20, 2026
93d5925
Update Gradle to v9.6.1 (#4904)
renovate[bot] Jul 20, 2026
96d2183
Add Minecraft version 26.2 (CHAOS_CUBED) to MinecraftVersion class
MattBDev Jul 21, 2026
655c7ec
Update dependency com.diffplug.spotless to v8.8.0 (#4909)
renovate[bot] Jul 27, 2026
27e33e7
Update junit-framework monorepo to v6.1.2 (#4908)
renovate[bot] Jul 27, 2026
c6d0c80
fix: replace broken PaperLib (#4906)
NotMyFault Jul 31, 2026
befb3db
Update dependency com.gradleup.shadow to v9.6.1 (#4913)
renovate[bot] Aug 3, 2026
6dc534d
Update dependency com.diffplug.spotless to v8.9.0 (#4912)
renovate[bot] Aug 3, 2026
2a408e1
Merge branch 'totorix-main' into upstream
Offensichtliches Aug 9, 2026
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
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ body:
- type: input
attributes:
label: Error log (if applicable)
description: If you are reporting a console error, upload any relevant log excerpts to either https://paste.gg/ or https://gist.github.com, save and the paste the link in this box.
description: If you are reporting a console error, upload any relevant log excerpts to https://gist.github.com, save and the paste the link in this box.

- type: input
attributes:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v5
uses: gradle/actions/wrapper-validation@v6
- name: Setup Java
uses: actions/setup-java@v5
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v5
uses: gradle/actions/wrapper-validation@v6
- name: Setup Java
uses: actions/setup-java@v5
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/label-merge-conflicts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Label conflicting PRs
uses: eps1lon/actions-label-merge-conflict@v3.0.3
uses: eps1lon/actions-label-merge-conflict@v3.1.0
with:
dirtyLabel: "unresolved-merge-conflict"
repoToken: "${{ secrets.GITHUB_TOKEN }}"
Expand Down
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -138,5 +138,4 @@ build/

.DS_Store
# Ignore run folders
run-[0-9].[0-9][0-9]/
run-[0-9].[0-9][0-9].[0-9]/
run-*/
2 changes: 0 additions & 2 deletions Bukkit/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ dependencies {

// Paper
compileOnly(libs.paper)
implementation(libs.paperlib)

// Plugins
compileOnly(libs.worldeditBukkit)
Expand Down Expand Up @@ -78,7 +77,6 @@ tasks.named<ShadowJar>("shadowJar") {
relocate("net.kyori.option", "com.plotsquared.core.configuration.option")
relocate("net.kyori.adventure", "com.plotsquared.core.configuration.adventure")
relocate("net.kyori.examination", "com.plotsquared.core.configuration.examination")
relocate("io.papermc.lib", "com.plotsquared.bukkit.paperlib")
relocate("org.bstats", "com.plotsquared.metrics")
relocate("org.enginehub", "com.plotsquared.squirrelid")
relocate("org.khelekore.prtree", "com.plotsquared.prtree")
Expand Down
26 changes: 16 additions & 10 deletions Bukkit/src/main/java/com/plotsquared/bukkit/BukkitPlatform.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
import com.plotsquared.bukkit.player.BukkitPlayerManager;
import com.plotsquared.bukkit.util.BukkitUtil;
import com.plotsquared.bukkit.util.BukkitWorld;
import com.plotsquared.bukkit.util.PaperSupport;
import com.plotsquared.bukkit.util.SetGenCB;
import com.plotsquared.bukkit.util.TranslationUpdateManager;
import com.plotsquared.bukkit.util.UpdateUtility;
Expand Down Expand Up @@ -100,6 +101,7 @@
import com.plotsquared.core.setup.SettingsNodesWrapper;
import com.plotsquared.core.util.EventDispatcher;
import com.plotsquared.core.util.FileUtils;
import com.plotsquared.core.util.MinecraftVersion;
import com.plotsquared.core.util.PlatformWorldManager;
import com.plotsquared.core.util.PlayerManager;
import com.plotsquared.core.util.PremiumVerification;
Expand All @@ -113,7 +115,6 @@
import com.plotsquared.core.uuid.offline.OfflineModeUUIDService;
import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import io.papermc.lib.PaperLib;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
Expand Down Expand Up @@ -237,14 +238,19 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl
return this.version;
}

@Override
public MinecraftVersion minecraftVersion() {
return MinecraftVersion.current();
}

@Override
public int versionMinHeight() {
return serverVersion()[1] >= 18 ? -64 : 0;
return minecraftVersion().isNewerOrEqualThan(MinecraftVersion.CAVES_AND_CLIFFS_2) ? -64 : 0;
}

@Override
public int versionMaxHeight() {
return serverVersion()[1] >= 18 ? 319 : 255;
return minecraftVersion().isNewerOrEqualThan(MinecraftVersion.CAVES_AND_CLIFFS_2) ? 319 : 255;
}

@Override
Expand All @@ -263,7 +269,7 @@ public void onEnable() {
this.pluginName = getDescription().getName();

final TaskTime.TimeConverter timeConverter;
if (PaperLib.isPaper()) {
if (PaperSupport.isPaper()) {
timeConverter = new PaperTimeConverter();
} else {
timeConverter = new SpigotTimeConverter();
Expand Down Expand Up @@ -337,7 +343,7 @@ public void onEnable() {
try {
plotSquared.setConfigurationVersion("v5");
} catch (final Exception e) {
e.printStackTrace();
LOGGER.error("Failed to update configuration version", e);
}
}
}
Expand All @@ -364,21 +370,21 @@ public void onEnable() {

if (Settings.Enabled_Components.EVENTS) {
getServer().getPluginManager().registerEvents(injector().getInstance(PlayerEventListener.class), this);
if ((serverVersion()[1] == 20 && serverVersion()[2] >= 1) || serverVersion()[1] > 20) {
if (minecraftVersion().isNewerOrEqualThan(20, 1)) {
getServer().getPluginManager().registerEvents(injector().getInstance(PlayerEventListener1201.class), this);
}
getServer().getPluginManager().registerEvents(injector().getInstance(BlockEventListener.class), this);
if (Settings.HIGH_FREQUENCY_LISTENER) {
getServer().getPluginManager().registerEvents(injector().getInstance(HighFreqBlockEventListener.class), this);
}
if (serverVersion()[1] >= 17) {
if (minecraftVersion().isNewerOrEqualThan(MinecraftVersion.CAVES_AND_CLIFFS)) {
getServer().getPluginManager().registerEvents(injector().getInstance(BlockEventListener117.class), this);
}
getServer().getPluginManager().registerEvents(injector().getInstance(EntityEventListener.class), this);
getServer().getPluginManager().registerEvents(injector().getInstance(ProjectileEventListener.class), this);
getServer().getPluginManager().registerEvents(injector().getInstance(ServerListener.class), this);
getServer().getPluginManager().registerEvents(injector().getInstance(EntitySpawnListener.class), this);
if (PaperLib.isPaper() && Settings.Paper_Components.PAPER_LISTENERS) {
if (PaperSupport.isPaper() && Settings.Paper_Components.PAPER_LISTENERS) {
getServer().getPluginManager().registerEvents(injector().getInstance(PaperListener.class), this);
} else {
getServer().getPluginManager().registerEvents(injector().getInstance(SpigotListener.class), this);
Expand Down Expand Up @@ -501,7 +507,7 @@ public void onEnable() {

if (!Settings.UUID.OFFLINE) {
// If running Paper we'll also try to use their profiles
if (Bukkit.getOnlineMode() && PaperLib.isPaper() && Settings.UUID.SERVICE_PAPER) {
if (Bukkit.getOnlineMode() && PaperSupport.isPaper() && Settings.UUID.SERVICE_PAPER) {
final PaperUUIDService paperUUIDService = new PaperUUIDService();
this.impromptuPipeline.registerService(paperUUIDService);
this.backgroundPipeline.registerService(paperUUIDService);
Expand Down Expand Up @@ -787,7 +793,7 @@ private void runEntityTask() {
while (iterator.hasNext()) {
Entity entity = iterator.next();
//noinspection ConstantValue - getEntitySpawnReason annotated as NotNull, but is not NotNull. lol.
if (PaperLib.isPaper() && entity.getEntitySpawnReason() != null && "CUSTOM".equals(entity.getEntitySpawnReason().name())) {
if (PaperSupport.isPaper() && entity.getEntitySpawnReason() != null && "CUSTOM".equals(entity.getEntitySpawnReason().name())) {
continue;
}
// Fallback for Spigot not having Entity#getEntitySpawnReason
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public static BukkitAugmentedGenerator get(World world) {
@Override
public void populate(@NonNull World world, @NonNull Random random, @NonNull Chunk source) {
QueueCoordinator queue = PlotSquared.platform().globalBlockQueue().getNewQueue(BukkitAdapter.adapt(world));
// The chunk is already loaded and we do not want to load the chunk in "fully" by using any PaperLib methods.
// The chunk is already loaded and we do not want to load the chunk in "fully" by using any Paper methods.
queue.setForceSync(true);
queue.setSideEffectSet(SideEffectSet.none());
queue.setBiomesEnabled(false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import com.plotsquared.core.plot.world.PlotAreaManager;
import com.plotsquared.core.queue.ZeroedDelegateScopedQueueCoordinator;
import com.plotsquared.core.util.ChunkManager;
import com.plotsquared.core.util.MinecraftVersion;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.math.BlockVector2;
import com.sk89q.worldedit.math.BlockVector3;
Expand Down Expand Up @@ -90,14 +91,13 @@ public BukkitPlotGenerator(
this.plotGenerator = generator;
this.platformGenerator = this;
this.populators = new ArrayList<>();
int minecraftMinorVersion = PlotSquared.platform().serverVersion()[1];
if (minecraftMinorVersion >= 17) {
if (MinecraftVersion.current().isNewerOrEqualThan(MinecraftVersion.CAVES_AND_CLIFFS)) {
this.populators.add(new BlockStatePopulator(this.plotGenerator));
} else {
this.populators.add(new LegacyBlockStatePopulator(this.plotGenerator));
}
this.full = true;
this.useNewGenerationMethods = PlotSquared.platform().serverVersion()[1] >= 19;
this.useNewGenerationMethods = MinecraftVersion.current().isNewerOrEqualThan(MinecraftVersion.THE_WILD_UPDATE);
this.biomeProvider = new BukkitPlotBiomeProvider();
}

Expand All @@ -112,7 +112,7 @@ public BukkitPlotGenerator(final String world, final ChunkGenerator cg, final @N
this.full = false;
this.platformGenerator = cg;
this.plotGenerator = new DelegatePlotGenerator(cg, world);
this.useNewGenerationMethods = PlotSquared.platform().serverVersion()[1] >= 19;
this.useNewGenerationMethods = MinecraftVersion.current().isNewerOrEqualThan(MinecraftVersion.THE_WILD_UPDATE);
this.biomeProvider = null;
}

Expand Down Expand Up @@ -446,7 +446,7 @@ private final class BukkitPlotBiomeProvider extends BiomeProvider {

static {
Set<Biome> disabledBiomes = new HashSet<>(List.of(Biome.CUSTOM));
if (PlotSquared.platform().serverVersion()[1] <= 19) {
if (MinecraftVersion.current().isOlderOrEqualThan(MinecraftVersion.THE_WILD_UPDATE)) {
final Biome cherryGrove = Registry.BIOME.get(NamespacedKey.minecraft("cherry_grove"));
if (cherryGrove != null) {
disabledBiomes.add(cherryGrove);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,8 @@ public void onBlockForm(BlockFormEvent event) {
if (plot == null) {
return;
}
if (event.getNewState().getType().name().contains("COPPER")) {
String newTypeName = event.getNewState().getType().name();
if (newTypeName.contains("COPPER") || newTypeName.contains("LIGHTNING_ROD")) {
if (!plot.getFlag(CopperOxideFlag.class)) {
plot.debug("Copper could not oxide because copper-oxide = false");
event.setCancelled(true);
Expand Down
Loading
Loading