private FileMenu()
        {
            super("File");
            setMnemonic(KeyEvent.VK_F);

            add(new JMenu("New") {
                {
                    setMnemonic(KeyEvent.VK_N);
                    add(new SeedMenuItem());
                    add(new FileMenuItem());
                    add(new RandomSeedMenuItem());
                    // add(new JMenuItem("From Server"));
                }
            });

            reloadMap = add(new JMenuItem("Reload") {
                {
                    setEnabled(false);
                    setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_DOWN_MASK));
                    addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e)
                        {
                            long seed = Options.instance.seed;
                            if (window.curProject != null)
                            {
                                String worldTypePreference = Options.instance.worldType.get();
                                SaveLoader.Type worldType = null;
                                if (worldTypePreference.equals("Prompt each time"))
                                {
                                    if (window.curProject.worldType == null)
                                    {
                                        worldType = choose("New Project", "Enter world type\n", SaveLoader.selectableTypes);
                                    }
                                    else
                                    {
                                        worldType = SaveLoader.Type.fromMixedCase(window.curProject.worldType);
                                    }
                                }
                                else
                                {
                                    worldType = SaveLoader.Type.fromMixedCase(worldTypePreference);
                                }
                                String mapTypePreference = Options.instance.mapType.get();
                                if (mapTypePreference.equals("Climate Control"))
                                {
                                    MinecraftUtil.setBiomeInterface(Util.ccInterface);
                                }
                                else
                                {
                                    MinecraftUtil.setBiomeInterface(Util.mcInterface);
                                }

                                if (worldType != null)
                                {
                                    Point centerLocation = new Point((int)(window.curProject.map.getWidth() * 0.5F), (int)(window.curProject.map.getHeight() * 0.5F));
                                    final int mapY = window.curProject.map.getMap().screenToLocal(centerLocation.getLocation()).y;
                                    final int mapX = window.curProject.map.getMap().screenToLocal(centerLocation.getLocation()).x;
                                    window.clearProject();
                                    window.setProject(new Project(seed, worldType.getValue()));
                                    Timer timer = new Timer();
                                    timer.schedule(new TimerTask() {
                                        public void run()
                                        { 
                                            window.curProject.moveMapTo(mapX, mapY);
                                        }
                                    }, 20);
                                }
                            }
                        }
                    });
                }
            });

            add(new JMenuItem("Save player locations") {
                {
                    setEnabled(MinecraftUtil.getVersion().saveEnabled());
                    setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK));
                    addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e)
                        {
                            if (window.curProject.saveLoaded)
                            {
                                for (MapObjectPlayer player : window.curProject.save.getPlayers())
                                {
                                    if (player.needSave)
                                    {
                                        window.curProject.save.movePlayer(player.getName(), player.globalX, player.globalY);
                                        player.needSave = false;
                                    }
                                }
                            }
                        }
                    });
                }
            });

            add(new JMenuItem("Exit") {
                {
                    addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e)
                        {
                            System.exit(0);
                        }
                    });
                }
            });
        }