private ForgeDirection getMovementDirection( int x, int y, int z, ForgeDirection last, Random rand) { // if (rand.nextInt(3) == 0 && this.canMove(x, y, z, last) && !this.hasCellFrom(x, y, z, last)) // //bias towards continuing direction // return last; last = pathCache.getLast().getOpposite(); // ReikaJavaLibrary.pConsole("Data at "+x+", "+y+", "+z+"; last is "+last); ArrayList<ForgeDirection> li = ReikaJavaLibrary.makeListFromArray(ForgeDirection.VALID_DIRECTIONS); int idx = rand.nextInt(li.size()); while (li.get(idx) == last || !this.canMove(x, y, z, li.get(idx)) || this.hasCellFrom(x, y, z, li.get(idx))) { li.remove(idx); // dir = ForgeDirection.VALID_DIRECTIONS[rand.nextInt(6)]; if (li.isEmpty()) { for (int i = 0; i < 6; i++) { ForgeDirection dir = ForgeDirection.VALID_DIRECTIONS[i]; // ReikaJavaLibrary.pConsole(dir+": LAST="+(dir == last)+"| CANMOVE="+!this.canMove(x, y, // z, dir)+"| HAS="+this.hasCellFrom(x, y, z, dir)); } // ReikaJavaLibrary.pConsole("UNVISIT="+this.hasUnvisitedNeighbors(x, y, z)); // ReikaJavaLibrary.pConsole("Had no paths yet has an unvisited neighbor?!!"); } idx = rand.nextInt(li.size()); // ReikaJavaLibrary.pConsole("Random testing "+idx+" of "+li.size()); } if (li.isEmpty()) { // ReikaJavaLibrary.pConsole("Had no paths yet has an unvisited neighbor?!!"); } return li.get(idx); }
private void collectSortAndReplace(Comparator c) { ArrayList<CreativeTabs> list = ReikaJavaLibrary.makeListFromArray(CreativeTabs.creativeTabArray); for (CreativeTabs t : childTabs) { list.remove(t); } Collections.sort(list, c); for (CreativeTabs p : tabGroups.keySet()) { LinkedList<CreativeTabs> ch = tabGroups.get(p); int index = list.indexOf(p) + 1; for (CreativeTabs t : ch) { list.add(index, t); index++; } } CreativeTabs.creativeTabArray = new CreativeTabs[list.size()]; for (int i = 0; i < list.size(); i++) { CreativeTabs t = list.get(i); t.tabIndex = i; CreativeTabs.creativeTabArray[i] = t; } }
public final void renderAll(boolean a, boolean b, boolean c, boolean d) { Object[] arr = {a, b, c, d}; this.renderAll(ReikaJavaLibrary.makeListFromArray(arr), 0); }
public ArrayList<MazePath> getPaths() { return ReikaJavaLibrary.makeListFromArray(solutions); }