diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/world/ClipboardListener.java b/BauSystem_Main/src/de/steamwar/bausystem/features/world/ClipboardListener.java index c9d3887c..90cd94ec 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/world/ClipboardListener.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/world/ClipboardListener.java @@ -36,21 +36,26 @@ public class ClipboardListener implements Listener { @EventHandler public void onLogin(PlayerJoinEvent e) { - if(!Permission.SUPERVISOR.hasPermission(e.getPlayer())) return; + if (!Permission.SUPERVISOR.hasPermission(e.getPlayer())) return; + SchematicNode schematic; try { - SchematicNode schematic = SchematicNode.getSchematicNode(SteamwarUser.get(e.getPlayer().getUniqueId()).getId(), CLIPBOARD_SCHEMNAME, (Integer) null); - if (schematic != null) { - new SchematicData(schematic).loadToPlayer(e.getPlayer()); - } + schematic = SchematicNode.getSchematicNode(SteamwarUser.get(e.getPlayer().getUniqueId()).getId(), CLIPBOARD_SCHEMNAME, (Integer) null); + } catch (Exception ex) { + return; + } + if (schematic == null) return; + try { + new SchematicData(schematic).loadToPlayer(e.getPlayer()); } catch (Exception ex) { // ignore cause players do all kind of stuff with schematics.... like massively oversized schems + schematic.delete(); } } @EventHandler public void onLogout(PlayerQuitEvent e) { - if(!Permission.SUPERVISOR.hasPermission(e.getPlayer())) return; + if (!Permission.SUPERVISOR.hasPermission(e.getPlayer())) return; SchematicNode schematic = SchematicNode.getSchematicNode(SteamwarUser.get(e.getPlayer().getUniqueId()).getId(), CLIPBOARD_SCHEMNAME, (Integer) null); boolean newSchem = false;