GithubHelp home page GithubHelp logo

common's People

Contributors

feliperos19 avatar gabrizete avatar

common's Issues

Novo Recurso de Mensagens

Adicionar um método de envio de mensagens customizadas dentro da estrutura de mensagens atual. (Messages.java)

Exemplo de implementação:

public void sendCustomMessage(@NotNull CommandSender commandSender, @NotNull String customMessage) {
    commandSender.sendMessage(StringUtils.format(customMessage));
}

Estrutura de Mensagens

Alterar na estrutura de mensagens de Player para CommandSender, assim permitindo 1 único método enviar mensagem para console e para jogadores, ou adicionar um método para envio de mensagens especificamente para instância Console.

Inventários

Adicionar um recurso para criação de Inventários Customizados.
Requisitos:

  • Inventários Unitários;
  • Inventários Paginados;
  • Gerenciador de Eventos;

Validação de Tipos

Adicionar uma Utils para verificar se é madeira, para verificar se é planta ou outras coleções.

Recurso de Dados

Adicionar uma interface de declaração para criação de tabelas utilizando o common.
Exemplo:

public interface Data<K, T> {
    public void createTable();
    public boolean insert(T object);
    public T get(K key);
    public boolean update(T object)
    public boolean delete(K key);
}

K sendo o tipo de Chave que essa classe de dados utilizaria.
T sendo genérico referenciando a algum objeto pré construido.

Estes métodos básicos são apenas uma específicação inicial, caso o desenvolvedor tenha necessidade poderá implementar métodos adicionais a classe de Data desenvolvida.

Preenchimento de Inventário

Adicionar um sistema aos Inventários para preencher todos os espaços vazios.

Exemplo:

public Inventory() {
  super(InventoryName, InventorySize);
  this.fill(ItemStack);
}

Hologramas

Sistema de hologramas com:

  • Sistema de Hologramas Client/Server side;
  • Sistema de disposição de Itens dentro do Holograma;
    • Animações para os Itens;
  • AutoUpdate de Hologramas;
  • Interação com Hologramas;

Atualização Inventário

Criar um recurso para atualizar Inventários abertos a cada X tempo, este recurso seria interessante para criar atualizações de interação ou modificações de gráficos em inventários.

Recurso de Configuração

Adicionar um recurso de criação de configurações customizadas. Permitindo o programador ter uma maior facilidade para desenvolver novos arquivos YML.

feat(GUI): mudar do super para metodos get

Mudar do super para get para ter mais flexibilidade podendo colocar váriaveis.

agora:

public class MyGUI extends InventoryImplementation {

    public MyGUI() {
        super("teste", 9 * 4);
    }
}

como ficaria:

public class MyGUI extends InventoryImplementation {

    private final String title;
    private final Player player;

    public MyGUI(final JavaPlugin plugin, final Player player) {
        this.title = "Titulo: %s | PlayerName: %s".formatter(plugin.getConfig().getString("gui.title"), player.getName())
    }

    @Override
    public String getTitle() {
        return this.title;
    }

    @Override
    public int getSize() {
        return 9 * 4;
    }
}

Itens

Adicionar um recurso para criação de Itens Customizados.
Requisitos:

  • Customização de displayName;
  • Customização de lore;
  • Customização de durability;
  • Itens baseados em Cabeças Customizadas;

Update: Data interface

Sugestão de alteração na br.com.rabbihole.common.core.sql.Data:
Alterar o método public void createTable(); para -> public boolean createTable() assim permitindo que em caso de exceção o desenvolvedor consiga verificar através do retorno e tomar alguma decisão. Como por exemplo:
Em caso de retorno False parar a inicialização do plugin ou algo similar, a fim de uma maior confiabilidade do código.

Serialização

Adicionar um sistema que permita serializar classes como Player.java, ItemStack.java, Inventory.java, Location.java para Base64 assim permitindo serem enviadas para o banco de dados de uma maneira mais simplificada.

Update Data interface

Sugestão de alteração na br.com.rabbithole.common.core.sql.Data:
Alterar o método public boolean insert(V value) para -> public boolean insert(K key, V value) assim abrangendo maiores possibilidades de código.

Documentação

Adicionar documentação para os recursos de Itens e Inventários.

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.