Untitled

 avatar
unknown
javascript
a year ago
5.3 kB
13
Indexable
let SmartInventory = Java.type("fr.minuskube.inv.SmartInventory");
let InventoryProvider = Java.type("fr.minuskube.inv.content.InventoryProvider");
let ClickableItem = Java.type("fr.minuskube.inv.ClickableItem");
let SlotPos = Java.type("fr.minuskube.inv.content.SlotPos");

class Gui {

    main() {
        return SmartInventory.builder()
            .id("skills-main")
            .provider(new (Java.extend(InventoryProvider, {
                init: (player, contents) => {
                    let GuiAPI = API.getTempData("GUI-API");

                    contents.fill(ClickableItem.empty(GuiAPI.border()));
                    contents.set(1, 4, ClickableItem.of(GuiAPI.item(4843, 0)
                            .name("&6Lista de Habilidades")
                            .line("&7¡Muestra una lista con todas las habilidades!")
                            .empty()
                            .line("&e¡Clic para ver!")
                            .breakLines(38)
                            .build(), event => this.skills().open(player)));
                },
    
                update: (player, contents) => {
                
                }
            })))
            .size(3, 9)
            .title("Menú de Habilidades")
            .build();
    }

    skills() {
        return SmartInventory.builder()
            .id("skills-list")
            .provider(new (Java.extend(InventoryProvider, {
                init: (player, contents) => {
                    let GuiAPI = API.getTempData("GUI-API");
                    let NbtAPI = API.getTempData("NBT-API");

                    let skills = NbtAPI.getSkills(player);

                    let handler = id => {
                        let skill = skills[id];

                        if (!skill) {
                            // BUY
                            return;
                        }
                            
                        // UPGRADE
                    };
                
                    contents.fill(ClickableItem.empty(GuiAPI.border()));
                    contents.set(1, 1, ClickableItem.of(GuiAPI.item(5006, 0)
                            .name("&6Fusión")
                            .line("&b¡Brinda la capacidad de combinar los atributos de dos jugadores!")
                            .empty()
                            .line("&7Los atributos del jugador espectador se fusionan con los del jugador controlador.")
                            .empty()
                            .line("&7Puedes acceder a esta función desde el menú de acciones.")
                            .empty()
                            .line(skills["Fusion"] ? "&e¡Clic para mejorar!" : "&e¡Clic para desbloquear!")
                            .breakLines(38)
                            .build(), event => handler("Fusion")));

                    contents.set(2, 2, ClickableItem.of(GuiAPI.item(262, 0)
                            .name("&6Salto")
                            .line("&b¡Te permite saltar más alto!")
                            .empty()
                            .line("&7Amplía tus habilidades de salto, permitiéndote alcanzar alturas superiores de manera más sencilla.")
                            .empty()
                            .line(skills["Jump"] ? "&e¡Clic para mejorar!" : "&e¡Clic para desbloquear!")
                            .breakLines(38)
                            .build(), event => handler("Jump")));

                    contents.set(3, 1, ClickableItem.of(GuiAPI.item(317, 0)
                            .name("&6Sprint")
                            .line("&b¡Te permite correr más rápido!")
                            .empty()
                            .line("&7Al realizar doble toque tendrás la habilidad de esquivar.")
                            .empty()
                            .line("&7Puedes cambiarlo en el menú de acciones.")
                            .empty()
                            .line(skills["Dash"] ? "&e¡Clic para mejorar!" : "&e¡Clic para desbloquear!")
                            .breakLines(38)
                            .build(), event => handler("Dash")));

                    contents.set(4, 2, ClickableItem.of(GuiAPI.item(288, 0)
                            .name("&6Vuelo")
                            .line("&b¡Te permite volar!")
                            .empty()
                            .line("&7Al realizar doble toque hacia adelante, podrás volar rápidamente una corta distancia.")
                            .empty()
                            .line("&7Puedes cambiarlo en el menú de acciones.")
                            .empty()
                            .line(skills["Fly"] ? "&e¡Clic para mejorar!" : "&e¡Clic para desbloquear!")
                            .breakLines(38)
                            .build(), event => handler("Fly")));
                },
    
                update: (player, contents) => {
                
                }
            })))
            .size(6, 9)
            .title("Lista de Habilidades")
            .build();
    }

}

function onInit() {
    API.setTempData("SKILLS-GUI", new Gui());
}
Editor is loading...
Leave a Comment