diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md
index 89e2a82a..f8928ce2 100644
--- a/.github/CHANGELOG.md
+++ b/.github/CHANGELOG.md
@@ -10,6 +10,10 @@ deploy webhooks to print changelog successfully
That's all, matcher will stop when detects next line started with `###` match
+### 5.1.1 Release
+* Fixed liquid flow outside plots and different worlds
+* Fixed forceplay console command without theme
+
### 5.1.0 Release (10.07.2025)
* Added Heads from HeadDatabase (selected on each server start 200 per category)
* Added Heads Search function
diff --git a/pom.xml b/pom.xml
index 6ab6f3b5..20d10895 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,7 @@
plugily.projects
buildbattle
- 5.1.0
+ 5.1.0-SNAPSHOT1
BuildBattle
diff --git a/src/main/java/plugily/projects/buildbattle/arena/ArenaEvents.java b/src/main/java/plugily/projects/buildbattle/arena/ArenaEvents.java
index 8319227c..0c0fe9e3 100644
--- a/src/main/java/plugily/projects/buildbattle/arena/ArenaEvents.java
+++ b/src/main/java/plugily/projects/buildbattle/arena/ArenaEvents.java
@@ -596,11 +596,14 @@ public void onWaterFlowEvent(BlockFromToEvent event) {
continue;
}
for(Plot buildPlot : ((BaseArena) arena).getPlotManager().getPlots()) {
+ if(buildPlot.getTeleportLocation().getWorld() != toBlock.getWorld()) {
+ continue;
+ }
if(buildPlot.getCuboid() != null) {
if(!buildPlot.getCuboid().isIn(toBlock) && buildPlot.getCuboid().isIn(blockLoc)) {
event.setCancelled(true);
}
- if(!buildPlot.getCuboid().isIn(toBlock)) {
+ if(!buildPlot.getCuboid().isInWithMarge(toBlock, -1) && buildPlot.getCuboid().isIn(toBlock)) {
event.setCancelled(true);
}
}
diff --git a/src/main/java/plugily/projects/buildbattle/commands/arguments/admin/arena/ForcePlayArgument.java b/src/main/java/plugily/projects/buildbattle/commands/arguments/admin/arena/ForcePlayArgument.java
index a16cf5f9..8b54c7f7 100644
--- a/src/main/java/plugily/projects/buildbattle/commands/arguments/admin/arena/ForcePlayArgument.java
+++ b/src/main/java/plugily/projects/buildbattle/commands/arguments/admin/arena/ForcePlayArgument.java
@@ -48,29 +48,33 @@ public ForcePlayArgument(ArgumentsRegistry registry) {
@Override
public void execute(CommandSender sender, String[] args) {
if(args.length == 1) {
- //todo translatable
new MessageBuilder("&cPlease type arena theme!").prefix().send(sender);
return;
}
BaseArena arena;
int themeArgStart = 1;
if(!(sender instanceof Player)) {
- if(args.length == 2) {
- //todo translatable
- new MessageBuilder("&cPlease type arena name!").prefix().send(sender);
+ arena = (BaseArena) registry.getPlugin().getArenaRegistry().getArena(args[1]);
+ if(args.length == 2 && arena != null) {
+ BaseArena finalArena = arena;
+ Bukkit.getOnlinePlayers().forEach(player -> {
+ registry.getPlugin().getArenaManager().joinAttempt(player, finalArena);
+ });
+ arena.setForceStart(true);
return;
}
- arena = (BaseArena) registry.getPlugin().getArenaRegistry().getArena(args[1]);
themeArgStart = 2;
} else {
arena = (BaseArena) registry.getPlugin().getArenaRegistry().getArena((Player) sender);
+ if(arena == null) {
+ arena = (BaseArena) registry.getPlugin().getArenaRegistry().getArena(args[1]);
+ }
}
if(arena == null) {
new MessageBuilder("COMMANDS_NOT_PLAYING").asKey().send(sender);
return;
}
if(!(arena instanceof BuildArena)) {
- //todo translatable
new MessageBuilder("&cCan't set theme on this arena type!").prefix().send(sender);
return;
}
@@ -83,8 +87,9 @@ public void execute(CommandSender sender, String[] args) {
new MessageBuilder("COMMANDS_THEME_BLACKLISTED").asKey().prefix().send(sender);
return;
}
+ BaseArena finalArena1 = arena;
Bukkit.getOnlinePlayers().forEach(player -> {
- registry.getPlugin().getArenaManager().joinAttempt(player, arena);
+ registry.getPlugin().getArenaManager().joinAttempt(player, finalArena1);
});
arena.setForceStart(true);
arena.setTheme(themeName.toString());