|
7 | 7 | import com.jelly.CaneBuilder.config.Config; |
8 | 8 | import com.jelly.CaneBuilder.features.Failsafe; |
9 | 9 | import com.jelly.CaneBuilder.processes.*; |
| 10 | +import com.jelly.CaneBuilder.structures.Coord; |
10 | 11 | import com.jelly.CaneBuilder.utils.*; |
11 | 12 | import javafx.util.Builder; |
12 | 13 | import net.minecraft.client.Minecraft; |
@@ -181,16 +182,17 @@ public static void startScript(ProcessModule processModule){ |
181 | 182 | isFastBreakOn = false; |
182 | 183 | if(BuilderState.layer == 0){ |
183 | 184 | Utils.addCustomLog("Bozo set layer count"); |
| 185 | + |
184 | 186 | return; |
185 | 187 | } |
186 | 188 | if(BuilderState.direction == 0){ |
187 | | - if ((Math.abs(BuilderState.corner1.getZ() - BuilderState.corner2.getZ()) + 1) % 3 != 0){ |
188 | | - Utils.addCustomLog("Bozo read #how-to-use and set the corners correctly"); |
| 189 | + if ((Math.abs(BuilderState.corner1.getZ() - BuilderState.corner2.getZ()) + 1) % 3 != 0) { |
| 190 | + Utils.addCustomLog(suggestCoords(BuilderState.direction)); |
189 | 191 | return; |
190 | 192 | } |
191 | 193 | } else { |
192 | 194 | if ((Math.abs(BuilderState.corner1.getX() - BuilderState.corner2.getX()) + 1) % 3 != 0){ |
193 | | - Utils.addCustomLog("Bozo read #how-to-use and set the corners correctly"); |
| 195 | + Utils.addCustomLog(suggestCoords(BuilderState.direction)); |
194 | 196 | return; |
195 | 197 | } |
196 | 198 | } |
@@ -240,7 +242,37 @@ public static void startScript(ProcessModule processModule){ |
240 | 242 | } |
241 | 243 |
|
242 | 244 |
|
| 245 | + private static String suggestCoords(int direction) { |
| 246 | + int corner1 = direction == 0 ? BuilderState.corner1.getZ() : BuilderState.corner1.getX(); |
| 247 | + int corner2 = direction == 0 ? BuilderState.corner2.getZ() : BuilderState.corner2.getX(); |
| 248 | + while ((Math.abs(corner1) + Math.abs(corner2) + 1) % 3 != 0) { |
| 249 | + if (Math.abs(corner1) < Math.abs(corner2)) { |
| 250 | + if (Math.abs(corner2) == 80) { |
| 251 | + if (corner1 == -80) {corner1 += 2; break;} |
| 252 | + else if (corner1 == 80) {corner1 -= 2;break;} |
| 253 | + } |
| 254 | + corner1 += Integer.signum(corner2); |
| 255 | + } else { |
| 256 | + if (Math.abs(corner1) == 80) { |
| 257 | + if (corner2 == -80) {corner2 += 2; break;} |
| 258 | + else if (corner2 == 80) {corner2 -= 2;break;} |
| 259 | + } |
| 260 | + corner2 += Integer.signum(corner2); |
| 261 | + } |
| 262 | + } |
| 263 | + Coord first; |
| 264 | + Coord second; |
243 | 265 |
|
| 266 | + if (direction == 0) { |
| 267 | + first = new Coord(BuilderState.corner1.getX(), BuilderState.corner1.getY(), corner1); |
| 268 | + second = new Coord(BuilderState.corner2.getX(), BuilderState.corner2.getY(), corner2); |
| 269 | + } else { |
| 270 | + first = new Coord(corner1, BuilderState.corner1.getY(), BuilderState.corner1.getZ()); |
| 271 | + second = new Coord(corner2, BuilderState.corner2.getY(), BuilderState.corner2.getZ()); |
| 272 | + } |
| 273 | + |
| 274 | + return ("Incorrect corners bozo, you should change them to §a" + first + " " + second + "§7. If you don't like these coords, check out #how-to-use and do it yourself"); |
| 275 | + } |
244 | 276 |
|
245 | 277 | public static void disableScript() { |
246 | 278 | BuilderState.enabled = false; |
|
0 commit comments