private void LoadCartsForRiders() { // this will only be used on a /reload, since otherwise no players are online. List<MinecartManiaMinecartDataTable> entries = MinecartManiaMinecartDataTable.getAlltCarts(); if (entries != null) { for (MinecartManiaMinecartDataTable entry : entries) { if (getServer().getPlayer(entry.owner) != null) { Player p = getServer().getPlayer(entry.owner); if (p.isOnline()) { MinecartManiaPlayer player = MinecartManiaWorld.getMinecartManiaPlayer(p); PlayerListener.spawnCartForRider(player, entry); MinecartManiaMinecartDataTable.delete(entry); } } } } }
private void SaveCartsWithRiders() { MinecartManiaWorld.pruneMinecarts(); for (MMMinecart minecart : MinecartManiaWorld.getMinecartManiaMinecartList()) { MinecartManiaMinecartDataTable data = null; if (minecart.hasPlayerPassenger()) { Logger.debug("Saving minecart for " + minecart.getPlayerPassenger().getName()); data = new MinecartManiaMinecartDataTable(minecart, minecart.getPlayerPassenger().getName()); try { MinecartManiaMinecartDataTable.save(data); minecart.killNoReturn(); } catch (Exception e) { Logger.severe("Failed to save minecart!"); e.printStackTrace(); Logger.logCore(e.getMessage(), false); } } else { // data = new MinecartManiaMinecartDataTable(minecart, "MMRESTART"); } } }