Fix things

This commit is contained in:
2024-08-21 18:26:33 +02:00
parent 007f0796ae
commit f375aa68b5
2 changed files with 8 additions and 4 deletions
@@ -20,6 +20,7 @@
package de.steamwar.bausystem.features.world; package de.steamwar.bausystem.features.world;
import com.sk89q.worldedit.regions.RegionSelector; import com.sk89q.worldedit.regions.RegionSelector;
import de.steamwar.bausystem.BauSystem;
import de.steamwar.bausystem.shared.Pair; import de.steamwar.bausystem.shared.Pair;
import de.steamwar.bausystem.utils.WorldEditUtils; import de.steamwar.bausystem.utils.WorldEditUtils;
import de.steamwar.linkage.Linked; import de.steamwar.linkage.Linked;
@@ -33,6 +34,7 @@ import org.bukkit.event.player.PlayerQuitEvent;
import java.io.*; import java.io.*;
import java.util.List; import java.util.List;
import java.util.logging.Level;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Linked @Linked
@@ -47,7 +49,7 @@ public class WorldEditSelectionSaver implements Listener {
@EventHandler @EventHandler
public void onPlayerJoin(PlayerJoinEvent event) { public void onPlayerJoin(PlayerJoinEvent event) {
SteamwarUser steamwarUser = SteamwarUser.get(event.getPlayer().getUniqueId()); 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; if (!file.exists()) return;
try { try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file))); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
@@ -58,6 +60,7 @@ public class WorldEditSelectionSaver implements Listener {
.collect(Collectors.toList()); .collect(Collectors.toList());
WorldEditUtils.setVertices(event.getPlayer(), clazz, locations); WorldEditUtils.setVertices(event.getPlayer(), clazz, locations);
} catch (IOException | ClassNotFoundException e) { } catch (IOException | ClassNotFoundException e) {
BauSystem.getInstance().getLogger().log(Level.SEVERE, e.getMessage(), e);
file.delete(); file.delete();
} }
} }
@@ -69,12 +72,13 @@ public class WorldEditSelectionSaver implements Listener {
File file = new File(WORLD_EDIT_SELECTIONS, steamwarUser.getId() + ""); File file = new File(WORLD_EDIT_SELECTIONS, steamwarUser.getId() + "");
try { try {
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file))); 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()) { 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(); bufferedWriter.close();
} catch (IOException e) { } catch (IOException e) {
BauSystem.getInstance().getLogger().log(Level.SEVERE, e.getMessage(), e);
file.delete(); file.delete();
} }
} }
@@ -105,7 +105,7 @@ public class WorldEditUtils {
SelectorLimits selectorLimits = ActorSelectorLimits.forActor(BukkitAdapter.adapt(player)); SelectorLimits selectorLimits = ActorSelectorLimits.forActor(BukkitAdapter.adapt(player));
regionSelector.selectPrimary(BukkitAdapter.adapt(vertices.get(0)).toBlockPoint(), selectorLimits); regionSelector.selectPrimary(BukkitAdapter.adapt(vertices.get(0)).toBlockPoint(), selectorLimits);
for (int i = 1; i < vertices.size(); i++) { 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);
} }
} }