]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/gui/LoadSavesScreen.java
9d941e1c3e2b34016c60049788055c4cc266cb37
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / gui / LoadSavesScreen.java
1 package com.irtimaled.bbor.client.gui;
2
3 import net.minecraft.client.AnvilConverterException;
4 import net.minecraft.client.Minecraft;
5 import net.minecraft.world.storage.ISaveFormat;
6 import net.minecraft.world.storage.WorldSummary;
7
8 import java.util.List;
9
10 public class LoadSavesScreen extends ListScreen {
11     public static void show() {
12         Minecraft.getInstance().displayGuiScreen(new LoadSavesScreen());
13     }
14
15     @Override
16     protected void setup() {
17         ControlList controlList = this.getControlList();
18         controlList.showSelectionBox();
19         try {
20             final ISaveFormat saveLoader = this.mc.getSaveLoader();
21             List<WorldSummary> saveList = saveLoader.getSaveList();
22             saveList.sort(null);
23             saveList.forEach(world -> controlList.add(new WorldSaveRow(world, saveLoader)));
24         } catch (AnvilConverterException e) {
25             e.printStackTrace();
26         }
27     }
28
29     @Override
30     protected void onDoneClicked() {
31         ((WorldSaveRow) this.getControlList().getSelectedEntry()).loadWorld();
32     }
33
34     @Override
35     public void render(int mouseX, int mouseY, float unknown) {
36         ControlListEntry selectedEntry = this.getControlList().getSelectedEntry();
37         this.getDoneButton().enabled = selectedEntry != null && selectedEntry.getVisible();
38         super.render(mouseX, mouseY, unknown);
39     }
40 }