mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2025-01-10 10:28:21 +01:00
928f1eb1eb
* Version 1.20.1 * Added name of the addon causing the issue. https://github.com/BentoBoxWorld/BentoBox/issues/1944 * Use world min-height for island bounding box. * Fixes a bug when fallback could not use reusable There was an issue in PanelItemTemplate that prevented fallback buttons to be "reusable" things. The issue was that reusable items were not passed to the panel item reader. * Adjusted test to try to avoid errors * Fix for random test failures. * Added 1.18.2 support * Address unnecessary PVP reports on each teleport (#1948) If a player is teleporting on the same island in the same dimension, it keeps spamming that PVP is enabled in dimension. It should be enough with sending messages when the player teleports to the island. Fixes #1885 * Fixes bug with Safe Spot Teleport (#1951) There was a bug that prevented finding a safe spot if all valid blocks were in height with the `startY` location. Reported via discord. * Fix Exception error reported by IDE I am not sure why Eclipse is saying this is an error. * Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 * Add an option in SafeSpotTeleport to cancel if fail (#1952) There was no option to cancel teleportation if SafeSpotTeleport could not find a valid spot. This option could be used to avoid creating "backup" blocks in situations when teleportation is avoidable, f.e. visiting an island. * Replace peplaceAll with replace It does the same thing if the first argument is not a regex. * Use constants for common strings * Use constants for common strings * Go back to replaceAll This is required. * Clearer paster (#1953) * WIP - make easier to understand. * Small refactor of paster to make it easier to understand * Fix tabs to spaces. Sorry - new editor! * Fix tabs to spaces * Fix tab to spaces * Improve team kick command (#1957) The kick command has an unnecessary owner check. As command should be configurable by island owners, then limiting it to an owner is wrong. Add a code that allows kicking only lower-ranked players. Add message that shows who kicked from the island. Add message that shows that rank does not allow to kick. * Solve crashes with Addon#allLoaded call (#1959) If some addon has code in Addon#allLoaded that crashes the call, then it did not disable addon as well as did not call allLoaded for every other addon that was left in the list. This should be solved by adding an extra try-catch. * using java 16 syntax (#1958) * Fixes kick command (#1960) PR #1957 broke kick command and noone could kick players from teams. This should fix it. * Fixes a bug with blueprint height (#1961) Blueprint clipboard was preventing setting Y below 0 or above 255. The code was not adjusted to 1.18 changes. Reported via discord. * Fixes Lava Duplication Glitch (#1964) Due to the fact, that Obsidian Scooping uses one tick delay to remove obsidian, a player with a bucket in hand and offhand duplicated lava. To avoid that, added an extra check that ignores the interact event if a player holds a bucket in both hands, and interacted hand is offhand. Fixes #1963 * Fixes failures in obsidian cooping listener. (#1965) Failures happened after implementing #1964 Co-authored-by: BONNe <bonne@bonne.id.lv> Co-authored-by: Invvk <70810073+Invvk@users.noreply.github.com>
518 lines
21 KiB
XML
518 lines
21 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>world.bentobox</groupId>
|
|
<artifactId>bentobox</artifactId>
|
|
<version>${revision}</version>
|
|
|
|
<name>BentoBox</name>
|
|
<description>Highly scalable and customizable Minecraft Spigot plugin that enables you to run island-type gamemodes.</description>
|
|
<url>https://github.com/BentoBoxWorld/BentoBox</url>
|
|
<inceptionYear>2017</inceptionYear>
|
|
|
|
<developers>
|
|
<developer>
|
|
<id>Poslovitch</id>
|
|
<email>poslovitch@bentobox.world</email>
|
|
<timezone>1</timezone>
|
|
<roles>
|
|
<role>Project Manager</role>
|
|
<role>Developer</role>
|
|
</roles>
|
|
</developer>
|
|
<developer>
|
|
<id>tastybento</id>
|
|
<email>tastybento@bentobox.world</email>
|
|
<timezone>-8</timezone>
|
|
<roles>
|
|
<role>Developer</role>
|
|
</roles>
|
|
</developer>
|
|
</developers>
|
|
|
|
<scm>
|
|
<connection>scm:git:https://github.com/BentoBoxWorld/BentoBox.git</connection>
|
|
<developerConnection>scm:git:git@github.com:BentoBoxWorld/BentoBox.git</developerConnection>
|
|
<url>https://github.com/BentoBoxWorld/BentoBox</url>
|
|
</scm>
|
|
|
|
<ciManagement>
|
|
<system>jenkins</system>
|
|
<url>https://ci.codemc.org/job/BentoBoxWorld/job/BentoBox</url>
|
|
</ciManagement>
|
|
|
|
<issueManagement>
|
|
<system>GitHub</system>
|
|
<url>https://github.com/BentoBoxWorld/BentoBox/issues</url>
|
|
</issueManagement>
|
|
|
|
<distributionManagement>
|
|
<snapshotRepository>
|
|
<id>codemc-snapshots</id>
|
|
<url>https://repo.codemc.org/repository/maven-snapshots</url>
|
|
</snapshotRepository>
|
|
<repository>
|
|
<id>codemc-releases</id>
|
|
<url>https://repo.codemc.org/repository/maven-releases</url>
|
|
</repository>
|
|
</distributionManagement>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
<java.version>16</java.version>
|
|
<!-- Non-minecraft related dependencies -->
|
|
<powermock.version>2.0.9</powermock.version>
|
|
<mongodb.version>3.12.8</mongodb.version>
|
|
<!-- More visible way to change dependency versions -->
|
|
<spigot.version>1.18-R0.1-SNAPSHOT</spigot.version>
|
|
<!-- Might differ from the last Spigot release for short periods
|
|
of time -->
|
|
<paper.version>1.16.5-R0.1-SNAPSHOT</paper.version>
|
|
<bstats.version>2.2.1</bstats.version>
|
|
<vault.version>1.7</vault.version>
|
|
<placeholderapi.version>2.10.9</placeholderapi.version>
|
|
<githubapi.version>d5f5e0bbd8</githubapi.version>
|
|
<dynmap.version>3.0-SNAPSHOT</dynmap.version>
|
|
<worldedit.version>7.2.5</worldedit.version>
|
|
<!-- Revision variable removes warning about dynamic version -->
|
|
<revision>${build.version}-SNAPSHOT</revision>
|
|
<!-- Do not change unless you want different name for local builds. -->
|
|
<build.number>-LOCAL</build.number>
|
|
<!-- This allows to change between versions. -->
|
|
<build.version>1.20.1</build.version>
|
|
<sonar.organization>bentobox-world</sonar.organization>
|
|
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
|
|
</properties>
|
|
|
|
<!-- Profiles will allow to automatically change build version. -->
|
|
<profiles>
|
|
<profile>
|
|
<!-- ci profile is activated if exist environment variable BUILD_NUMBER. -->
|
|
<!-- It replaces ${build.number} that is currently '-LOCAL' with
|
|
correct build number from JENKINS machine. -->
|
|
<id>ci</id>
|
|
<activation>
|
|
<property>
|
|
<name>env.BUILD_NUMBER</name>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<!-- Override only if necessary -->
|
|
<build.number>-b${env.BUILD_NUMBER}</build.number>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<!-- Master profile is activated if exist environment variable
|
|
GIT_BRANCH and its value is origin/master. -->
|
|
<!-- It will replace 'revision' with '${build.version}' so it
|
|
removes '-SNAPSHOT' string at the end. -->
|
|
<!-- Also, as this is release build, build number can be set
|
|
to empty string. -->
|
|
<!-- This profile will be used only if exist environment variable
|
|
GIT_BRANCH with value origin/master. -->
|
|
<id>master</id>
|
|
<activation>
|
|
<property>
|
|
<name>env.GIT_BRANCH</name>
|
|
<value>origin/master</value>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<!-- Override only if necessary -->
|
|
<revision>${build.version}</revision>
|
|
<!-- Empties build number variable. -->
|
|
<build.number></build.number>
|
|
</properties>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<pluginRepositories>
|
|
<pluginRepository>
|
|
<id>apache.snapshots</id>
|
|
<url>https://repository.apache.org/snapshots/</url>
|
|
</pluginRepository>
|
|
</pluginRepositories>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>spigot-repo</id>
|
|
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots</url>
|
|
</repository>
|
|
<repository>
|
|
<id>codemc-repo</id>
|
|
<url>https://repo.codemc.org/repository/maven-public</url>
|
|
</repository>
|
|
<repository>
|
|
<id>jitpack.io</id>
|
|
<url>https://jitpack.io</url>
|
|
</repository>
|
|
<repository>
|
|
<id>placeholderapi-repo</id>
|
|
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
|
|
</repository>
|
|
<repository>
|
|
<id>dynmap-repo</id>
|
|
<url>https://repo.mikeprimm.com/</url>
|
|
</repository>
|
|
<repository>
|
|
<id>worldedit-repo</id>
|
|
<url>https://maven.sk89q.com/repo/</url>
|
|
</repository>
|
|
<repository>
|
|
<id>papermc</id>
|
|
<url>https://papermc.io/repo/repository/maven-public/</url>
|
|
</repository>
|
|
<repository>
|
|
<!-- This is a temporary reference as the Maven Shade plugin
|
|
that supports Java 16 is not released yet -->
|
|
<id>maven-snapshots</id>
|
|
<url>https://repository.apache.org/content/repositories/snapshots/</url>
|
|
</repository>
|
|
<repository>
|
|
<id>minecraft-repo</id>
|
|
<url>https://libraries.minecraft.net/</url>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<dependencies>
|
|
<!-- Spigot API -->
|
|
<dependency>
|
|
<groupId>org.spigotmc</groupId>
|
|
<artifactId>spigot-api</artifactId>
|
|
<version>${spigot.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<!-- Paper API -->
|
|
<dependency>
|
|
<groupId>com.destroystokyo.paper</groupId>
|
|
<artifactId>paper-api</artifactId>
|
|
<version>${paper.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<!-- AuthLib. Used for Head Getter. -->
|
|
<dependency>
|
|
<groupId>com.mojang</groupId>
|
|
<artifactId>authlib</artifactId>
|
|
<version>3.2.38</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<!-- Metrics -->
|
|
<dependency>
|
|
<groupId>org.bstats</groupId>
|
|
<artifactId>bstats-bukkit</artifactId>
|
|
<version>${bstats.version}</version>
|
|
</dependency>
|
|
<!-- Mockito (Unit testing) -->
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>3.11.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-module-junit4</artifactId>
|
|
<version>${powermock.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-api-mockito2</artifactId>
|
|
<version>${powermock.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- Database -->
|
|
<dependency>
|
|
<groupId>org.mongodb</groupId>
|
|
<artifactId>mongodb-driver</artifactId>
|
|
<version>${mongodb.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
<version>9.1-901-1.jdbc4</version>
|
|
</dependency>
|
|
<!-- Vault: as their maven repo is down, we need to get it from jitpack -->
|
|
<!-- See https://github.com/MilkBowl/VaultAPI/issues/69 -->
|
|
<dependency>
|
|
<groupId>com.github.MilkBowl</groupId>
|
|
<artifactId>VaultAPI</artifactId>
|
|
<version>${vault.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<!-- Placeholders -->
|
|
<dependency>
|
|
<groupId>me.clip</groupId>
|
|
<artifactId>placeholderapi</artifactId>
|
|
<version>${placeholderapi.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<!-- Hooks -->
|
|
<dependency>
|
|
<groupId>us.dynmap</groupId>
|
|
<artifactId>dynmap-api</artifactId>
|
|
<version>${dynmap.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sk89q.worldedit</groupId>
|
|
<artifactId>worldedit-core</artifactId>
|
|
<version>${worldedit.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<!-- Shaded APIs -->
|
|
<dependency>
|
|
<groupId>com.github.TheBusyBiscuit</groupId>
|
|
<artifactId>GitHubWebAPI4Java</artifactId>
|
|
<version>${githubapi.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.Marcono1234</groupId>
|
|
<artifactId>gson-record-type-adapter-factory</artifactId>
|
|
<version>0.1.0</version>
|
|
</dependency>
|
|
<!-- Static analysis -->
|
|
<!-- We are using Eclipse's annotations. If you're using IDEA, update
|
|
your project settings to take these into account for in real time static
|
|
analysis -->
|
|
<dependency>
|
|
<groupId>org.eclipse.jdt</groupId>
|
|
<artifactId>org.eclipse.jdt.annotation</artifactId>
|
|
<version>2.2.600</version>
|
|
</dependency>
|
|
<!-- PaperLib -->
|
|
<dependency>
|
|
<groupId>io.papermc</groupId>
|
|
<artifactId>paperlib</artifactId>
|
|
<version>1.0.6</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<!-- LangUtils -->
|
|
<dependency>
|
|
<groupId>com.github.apachezy</groupId>
|
|
<artifactId>LangUtils</artifactId>
|
|
<version>3.2.2</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<!-- Spigot NMS. Used for chunk deletion and pasting. -->
|
|
<dependency>
|
|
<groupId>org.spigotmc</groupId>
|
|
<artifactId>spigot</artifactId>
|
|
<version>${spigot.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<!-- By default ${revision} is ${build.version}-SNAPSHOT -->
|
|
<!-- If GIT_BRANCH variable is set to origin/master, then it will
|
|
be only ${build.version}. -->
|
|
|
|
<!-- By default ${build.number} is -LOCAL. -->
|
|
<!-- If the BUILD_NUMBER variable is set, then it will be -b[number]. -->
|
|
<!-- If GIT_BRANCH variable is set to origin/master, then it will
|
|
be the empty string. -->
|
|
<finalName>${project.name}-${revision}${build.number}</finalName>
|
|
|
|
<defaultGoal>clean package</defaultGoal>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>true</filtering>
|
|
</resource>
|
|
<resource>
|
|
<directory>src/main/resources/locales</directory>
|
|
<targetPath>./locales</targetPath>
|
|
<filtering>false</filtering>
|
|
</resource>
|
|
</resources>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<version>3.1.0</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.8.1</version>
|
|
<configuration>
|
|
<release>16</release>
|
|
<!-- <source>${java.version}</source> <target>${java.version}</target> -->
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>3.0.0-M5</version>
|
|
<configuration>
|
|
<argLine>
|
|
--add-opens java.base/java.lang=ALL-UNNAMED
|
|
--add-opens java.base/java.math=ALL-UNNAMED
|
|
--add-opens java.base/java.io=ALL-UNNAMED
|
|
--add-opens java.base/java.util=ALL-UNNAMED
|
|
--add-opens
|
|
java.base/java.util.stream=ALL-UNNAMED
|
|
--add-opens java.base/java.text=ALL-UNNAMED
|
|
--add-opens
|
|
java.base/java.util.regex=ALL-UNNAMED
|
|
--add-opens
|
|
java.base/java.nio.channels.spi=ALL-UNNAMED
|
|
--add-opens java.base/sun.nio.ch=ALL-UNNAMED
|
|
--add-opens java.base/java.net=ALL-UNNAMED
|
|
--add-opens
|
|
java.base/java.util.concurrent=ALL-UNNAMED
|
|
--add-opens java.base/sun.nio.fs=ALL-UNNAMED
|
|
--add-opens java.base/sun.nio.cs=ALL-UNNAMED
|
|
--add-opens java.base/java.nio.file=ALL-UNNAMED
|
|
--add-opens
|
|
java.base/java.nio.charset=ALL-UNNAMED
|
|
--add-opens
|
|
java.base/java.lang.reflect=ALL-UNNAMED
|
|
--add-opens
|
|
java.logging/java.util.logging=ALL-UNNAMED
|
|
--add-opens java.base/java.lang.ref=ALL-UNNAMED
|
|
--add-opens java.base/java.util.jar=ALL-UNNAMED
|
|
--add-opens java.base/java.util.zip=ALL-UNNAMED
|
|
</argLine>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>3.3.0</version>
|
|
<configuration>
|
|
<source>16</source>
|
|
<show>private</show>
|
|
<failOnError>false</failOnError>
|
|
<additionalJOption>-Xdoclint:none</additionalJOption>
|
|
<!-- To compile with Java 11, this tag may be required -->
|
|
<javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-javadocs</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<version>3.0.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<phase>install</phase>
|
|
<goals>
|
|
<goal>jar-no-fork</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>3.3.1-SNAPSHOT</version>
|
|
<configuration>
|
|
<minimizeJar>true</minimizeJar>
|
|
<relocations>
|
|
<relocation>
|
|
<pattern>org.bstats</pattern>
|
|
<shadedPattern>world.bentobox.bentobox.util.metrics</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>io.github.TheBusyBiscuit.GitHubWebAPI4Java</pattern>
|
|
<shadedPattern>world.bentobox.bentobox.api.github</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>io.papermc.lib</pattern>
|
|
<shadedPattern>world.bentobox.bentobox.paperlib</shadedPattern> <!-- Replace this -->
|
|
</relocation>
|
|
</relocations>
|
|
<artifactSet>
|
|
<excludes>
|
|
<exclude>org.apache.maven.shared:*</exclude>
|
|
<exclude>org.apache.maven:*</exclude>
|
|
<exclude>com.google.code.gson:*</exclude>
|
|
<exclude>org.mongodb:*</exclude>
|
|
<exclude>org.eclipse.jdt:*</exclude>
|
|
</excludes>
|
|
</artifactSet>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-install-plugin</artifactId>
|
|
<version>2.5.2</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<version>2.8.2</version>
|
|
<executions>
|
|
<execution>
|
|
<id>default-deploy</id>
|
|
<phase>deploy</phase>
|
|
<goals>
|
|
<goal>deploy</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>0.8.7</version>
|
|
<configuration>
|
|
<append>true</append>
|
|
<excludes>
|
|
<!-- This is required to prevent Jacoco from adding
|
|
synthetic fields to a JavaBean class (causes errors in testing) -->
|
|
<exclude>**/*Names*</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>pre-unit-test</id>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>post-unit-test</id>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|