Git Product home page Git Product logo

az_launcher_api's Introduction

AZ Launcher (aka Pactify Launcher) API


Cette API a pour but d'implémenter d'une part, les fonctionnalités offertes par le PLSP Protocol permettant de communiquer avec le AZ Launcher. Et d'autre part les autres fonctionnalités liées au Launcher (menus GUIs).

Version de Minecraft testée : CraftBukkit version git-Spigot-c6871e2-e1d3516 (MC: 1.9.4)

Ce repository n'est sans doute pas complet et peut être amélioré. Libre à vous d'y contribuer !

Installation

Téléchargez le .jar dans les releases (ou compillez-le) et ajoutez-le en dépendance de votre projet. Compillez-le avec votre plugin final.

Utilisation

PLSP

Pour fonctionner, vous devez nécéssairement instancier le PactifyManager au lancement de votre plugin.

private PactifyManager pactifyManager;

@Override
public void onEnable() {
    pactifyManager = new PactifyManager(this); //Instanciation par défaut
    //Instanciation avec des ConfFlags par défauts
    //Ceux-ci seront envoyés lorsqu'un joueur rejoint.
    pactifyManager = new PactifyManager(this, Arrays.asList(PLSPConfFlag.SEE_CHUNKS, PLSPConfFlag.SMOOTH_EXPERIENCE_BAR));
}

Exemple de transformation

@EventHandler
public void onJoin(PlayerJoinEvent event) {
    pactifyManager.getPlayer(event.getPlayer()).rescalePlayer(1.5f);
    pactifyManager.getPlayer(event.getPlayer()).editOpacity(0.8f);
    pactifyManager.getPlayer(event.getPlayer()).transformIntoMob(EntityType.ZOMBIE);
    //Ou
    PactifyTransformation trans = new PactifyTransformation(EntityType.ZOMBIE, 1.5f);
    trans.setOpacity(0.8f);
    pactifyManager.getPlayer(event.getPlayer()).setTransformation(trans);
    pactifyManager.getPlayer(event.getPlayer()).applyTransformation();
}

NBT GUIs

Exemple d'utilisation des NBT GUIs.

event.getPlayer().getInventory().setItem(4, new PactifyItem(new ItemStack(Material.QUARTZ_BLOCK))
    .addPacDisplay(new PacDisplay()
        .setSprite(Sprite.EMOJI)
        .setSpriteData("\uEEEE\uDBFF\uDF2D")
         .setChilds(new PactifyItem.PacDisplayChild()
            .setMaterial(Material.GRASS)
            .setCount(1)
            .setPactifyDisplay(new PacDisplay()
                .setSprite(Sprite.EMOJI)
                .setSpriteData("\uEEEE\uDBFF\uDEE6")
                .setScale(1.2f)
                .setZIndex(-1.0f)
            )
        )
    ).addPacMenu(new PacMenu()
        .setBackground(false)
        .setState(PactifyItem.MenuState.DISABLED)
    ).getItemStack());

GUIs Transparants

À venir ...

Remerciements

Merci beaucoup à @nathan818fr pour

  • son travail sur le AZ Launcher,
  • d'avoir rendu ces informations disponibles,
  • ses quelques coups de main
  • son autorisation pour ce repo.

AZ Launcher (aka Pactify Launcher) API

This API has been made for

  • Implement the functionalities included in the PLSP Protocol which allow to communicate with the AZ Launcher.
  • Integrate other functionalities related to the Launcher such as NBT GUIs.

Tested minecraft version : CraftBukkit version git-Spigot-c6871e2-e1d3516 (MC: 1.9.4).

This repository might not be complete and can be improved. Feel free to contribute!

Installation

Download the .jar file in the releases (or compile it) and add it as a dependency to your project. Compile it with your final plugin.

Usage

PLSP

You need to instantiate the PactifyManager class at the start of your plugin.

private PactifyManager pactifyManager;

@Override
public void onEnable() {
    pactifyManager = new PactifyManager(this); //Instanciation par défaut
    //Instanciation avec des ConfFlags par défauts
    //Ceux-ci seront envoyés lorsqu'un joueur rejoint.
    pactifyManager = new PactifyManager(this, Arrays.asList(PLSPConfFlag.SEE_CHUNKS, PLSPConfFlag.SMOOTH_EXPERIENCE_BAR));
}

Transformation example

@EventHandler
public void onJoin(PlayerJoinEvent event) {
    pactifyManager.getPlayer(event.getPlayer()).rescalePlayer(1.5f);
    pactifyManager.getPlayer(event.getPlayer()).editOpacity(0.8f);
    pactifyManager.getPlayer(event.getPlayer()).transformIntoMob(EntityType.ZOMBIE);
    //Ou
    PactifyTransformation trans = new PactifyTransformation(EntityType.ZOMBIE, 1.5f);
    trans.setOpacity(0.8f);
    pactifyManager.getPlayer(event.getPlayer()).setTransformation(trans);
    pactifyManager.getPlayer(event.getPlayer()).applyTransformation();
}

NBT GUIs

NBT GUIs usage example.

event.getPlayer().getInventory().setItem(4, new PactifyItem(new ItemStack(Material.QUARTZ_BLOCK))
    .addPacDisplay(new PacDisplay()
        .setSprite(Sprite.EMOJI)
        .setSpriteData("\uEEEE\uDBFF\uDF2D")
         .setChilds(new PactifyItem.PacDisplayChild()
            .setMaterial(Material.GRASS)
            .setCount(1)
            .setPactifyDisplay(new PacDisplay()
                .setSprite(Sprite.EMOJI)
                .setSpriteData("\uEEEE\uDBFF\uDEE6")
                .setScale(1.2f)
                .setZIndex(-1.0f)
            )
        )
    ).addPacMenu(new PacMenu()
        .setBackground(false)
        .setState(PactifyItem.MenuState.DISABLED)
    ).getItemStack());

Clear GUI

Coming soon...

Many thanks

Thanks to @nathan818fr for

  • his work on the AZ Launcher,
  • making these informations available,
  • his assistance,
  • his permission for this repository.

az_launcher_api's People

Contributors

thebatteur avatar

Stargazers

Emilien Cosson avatar  avatar Just2Yuko avatar Anthony BILLON avatar cDhoom_ avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.