Core - Dablakbandit

 
I created this core for a network, and they have nicely allowed me to make it public, so I put all my DabCore and ChatAPI into it to make it better. This plugin does nothing by itself and has to be activated by other plugins.
 
This is the core for all my plugins. This will help all my plugins function at their best.
 
Before updating/installing this plugin stop the server and then install/update it, so my other plugins will not break.
 
ChatAPI:
 
Example code with explinations:
 
This will be updated soon
 
public class Example{

    // Firstly i recommend creating a method to send the JSONFormatter
    protected void send(JSONFormatter jf, Player player){
        // This allows the packets to go through
        PacketListener.getInstance().allow(player, jf.getSize());
        // This sends the packets
        jf.send(player);
    }

    // Another good method to have is one that stops chat packets from being
    // sent to the player
    protected void pause(Player player){
        PacketListener.getInstance().getListener().pause(player);
    }

    // And also one that restores the players chat after they have finished with
    // the gui
    protected void play(Player player){
        // This will resend the last 100 chat packets to player, if there is
        // only 50 to send,
        // then it will first send 50 blank packets
        PacketListener.getInstance().getListener().play(player);
    }

    // Basic send method
    public void send(Player player){
        // Whether newlines are enabled or not
        // Some minecraft version do not support new lines "\n"
        // It is best to have a setting in the config file to enable/disable this
        boolean newlines = false;
        JSONFormatter jf = new JSONFormatter(newlines);
 
        // Append a string
        // Some nice header
        jf.append("--------------");
        // This adds a new line
        jf.newLine();
        jf.append(" ");
 
        // Append a message with a click event
        // A click event is what happens when the player clicks it in their chat
        // There is RunCommandEvent or SuggestCommandEvent
        jf.appendClick(ChatColor.GREEN + "< Back", new RunCommandEvent("<command>" + " back"));
        jf.newLine();
        jf.newLine();
        jf.append(" " + ChatColor.RED + "Unsupported file");
 
        // There is also a hover event
        // There is ShowAchievementEvent, ShowItemEvent and ShowTextEvent
        jf.appendHover("Example", new ShowTextEvent("Hover"));
 
        // Resets just chat colors
        jf.resetColors();
        // Resets modifiers (italic, bold etc;)
        jf.resetModifiers();
        // Resets both, calling .newLine also resets all
        jf.resetAll();
 
        // Adds 15 blank lines
        // The Chat GUI can only be 20 lines high and you want it to be flush as to look nice
        jf.newLine(15);
        jf.append("--------------");
 
        // Calls the send method created earlier
        send(jf, player);
 
        // The JSONFormatter allows chaining which allows for very compact code
        jf.append("--------------").newLine()
        .append(" ").appendClick(ChatColor.GREEN + "< Back", new RunCommandEvent("<command>" + " back")).newLine().newLine()
        .append(" " + ChatColor.RED + "Unsupported file")
        .newLine(15)
        .append("--------------");
    }

}

 

This produces something like:

Example video:

About This Project

  • Project ID
    638931
  • Created
    Jul 1, 2022
  • Last Released File
    Feb 17, 2024
  • Total Downloads
    2,704
  • License

Categories

Members

Recent Files

Bukkit