diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index ef31582..0000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-
----
-
-**Description**
-A clear and concise description of what the bug is.
-
-**Steps to reproduce the behavior:**
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Server Information:**
-
-[Please complete the following information:]
- - Database being used (Flat file, MySQL, Mongo): []
- - OS: [e.g. iOS]
- - Java Version: [e.g. Java 8]
- - BentoBox version: [e.g. 1.7.2.21]
- - Addons installed? [Do '/bentobox version' and copy/paste from the console]
- - Other plugins? [Do '/plugins' and copy/paste from the console]
-
-**Additional context**
-Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index 066b2d9..0000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..9e16544
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,37 @@
+name: Build
+on:
+ push:
+ branches:
+ - develop
+ - master
+ pull_request:
+ types: [opened, synchronize, reopened]
+jobs:
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
+ - name: Set up JDK 11
+ uses: actions/setup-java@v1
+ with:
+ java-version: 11
+ - name: Cache SonarCloud packages
+ uses: actions/cache@v1
+ with:
+ path: ~/.sonar/cache
+ key: ${{ runner.os }}-sonar
+ restore-keys: ${{ runner.os }}-sonar
+ - name: Cache Maven packages
+ uses: actions/cache@v1
+ with:
+ path: ~/.m2
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2
+ - name: Build and analyze
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+ run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 62d57c1..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-language: java
-sudo: false
-addons:
- sonarcloud:
- organization: "bentobox-world"
-
-jdk:
- - openjdk11
-
-script:
- # JaCoCo is used to have code coverage, the agent has to be activated
- #- mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent org.jacoco:jacoco-maven-plugin:report package sonar:sonar
- - mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install sonar:sonar -Dsonar.projectKey=BentoBoxWorld_AcidIsland
-
-cache:
- directories:
- - '$HOME/.m2/repository'
- - '$HOME/.sonar/cache'
diff --git a/pom.xml b/pom.xml
index 2749cd8..da3255d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,13 +59,17 @@
2.0.4
1.16.3-R0.1-SNAPSHOT
- 1.15.4
+ 1.16.1
${build.version}-SNAPSHOT
-LOCAL
1.14.6
+
+ BentoBoxWorld_AcidIsland
+ bentobox-world
+ https://sonarcloud.io
diff --git a/src/main/java/world/bentobox/acidisland/AISettings.java b/src/main/java/world/bentobox/acidisland/AISettings.java
index ec5731c..6f98119 100644
--- a/src/main/java/world/bentobox/acidisland/AISettings.java
+++ b/src/main/java/world/bentobox/acidisland/AISettings.java
@@ -274,6 +274,12 @@ public class AISettings implements WorldSettings {
@ConfigEntry(path = "world.nether.spawn-radius")
private int netherSpawnRadius = 32;
+ @ConfigComment("This option indicates if nether portals should be linked via dimensions.")
+ @ConfigComment("Option will simulate vanilla portal mechanics that links portals together")
+ @ConfigComment("or creates a new portal, if there is not a portal in that dimension.")
+ @ConfigEntry(path = "world.nether.create-and-link-portals", since = "1.14.6")
+ private boolean makeNetherPortals = false;
+
// End
@ConfigComment("End Nether - if this is false, the end world will not be made and access to")
@ConfigComment("the end will not occur. Other plugins may still enable portal usage.")
@@ -289,6 +295,11 @@ public class AISettings implements WorldSettings {
@ConfigEntry(path = "world.end.sea-height", needsReset = true)
private int endSeaHeight = 54;
+ @ConfigComment("This option indicates if obsidian platform in the end should be generated")
+ @ConfigComment("when player enters the end world.")
+ @ConfigEntry(path = "world.end.create-obsidian-platform", since = "1.14.6")
+ private boolean makeEndPortals = false;
+
@ConfigEntry(path = "world.end.dragon-spawn", experimental = true)
private boolean dragonSpawn = false;
@@ -512,6 +523,21 @@ public class AISettings implements WorldSettings {
@ConfigEntry(path = "island.commands.on-leave")
private List onLeaveCommands = new ArrayList<>();
+ @ConfigComment("List of commands that should be executed when the player respawns after death if Flags.ISLAND_RESPAWN is true.")
+ @ConfigComment("These commands are run by the console, unless otherwise stated using the [SUDO] prefix,")
+ @ConfigComment("in which case they are executed by the player.")
+ @ConfigComment("")
+ @ConfigComment("Available placeholders for the commands are the following:")
+ @ConfigComment(" * [name]: name of the player")
+ @ConfigComment("")
+ @ConfigComment("Here are some examples of valid commands to execute:")
+ @ConfigComment(" * '[SUDO] bbox version'")
+ @ConfigComment(" * 'bsbadmin deaths set [player] 0'")
+ @ConfigComment("")
+ @ConfigComment("Note that player-executed commands might not work, as these commands can be run with said player being offline.")
+ @ConfigEntry(path = "island.commands.on-respawn", since = "1.14.0")
+ private List onRespawnCommands = new ArrayList<>();
+
// Sethome
@ConfigComment("Allow setting home in the nether. Only available on nether islands, not vanilla nether.")
@ConfigEntry(path = "island.sethome.nether.allow")
@@ -1520,6 +1546,24 @@ public class AISettings implements WorldSettings {
public void setOnLeaveCommands(List onLeaveCommands) {
this.onLeaveCommands = onLeaveCommands;
}
+
+ /**
+ * @return the onRespawnCommands
+ */
+ @Override
+ public List getOnRespawnCommands() {
+ return onRespawnCommands;
+ }
+
+ /**
+ * Sets on respawn commands.
+ *
+ * @param onRespawnCommands the on respawn commands
+ */
+ public void setOnRespawnCommands(List onRespawnCommands) {
+ this.onRespawnCommands = onRespawnCommands;
+ }
+
/**
* @return the onJoinResetHealth
*/
@@ -1884,4 +1928,36 @@ public class AISettings implements WorldSettings {
public void setMobLimitSettings(List mobLimitSettings) {
this.mobLimitSettings = mobLimitSettings;
}
+
+ /**
+ * @return the makeNetherPortals
+ */
+ @Override
+ public boolean isMakeNetherPortals() {
+ return makeNetherPortals;
+ }
+
+ /**
+ * @return the makeEndPortals
+ */
+ @Override
+ public boolean isMakeEndPortals() {
+ return makeEndPortals;
+ }
+
+ /**
+ * Sets make nether portals.
+ * @param makeNetherPortals the make nether portals
+ */
+ public void setMakeNetherPortals(boolean makeNetherPortals) {
+ this.makeNetherPortals = makeNetherPortals;
+ }
+
+ /**
+ * Sets make end portals.
+ * @param makeEndPortals the make end portals
+ */
+ public void setMakeEndPortals(boolean makeEndPortals) {
+ this.makeEndPortals = makeEndPortals;
+ }
}
diff --git a/src/main/resources/addon.yml b/src/main/resources/addon.yml
index 1cd22ae..f31684a 100755
--- a/src/main/resources/addon.yml
+++ b/src/main/resources/addon.yml
@@ -1,7 +1,7 @@
name: AcidIsland
main: world.bentobox.acidisland.AcidIsland
version: ${version}${build.number}
-api-version: 1.14
+api-version: ${bentobox.version}
metrics: true
repository: "BentoBoxWorld/AcidIsland"
icon: "OAK_BOAT"
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 4410753..b9275a2 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -171,6 +171,10 @@ world:
# Minimum is 0 (not recommended), maximum is 100. Default is 25.
# Only applies to vanilla nether
spawn-radius: 25
+ # This option indicates if nether portals should be linked via dimensions.
+ # Option will simulate vanilla portal mechanics that links portals together or creates a new portal, if there is not a portal in other dimension.
+ # Added since 1.14.6
+ create-and-link-portals: false
end:
# End Nether - if this is false, the end world will not be made and access to
# the end will not occur. Other plugins may still enable portal usage.
@@ -182,6 +186,9 @@ world:
# Changing mid-game will cause problems!
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
sea-height: 54
+ # This option indicates if obsidian platform in the end should be generated when player enters the end world.
+ # Added since 1.14.6
+ create-obsidian-platform: false
# /!\ This feature is experimental and might not work as expected or might not work at all.
dragon-spawn: false
# Removing mobs - this kills all monsters in the vicinity. Benefit is that it helps
@@ -445,6 +452,20 @@ island:
#
# Note that player-executed commands might not work, as these commands can be run with said player being offline.
on-leave: []
+ # Returns a list of commands that should be executed when the player respawns after death if Flags.ISLAND_RESPAWN is true.
+ # These commands are run by the console, unless otherwise stated using the [SUDO] prefix,
+ # in which case they are executed by the player.
+ #
+ # Available placeholders for the commands are the following:
+ # * [name]: name of the player
+ #
+ # Here are some examples of valid commands to execute:
+ # * '[SUDO] bbox version'
+ # * 'bsbadmin deaths set [player] 0'
+ #
+ # Note that player-executed commands might not work, as these commands can be run with said player being offline.
+ # Added since 1.14.0.
+ on-respawn: []
sethome:
nether:
# Allow setting home in the nether. Only available on nether islands, not vanilla nether.