From 02c19075d7246b4fca6410b3fad3fed5ee328646 Mon Sep 17 00:00:00 2001 From: LunarAkai Date: Thu, 28 Mar 2024 21:52:03 +0100 Subject: [PATCH] board with index 3 is now larger, toofaraway now depends on (close to) true center --- pom.xml | 3 +- .../minecleaner/MinecleanerArena.java | 45 ++++++++++++++----- .../lunarakai/minecleaner/game/BoardSize.java | 2 +- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/pom.xml b/pom.xml index 8eeafc5..a91bbbd 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ de.lunarakai Minecleaner - 1.0.1 + 1.0.2 jar Minecleaner @@ -17,6 +17,7 @@ + ${project.name} org.apache.maven.plugins diff --git a/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java b/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java index 53c7cf1..aa906de 100644 --- a/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java +++ b/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java @@ -556,18 +556,39 @@ public class MinecleanerArena { return true; } player.getLocation(tempLoc); - double dist = tempLoc.distanceSquared(centerLocation); - switch (widthIndex) { - case 0: - return dist > 64.0; - case 1: - return dist > 96.0; - case 2: - return dist > 128.0; - case 3: - return dist > 156.0; - } - return dist > 64.0; + + double centerX = centerLocation.getX(); + double centerY = centerLocation.getY() + (BoardSize.boardSizesHeight[widthIndex]/3)/2.0 - 1; + double centerZ = centerLocation.getZ(); + + switch (orientation) { + case NORTH: { + centerX = centerLocation.getX() - ((BoardSize.boardSizesWidth[widthIndex]/3)/2.0) + 1; + break; + } + case EAST: { + centerZ = centerLocation.getZ() - ((BoardSize.boardSizesWidth[widthIndex]/3)/2.0) + 1; + break; + } + + case SOUTH: { + centerX = centerLocation.getX() + ((BoardSize.boardSizesWidth[widthIndex]/3)/2.0) -1; + break; + } + case WEST: { + centerZ = centerLocation.getZ() + ((BoardSize.boardSizesWidth[widthIndex]/3)/2.0) - 1; + break; + } + default: { + break; + } + } + + Location trueCenterLocation = new Location(player.getWorld(), centerX, centerY, centerZ); + double dist = tempLoc.distanceSquared(trueCenterLocation); + player.sendMessage(ChatColor.GOLD + "Dist: " + dist); + + return dist > Math.pow((BoardSize.boardSizesWidth[widthIndex]/4.5) + 6, 2); } public String getName() { diff --git a/src/main/java/de/lunarakai/minecleaner/game/BoardSize.java b/src/main/java/de/lunarakai/minecleaner/game/BoardSize.java index 0fefa3c..07e1cfe 100644 --- a/src/main/java/de/lunarakai/minecleaner/game/BoardSize.java +++ b/src/main/java/de/lunarakai/minecleaner/game/BoardSize.java @@ -5,7 +5,7 @@ public class BoardSize { 9, 12, 18, - 33, + 36, }; public static int[] boardSizesHeight = {