diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md
index 1168bb07..15e2f295 100644
--- a/.github/CHANGELOG.md
+++ b/.github/CHANGELOG.md
@@ -10,6 +10,12 @@ deploy webhooks to print changelog successfully
That's all, matcher will stop when detects next line started with `###` match
+### 5.0.14 Release (13.03.2025)
+* Changed plot distribution on team mode tries to create only full plots now
+* Fixed plot distribution in same cases lets spectators into the plot as member
+* Fixed game ending due to not enough players counted spectators
+* Updated to minigamesbox 1.4.0
+
### 5.0.13 Release (18.02.2025)
* Fixed Progress must be between 0 and 1
diff --git a/build.gradle.kts b/.github/building/build.gradle.kts
similarity index 96%
rename from build.gradle.kts
rename to .github/building/build.gradle.kts
index 54a54728..411fd61e 100644
--- a/build.gradle.kts
+++ b/.github/building/build.gradle.kts
@@ -42,14 +42,14 @@ repositories {
}
dependencies {
- implementation("plugily.projects:MiniGamesBox-Classic:1.3.16-SNAPSHOT1") { isTransitive = false }
+ implementation("plugily.projects:MiniGamesBox-Classic:1.3.17") { isTransitive = false }
compileOnly("io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT")
compileOnly("net.citizensnpcs:citizensapi:2.0.31-SNAPSHOT")
compileOnly("org.jetbrains:annotations:24.0.1")
}
group = "plugily.projects"
-version = "5.0.13"
+version = "5.0.13-SNAPSHOT4"
description = "BuildBattle"
java {
diff --git a/gradlew b/.github/building/gradlew
similarity index 100%
rename from gradlew
rename to .github/building/gradlew
diff --git a/gradlew.bat b/.github/building/gradlew.bat
similarity index 100%
rename from gradlew.bat
rename to .github/building/gradlew.bat
diff --git a/.github/building/pom.xml b/.github/building/pom.xml
new file mode 100644
index 00000000..23d4c421
--- /dev/null
+++ b/.github/building/pom.xml
@@ -0,0 +1,208 @@
+
+
+
+
+ 4.0.0
+
+ plugily.projects
+ buildbattle
+ 5.0.13-SNAPSHOT5
+ BuildBattle
+
+
+ 1.8
+ UTF-8
+
+
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+ plugilyprojects
+ https://maven.plugily.xyz/releases
+
+
+ plugilyprojects-snapshots
+ https://maven.plugily.xyz/snapshots
+
+
+ jitpack
+ https://jitpack.io
+
+
+ codemc-repo
+ https://repo.codemc.org/repository/maven-public/
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ citizens-repo
+ http://repo.citizensnpcs.co/
+
+
+
+
+
+ io.papermc.paper
+ paper-api
+ 1.21.4-R0.1-SNAPSHOT
+ provided
+
+
+
+ org.jetbrains
+ annotations
+ 23.0.0
+ provided
+
+
+ plugily.projects
+ MiniGamesBox-Classic
+ 1.3.17-SNAPSHOT12
+ compile
+ true
+
+
+ net.citizensnpcs
+ citizensapi
+ 2.0.26-SNAPSHOT
+ provided
+
+
+ ch.ethz.globis.phtree
+ phtree
+
+
+
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.14.0
+
+ ${java.version}
+ ${java.version}
+
+
+
+ org.apache.maven.plugins
+ maven-site-plugin
+ 3.21.0
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+ 3.1.4
+
+
+ org.apache.maven.plugins
+ maven-project-info-reports-plugin
+ 3.9.0
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.11.2
+
+ BuildBattle API docs for v${project.version}
+ Minecraft building minigame.
+ The goal is to build the best you can! You must compete with other players in this building game.
+ Who will be the best? Have fun using it! Leave a good rating if you really like it.
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.4.2
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.6.0
+
+
+ package
+
+ shade
+
+
+
+
+ com.zaxxer.hikari
+ plugily.projects.buildbattle.database.hikari
+
+
+ plugily.projects.minigamesbox
+ plugily.projects.buildbattle.minigamesbox
+
+
+ false
+
+
+
+
+
+
+
+ plugily.projects
+ betty-maven-plugin
+ 1.0.2
+
+ ${project.basedir}/CHANGELOG.md
+
+
+
+
+
+
+ org.apache.maven.wagon
+ wagon-ssh
+ 3.5.3
+
+
+
+
+
+ Release
+ https://maven.plugily.xyz/releases
+
+
+ Snapshot
+ https://maven.plugily.xyz/snapshots
+
+
+
\ No newline at end of file
diff --git a/settings.gradle.kts b/.github/building/settings.gradle.kts
similarity index 100%
rename from settings.gradle.kts
rename to .github/building/settings.gradle.kts
diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml
index 9d9a75aa..d24de707 100644
--- a/.github/workflows/deploy-development.yml
+++ b/.github/workflows/deploy-development.yml
@@ -10,11 +10,9 @@ jobs:
steps:
- name: Checkout Latest Commit
uses: actions/checkout@v4.2.2
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
- name: Bump Version
id: bump
- uses: Plugily-Projects/version-bump-action@v8
+ uses: Plugily-Projects/version-bump-action@v10
with:
github-token: ${{ secrets.github_token }}
auto-version-bump: true
@@ -34,10 +32,23 @@ jobs:
distribution: 'temurin'
java-version: '21'
java-package: jdk
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
- - name: Publish with Gradle
- run: ./gradlew publishMavenPublicationToSnapshotsRepository
- env:
- MAVEN_USERNAME: ${{ secrets.SNAPSHOTSUSERNAME }}
- MAVEN_PASSWORD: ${{ secrets.SNAPSHOTSPASSWORD }}
+ - name: Set up Maven
+ uses: stCarolas/setup-maven@v5
+ with:
+ maven-version: 3.8.2
+ - name: Cache
+ uses: actions/cache@v4.2.2
+ with:
+ path: ~/.m2/repository
+ key: maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: maven-
+ - name: Publish with Maven
+ uses: s4u/maven-settings-action@v3.1.0
+ with:
+ servers: |
+ [{
+ "id": "Snapshot",
+ "username": "${{ secrets.SNAPSHOTSUSERNAME }}",
+ "password": "${{ secrets.SNAPSHOTSPASSWORD }}"
+ }]
+ - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -DaltDeploymentRepository=Snapshot::https://maven.plugily.xyz/snapshots -f pom.xml
diff --git a/.github/workflows/deploy-master.yml b/.github/workflows/deploy-master.yml
index c08a2056..172d2f22 100644
--- a/.github/workflows/deploy-master.yml
+++ b/.github/workflows/deploy-master.yml
@@ -12,11 +12,9 @@ jobs:
steps:
- name: Checkout Latest Commit
uses: actions/checkout@v4.2.2
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
- name: Bump Version
id: bump
- uses: Plugily-Projects/version-bump-action@v8
+ uses: Plugily-Projects/version-bump-action@v10
with:
github-token: ${{ secrets.github_token }}
auto-version-bump: false
@@ -37,10 +35,23 @@ jobs:
distribution: 'temurin'
java-version: '21'
java-package: jdk
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
- - name: Publish with Gradle
- run: ./gradlew publishMavenPublicationToReleasesRepository
- env:
- MAVEN_USERNAME: ${{ secrets.RELEASESUSERNAME }}
- MAVEN_PASSWORD: ${{ secrets.RELEASESPASSWORD }}
+ - name: Set up Maven
+ uses: stCarolas/setup-maven@v5
+ with:
+ maven-version: 3.8.2
+ - name: Cache
+ uses: actions/cache@v4.2.2
+ with:
+ path: ~/.m2/repository
+ key: maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: maven-
+ - name: Publish with Maven
+ uses: s4u/maven-settings-action@v3.1.0
+ with:
+ servers: |
+ [{
+ "id": "Release",
+ "username": "${{ secrets.RELEASESUSERNAME }}",
+ "password": "${{ secrets.RELEASESPASSWORD }}"
+ }]
+ - run: mvn clean verify compile package site:site javadoc:javadoc javadoc:jar deploy -DaltDeploymentRepository=Release::https://maven.plugily.xyz/releases -f pom.xml
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 00000000..94c7e235
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,205 @@
+
+
+
+
+ 4.0.0
+
+ plugily.projects
+ buildbattle
+ 5.0.13-SNAPSHOT10
+ BuildBattle
+
+
+ 1.8
+ UTF-8
+
+
+
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
+
+ plugilyprojects
+ https://maven.plugily.xyz/releases
+
+
+ plugilyprojects-snapshots
+ https://maven.plugily.xyz/snapshots
+
+
+ jitpack
+ https://jitpack.io
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ citizens-repo
+ https://repo.citizensnpcs.co/
+
+
+
+
+
+ io.papermc.paper
+ paper-api
+ 1.21.4-R0.1-SNAPSHOT
+ provided
+
+
+
+ org.jetbrains
+ annotations
+ 23.0.0
+ provided
+
+
+ plugily.projects
+ MiniGamesBox-Classic
+ 1.4.0
+ compile
+ true
+
+
+ net.citizensnpcs
+ citizensapi
+ 2.0.26-SNAPSHOT
+ provided
+
+
+ ch.ethz.globis.phtree
+ phtree
+
+
+
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.14.0
+
+ ${java.version}
+ ${java.version}
+
+
+
+ org.apache.maven.plugins
+ maven-site-plugin
+ 3.21.0
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+ 3.1.4
+
+
+ org.apache.maven.plugins
+ maven-project-info-reports-plugin
+ 3.9.0
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.11.2
+
+ BuildBattle API docs for v${project.version}
+ Minecraft building minigame.
+ The goal is to build the best you can! You must compete with other players in this building game.
+ Who will be the best? Have fun using it! Leave a good rating if you really like it.
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.4.2
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.6.0
+
+
+ package
+
+ shade
+
+
+ true
+
+
+ com.zaxxer.hikari
+ plugily.projects.buildbattle.database.hikari
+
+
+ plugily.projects.minigamesbox
+ plugily.projects.buildbattle.minigamesbox
+
+
+ false
+
+
+
+
+
+
+
+ plugily.projects
+ betty-maven-plugin
+ 1.0.2
+
+ ${project.basedir}/CHANGELOG.md
+
+
+
+
+
+
+ org.apache.maven.wagon
+ wagon-ssh
+ 3.5.3
+
+
+
+
+
+ Release
+ https://maven.plugily.xyz/releases
+
+
+ Snapshot
+ https://maven.plugily.xyz/snapshots
+
+
+
\ No newline at end of file
diff --git a/.github/maven/pom.xml b/pom.xml.versionsBackup
similarity index 82%
rename from .github/maven/pom.xml
rename to pom.xml.versionsBackup
index cc13afb0..64ffb577 100644
--- a/.github/maven/pom.xml
+++ b/pom.xml.versionsBackup
@@ -26,7 +26,7 @@
plugily.projects
buildbattle
- 5.0.0
+ 5.0.13-SNAPSHOT4
BuildBattle
@@ -37,7 +37,7 @@
papermc
- https://papermc.io/repo/repository/maven-public/
+ https://repo.papermc.io/repository/maven-public/
plugilyprojects
@@ -69,7 +69,7 @@
io.papermc.paper
paper-api
- 1.19.1-R0.1-SNAPSHOT
+ 1.21.4-R0.1-SNAPSHOT
provided
@@ -82,7 +82,7 @@
plugily.projects
MiniGamesBox-Classic
- 1.2.0-SNAPSHOT51
+ 1.3.17-SNAPSHOT10
compile
true
@@ -108,41 +108,51 @@
-
- org.apache.maven.plugins
- maven-site-plugin
- 3.12.0
-
org.apache.maven.plugins
maven-compiler-plugin
- 3.10.1
-
- compile
-
+ 3.14.0
${java.version}
${java.version}
+
+ org.apache.maven.plugins
+ maven-site-plugin
+ 3.21.0
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+ 3.1.4
+
+
+ org.apache.maven.plugins
+ maven-project-info-reports-plugin
+ 3.9.0
+
org.apache.maven.plugins
maven-javadoc-plugin
- 3.4.0
+ 3.11.2
- minecraft/buildbattle
- false
+ Murder Mystery API docs for v${project.version}
+ Minecraft survival minigame.
+ Be the murderer, innocent or the detective! Don't be killed during the game to win! API
+ documentation for hooking Murder Mystery with your plugin.
+
org.apache.maven.plugins
maven-jar-plugin
- 3.2.2
+ 3.4.2
org.apache.maven.plugins
maven-shade-plugin
- 3.3.0
+ 3.6.0
package
@@ -159,10 +169,6 @@
plugily.projects.minigamesbox
plugily.projects.buildbattle.minigamesbox
-
- plugily.projects.commonsbox
- plugily.projects.buildbattle.commonsbox
-
false
@@ -185,14 +191,18 @@
org.apache.maven.wagon
wagon-ssh
- 3.5.2
+ 3.5.3
- plugily-projects
+ Release
https://maven.plugily.xyz/releases
+
+ Snapshot
+ https://maven.plugily.xyz/snapshots
+
-
+
\ No newline at end of file
diff --git a/src/main/java/plugily/projects/buildbattle/arena/ArenaManager.java b/src/main/java/plugily/projects/buildbattle/arena/ArenaManager.java
index cf260997..ac2d438c 100644
--- a/src/main/java/plugily/projects/buildbattle/arena/ArenaManager.java
+++ b/src/main/java/plugily/projects/buildbattle/arena/ArenaManager.java
@@ -56,7 +56,7 @@ public void additionalPartyJoin(Player player, IPluginArena arena, Player partyL
List plots = pluginArena.getPlotManager().getPlots();
Plot partyPlot = plots.get(plots.size() == 1 ? 0 : plugin.getRandom().nextInt(plots.size()));
- if(arena.getPlayers().contains(partyLeader)) {
+ if(arena.getPlayersLeft().contains(partyLeader)) {
Plot partyLeaderPlot = pluginArena.getPlotManager().getPlot(partyLeader);
if(partyLeaderPlot != null) {
partyPlot = partyLeaderPlot;
diff --git a/src/main/java/plugily/projects/buildbattle/arena/BuildArena.java b/src/main/java/plugily/projects/buildbattle/arena/BuildArena.java
index f6669e0a..bebe90ab 100644
--- a/src/main/java/plugily/projects/buildbattle/arena/BuildArena.java
+++ b/src/main/java/plugily/projects/buildbattle/arena/BuildArena.java
@@ -30,6 +30,7 @@
import plugily.projects.minigamesbox.api.arena.IArenaState;
import java.util.*;
+import java.util.stream.Collectors;
/**
* @author Tigerpanzer_02
@@ -89,7 +90,7 @@ public Queue getQueue() {
@Override
public void distributePlots() {
- int neededPlots = getPlayers().size() / getArenaOption("PLOT_MEMBER_SIZE");
+ int neededPlots = getPlayersLeft().size() / getArenaOption("PLOT_MEMBER_SIZE");
if(getPlotManager().getPlots().size() < neededPlots) {
getPlugin().getMessageUtils().errorOccurred();
getPlugin().getDebugger().sendConsoleMsg("&c[Build Battle] [PLOT WARNING] Not enough plots in arena " + getId() + "! Lacks " + (neededPlots - getPlotManager().getPlots().size()) + " plots");
@@ -111,23 +112,27 @@ public void distributePlots() {
}
break;
case TEAM:
- for(Player player : getPlayers()) {
- // get base with min players
- Plot minPlayers = getPlotManager().getPlots().stream().min(Comparator.comparing(Plot::getMembersSize)).get();
- // add player to min base if he got no base
- Plot playerPlot = getPlotManager().getPlot(player);
- if(playerPlot == null) {
- minPlayers.addMember(player, this, true);
- }
- // fallback
- if(playerPlot == null) {
- getPlotManager().getPlots().get(0).addMember(player, this, true);
+ int plotMemberSize = getArenaOption("PLOT_MEMBER_SIZE");
+ int neededDividedPlots = getPlayersLeft().size() / plotMemberSize;
+ int currentDividedPlots = (int) getPlotManager().getPlots().stream().filter(plot -> plot.getMembersSize() > 0).count();
+
+
+ if(neededDividedPlots > currentDividedPlots) {
+ List fullPlots = getPlotManager().getPlots().stream().filter(plot -> plot.getMembersSize() == plotMemberSize).collect(Collectors.toList());
+ List playersToMove = getPlayersLeft().stream().filter(player -> fullPlots.stream().noneMatch(plot -> plot.getMembers().contains(player))).collect(Collectors.toList());
+ if(!playersToMove.isEmpty()) {
+ for(int i = 0; i < playersToMove.size(); i++) {
+ Player move = playersToMove.get(i);
+ List emptyPlots = getPlotManager().getPlots().stream().filter(plot -> plot.getMembersSize() < plotMemberSize).collect(Collectors.toList());
+ Plot maxEmptyPlot = emptyPlots.stream().max(Comparator.comparing(Plot::getMembersSize)).get();
+ maxEmptyPlot.addMember(move, this, true);
+ }
}
}
//check if not only one plot got players
Plot maxPlayers = getPlotManager().getPlots().stream().max(Comparator.comparing(Plot::getMembersSize)).get();
Plot minPlayers = getPlotManager().getPlots().stream().min(Comparator.comparing(Plot::getMembersSize)).get();
- if(maxPlayers.getMembersSize() == getPlayers().size()) {
+ if(maxPlayers.getMembersSize() == getPlayersLeft().size()) {
for(int i = 0; i < maxPlayers.getMembersSize() / 2; i++) {
Player move = maxPlayers.getMembers().get(i);
minPlayers.addMember(move, this, true);
@@ -149,14 +154,14 @@ public void distributePlots() {
@Override
public boolean enoughPlayersToContinue() {
- int size = getPlayers().size();
+ int size = getPlayersLeft().size();
int memberSize = getArenaOption("PLOT_MEMBER_SIZE");
if(size > memberSize) {
return true;
}
if(size == memberSize) {
- return !new HashSet<>(getPlotManager().getPlot(getPlayersLeft().get(0)).getMembers()).containsAll(getPlayers());
+ return !new HashSet<>(getPlotManager().getPlot(getPlayersLeft().get(0)).getMembers()).containsAll(getPlayersLeft());
}
return false;
}
diff --git a/src/main/java/plugily/projects/buildbattle/arena/GuessArena.java b/src/main/java/plugily/projects/buildbattle/arena/GuessArena.java
index 5923082d..02fe0198 100644
--- a/src/main/java/plugily/projects/buildbattle/arena/GuessArena.java
+++ b/src/main/java/plugily/projects/buildbattle/arena/GuessArena.java
@@ -76,8 +76,8 @@ public void cleanUpArena() {
}
@Override
- public void distributePlots() {
- int neededPlots = getPlayers().size() / plotMemberSize;
+ public void distributePlots() {
+ int neededPlots = getPlayersLeft().size() / plotMemberSize;
if(getPlotManager().getPlots().size() < neededPlots) {
getPlugin().getMessageUtils().errorOccurred();
getPlugin().getDebugger().sendConsoleMsg("&c[Build Battle] [PLOT WARNING] Not enough plots in arena " + getId() + "! Lacks " + (neededPlots - getPlotManager().getPlots().size()) + " plots");
@@ -108,13 +108,13 @@ public void distributePlots() {
@Override
public boolean enoughPlayersToContinue() {
- int size = getPlayers().size();
+ int size = getPlayersLeft().size();
if(size > plotMemberSize) {
return true;
}
if(size == plotMemberSize) {
- return !new HashSet<>(getPlotManager().getPlot(getPlayersLeft().get(0)).getMembers()).containsAll(getPlayers());
+ return !new HashSet<>(getPlotManager().getPlot(getPlayersLeft().get(0)).getMembers()).containsAll(getPlayersLeft());
}
return false;
}
diff --git a/src/main/java/plugily/projects/buildbattle/arena/managers/ScoreboardManager.java b/src/main/java/plugily/projects/buildbattle/arena/managers/ScoreboardManager.java
index 32164d29..5e46b99f 100644
--- a/src/main/java/plugily/projects/buildbattle/arena/managers/ScoreboardManager.java
+++ b/src/main/java/plugily/projects/buildbattle/arena/managers/ScoreboardManager.java
@@ -23,14 +23,12 @@
import org.bukkit.entity.Player;
import plugily.projects.buildbattle.arena.BaseArena;
import plugily.projects.buildbattle.arena.GuessArena;
-import plugily.projects.minigamesbox.api.arena.IPluginArena;
-import plugily.projects.minigamesbox.api.user.IUser;
+import plugily.projects.minigamesbox.api.arena.IArenaState;
import plugily.projects.minigamesbox.classic.arena.PluginArena;
import plugily.projects.minigamesbox.classic.arena.managers.PluginScoreboardManager;
import plugily.projects.minigamesbox.classic.handlers.language.MessageBuilder;
-import plugily.projects.minigamesbox.classic.utils.scoreboard.common.EntryBuilder;
-import plugily.projects.minigamesbox.classic.utils.scoreboard.type.Entry;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -47,47 +45,41 @@ public ScoreboardManager(PluginArena arena) {
}
@Override
- public List formatScoreboard(IUser user) {
- EntryBuilder builder = new EntryBuilder();
- List lines;
- IPluginArena userArena = user.getArena();
+ public List formatScoreboardLines(List lines, Player player) {
+ List changedLines = new ArrayList<>();
- switch (userArena.getArenaState()) {
- case FULL_GAME: {
- lines = userArena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content.Starting");
- break;
- }
+ switch (arena.getArenaState()) {
case IN_GAME: {
- if(userArena instanceof GuessArena) {
- lines = userArena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content." + userArena.getArenaState().getFormattedName() + ".Guess-The-Build" + (((GuessArena) userArena).getArenaInGameState() == BaseArena.ArenaInGameState.PLOT_VOTING ? "-Waiting" : ""));
+ if(arena instanceof GuessArena) {
+ lines = arena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content." + arena.getArenaState().getFormattedName() + ".Guess-The-Build" + (((GuessArena) arena).getArenaInGameState() == BaseArena.ArenaInGameState.PLOT_VOTING ? "-Waiting" : ""));
} else {
- if(userArena.getArenaOption("PLOT_MEMBER_SIZE") <= 1) {
- lines = userArena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content." + userArena.getArenaState().getFormattedName() + ".Classic");
+ if(arena.getArenaOption("PLOT_MEMBER_SIZE") <= 1) {
+ lines = arena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content." + arena.getArenaState().getFormattedName() + ".Classic");
} else {
- lines = userArena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content." + userArena.getArenaState().getFormattedName() + ".Teams");
+ lines = arena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content." + arena.getArenaState().getFormattedName() + ".Teams");
}
}
break;
}
case ENDING: {
- if(userArena instanceof GuessArena) {
- lines = userArena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content." + userArena.getArenaState().getFormattedName() + ".Guess-The-Build");
+ if(arena instanceof GuessArena) {
+ lines = arena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content." + arena.getArenaState().getFormattedName() + ".Guess-The-Build");
} else {
- lines = userArena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content." + userArena.getArenaState().getFormattedName() + ".Classic");
+ lines = arena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content." + arena.getArenaState().getFormattedName() + ".Classic");
}
break;
}
default: {
- lines = userArena.getPlugin().getLanguageManager().getLanguageList("Scoreboard.Content." + userArena.getArenaState().getFormattedName());
+ lines = arena.getPlugin().getLanguageManager().getLanguageList(arena.getArenaState() == IArenaState.FULL_GAME ? "Scoreboard.Content.Starting"
+ : "Scoreboard.Content." + arena.getArenaState().getFormattedName());
+
}
}
- Player player = user.getPlayer();
-
for(String line : lines) {
- builder.next(new MessageBuilder(line).player(player).arena(arena).build());
+ changedLines.add(new MessageBuilder(line).player(player).arena(arena).build());
}
- return builder.build();
+ return changedLines;
}
}
diff --git a/src/main/java/plugily/projects/buildbattle/arena/states/build/InGameState.java b/src/main/java/plugily/projects/buildbattle/arena/states/build/InGameState.java
index 8b2c26fc..3c99e3e4 100644
--- a/src/main/java/plugily/projects/buildbattle/arena/states/build/InGameState.java
+++ b/src/main/java/plugily/projects/buildbattle/arena/states/build/InGameState.java
@@ -63,11 +63,13 @@ public void handleCall(PluginArena arena) {
new MessageBuilder("IN_GAME_MESSAGES_PLOT_GTB_THEME_NAME").asKey().arena(pluginArena).sendArena();
}
- for(Player player : pluginArena.getPlayers()) {
+ for(Player player : pluginArena.getPlayersLeft()) {
player.closeInventory();
player.setGameMode(GameMode.CREATIVE);
VersionUtils.setCollidable(player, false);
}
+ // second time after voting as sometimes world switch causing no teleportation!
+ pluginArena.getPlotManager().teleportToPlots();
} else {
handleThemeVoting(pluginArena);
}
@@ -180,7 +182,7 @@ private void adjustStatistics(BuildArena pluginArena) {
}
private void handleThemeVoting(BuildArena pluginArena) {
- for(Player player : pluginArena.getPlayers()) {
+ for(Player player : pluginArena.getPlayersLeft()) {
pluginArena.getVoteMenu().updateInventory(player);
}
}
@@ -268,7 +270,7 @@ public void voteRoutine(BuildArena pluginArena) {
String formattedMembers = plot.getFormattedMembers();
boolean hidePlotOwner = getPlugin().getConfigPreferences().getOption("PLOT_HIDE_OWNER");
- for(Player player : pluginArena.getPlayers()) {
+ for(Player player : pluginArena.getPlayersLeft()) {
VersionUtils.teleport(player, teleportLoc);
player.setPlayerWeather(plot.getWeatherType());
player.setPlayerTime(Plot.Time.format(plot.getTime(), player.getWorld().getTime()), false);
diff --git a/src/main/java/plugily/projects/buildbattle/handlers/themes/vote/VoteMenu.java b/src/main/java/plugily/projects/buildbattle/handlers/themes/vote/VoteMenu.java
index 437e6451..8d62726b 100644
--- a/src/main/java/plugily/projects/buildbattle/handlers/themes/vote/VoteMenu.java
+++ b/src/main/java/plugily/projects/buildbattle/handlers/themes/vote/VoteMenu.java
@@ -21,7 +21,6 @@
package plugily.projects.buildbattle.handlers.themes.vote;
import org.bukkit.Material;
-import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent;
@@ -37,6 +36,7 @@
import plugily.projects.minigamesbox.api.user.IUser;
import plugily.projects.minigamesbox.classic.handlers.language.MessageBuilder;
import plugily.projects.minigamesbox.classic.utils.helper.ItemBuilder;
+import plugily.projects.minigamesbox.classic.utils.version.xseries.XEnchantment;
import plugily.projects.minigamesbox.classic.utils.version.xseries.XMaterial;
import plugily.projects.minigamesbox.inventory.common.item.ClickableItem;
import plugily.projects.minigamesbox.inventory.common.item.SimpleClickableItem;
@@ -183,7 +183,7 @@ public void updatePlayerGui(Player player, NormalFastInv gui) {
ItemBuilder itemBuilder = new ItemBuilder(clickableSignItem.getItem()).removeLore();
itemBuilder.lore(new MessageBuilder("MENU_THEME_ITEM_LORE").asKey().arena(arena).value(theme).integer((int) percent).build().split(";"));
if(theme.equals(playerVote)) {
- itemBuilder.enchantment(Enchantment.UNBREAKING, 1).flags(ItemFlag.HIDE_ENCHANTS);
+ itemBuilder.enchantment(XEnchantment.UNBREAKING.get(), 1).flags(ItemFlag.HIDE_ENCHANTS);
} else {
itemBuilder.removeEnchants().removeFlags();
}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 08f9e820..987c3834 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,4 +1,4 @@
-name: ${description}
+name: BuildBattle
main: plugily.projects.buildbattle.Main
authors: [ PlugilyProjects, Tigerpanzer_02, Tigerpanzer, Plajer, TomTheDeveloper ]
version: ${version}