diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/world/WorldEditSelectionSaver.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/world/WorldEditSelectionSaver.java index efd987d0..7a1e2f4e 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/world/WorldEditSelectionSaver.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/world/WorldEditSelectionSaver.java @@ -20,6 +20,7 @@ package de.steamwar.bausystem.features.world; import com.sk89q.worldedit.regions.RegionSelector; +import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.shared.Pair; import de.steamwar.bausystem.utils.WorldEditUtils; import de.steamwar.linkage.Linked; @@ -33,6 +34,7 @@ import org.bukkit.event.player.PlayerQuitEvent; import java.io.*; import java.util.List; +import java.util.logging.Level; import java.util.stream.Collectors; @Linked @@ -47,7 +49,7 @@ public class WorldEditSelectionSaver implements Listener { @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { SteamwarUser steamwarUser = SteamwarUser.get(event.getPlayer().getUniqueId()); - File file = new File(WORLD_EDIT_SELECTIONS, steamwarUser.getId() + ""); + File file = new File(WORLD_EDIT_SELECTIONS, Integer.toString(steamwarUser.getId())); if (!file.exists()) return; try { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file))); @@ -58,6 +60,7 @@ public class WorldEditSelectionSaver implements Listener { .collect(Collectors.toList()); WorldEditUtils.setVertices(event.getPlayer(), clazz, locations); } catch (IOException | ClassNotFoundException e) { + BauSystem.getInstance().getLogger().log(Level.SEVERE, e.getMessage(), e); file.delete(); } } @@ -69,12 +72,13 @@ public class WorldEditSelectionSaver implements Listener { File file = new File(WORLD_EDIT_SELECTIONS, steamwarUser.getId() + ""); try { BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file))); - bufferedWriter.write(data.getKey().getTypeName() + "\n"); + bufferedWriter.write(data.getKey().getTypeName()); for (Location location : data.getValue()) { - bufferedWriter.write(location.getBlockX() + " " + location.getBlockY() + " " + location.getBlockZ() + "\n"); + bufferedWriter.write("\n" + location.getBlockX() + " " + location.getBlockY() + " " + location.getBlockZ()); } bufferedWriter.close(); } catch (IOException e) { + BauSystem.getInstance().getLogger().log(Level.SEVERE, e.getMessage(), e); file.delete(); } } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/WorldEditUtils.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/WorldEditUtils.java index 2d104e9e..ba47c1ed 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/WorldEditUtils.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/WorldEditUtils.java @@ -105,7 +105,7 @@ public class WorldEditUtils { SelectorLimits selectorLimits = ActorSelectorLimits.forActor(BukkitAdapter.adapt(player)); regionSelector.selectPrimary(BukkitAdapter.adapt(vertices.get(0)).toBlockPoint(), selectorLimits); for (int i = 1; i < vertices.size(); i++) { - regionSelector.selectSecondary(BukkitAdapter.adapt(vertices.get(0)).toBlockPoint(), selectorLimits); + regionSelector.selectSecondary(BukkitAdapter.adapt(vertices.get(i)).toBlockPoint(), selectorLimits); } }