public static void saveAllGates(World world) { String loc = Stargate.getSaveLocation() + "/" + world.getName() + ".db"; try { BufferedWriter bw = new BufferedWriter(new FileWriter(loc, false)); for (Portal portal : allPortals) { String wName = portal.world.getName(); if (!wName.equalsIgnoreCase(world.getName())) continue; StringBuilder builder = new StringBuilder(); Blox sign = new Blox(portal.id.getBlock()); Blox button = portal.button; builder.append(portal.name); builder.append(':'); builder.append(sign.toString()); builder.append(':'); builder.append((button != null) ? button.toString() : ""); builder.append(':'); builder.append(portal.modX); builder.append(':'); builder.append(portal.modZ); builder.append(':'); builder.append(portal.rotX); builder.append(':'); builder.append(portal.topLeft.toString()); builder.append(':'); builder.append(portal.gate.getFilename()); builder.append(':'); builder.append(portal.isFixed() ? portal.getDestinationName() : ""); builder.append(':'); builder.append(portal.getNetwork()); builder.append(':'); builder.append(portal.getOwner()); builder.append(':'); builder.append(portal.isHidden()); builder.append(':'); builder.append(portal.isAlwaysOn()); builder.append(':'); builder.append(portal.isPrivate()); builder.append(':'); builder.append(portal.world.getName()); builder.append(':'); builder.append(portal.isFree()); builder.append(':'); builder.append(portal.isBackwards()); builder.append(':'); builder.append(portal.isShown()); bw.append(builder.toString()); bw.newLine(); } bw.close(); } catch (Exception e) { Stargate.log.log(Level.SEVERE, "Exception while writing stargates to " + loc + ": " + e); } }