Sueta

WonderHUDAPI

v1.4

Create your own individualized HUD displays in your plugins!

·Plugin

REQUIRES: ProtocolLib

Check it out on GitHub!

This plugin does nothing on it's own! It is a library meant to be used by other plugins to easily allow them to display HUDs to players. This plugin will be needed as a dependency by the plugins that use it.

Display information in a whole new, innovative way with your plugins! WonderHUDAPI allows you to easily create, update, and remove HUD displays filled with your custom content.

The code that powers WonderHUD can now be easily utilized with a few easy to understand methods.

WonderHUDAPI Javadocs

API features coming soon:

  • New HUD positions (top right, top left, left, right, bottom right, bottom left)
  • HUD transition animations (slide left, slide up, etc)
  • Scrolling Text

Setup:

  1. Load ProtocolLib onto your server
  2. Place the WonderHUAPI.jar into your plugins folder and make sure it's loaded on your server
  3. Add the WonderHUDAPI.jar to the build path for your project.
  4. Add depend: [WonderHUDAPI] to your plugin.yml

Creating a new HUD with text content:

//Create lines of text to be displayed on the HUD
ArrayList<String> lines = new ArrayList<String>();
lines.add(ChatColor.DARK_RED + "WonderHUD");
lines.add("is");
lines.add(ChatColor.BOLD + "awesome!");

//spawnHUD(Player player, HUDPosition position, maxLines, ArrayList<String> lines)
//maxLines specifies the maximum number of lines the HUD will display
//if a HUD for a player already exists at this location then the method does nothing.
WonderHUD.spawnHUD(player, HUDPosition.TOP_CENTER, 5, lines);

RESULT:

Creating a new HUD with image content:

try
{
  //Path to an image on your server
  File imageFile = new File("plugins/WonderHUD/images/image.png");
  BufferedImage image = ImageIO.read(imageFile);

  //spawnHUD(Player player, HUDPosition position, int maxLines, BufferedImage image, int width, int height)
  //if a HUD for a player already exists at this location then the method does nothing.
  WonderHUD.spawnHUD(player, HUDPosition.TOP_CENTER, 50, image, 120, 40);
}
catch(IOException e){}

RESULT:

Updating an existing HUD with text content:

ArrayList<String> lines = new ArrayList<String>();
lines.add("This");
lines.add("is");
lines.add("some");
lines.add("new");
lines.add("text");

//updateHUD(Player player, HUDPosition position, ArrayList<String> lines)
//if the lines list is longer than the maxLines value of the HUD then it will cut off the additional lines!
//if no HUD exists at the given location for the player then the method does nothing
//updates the HUD at the given position. If no HUD exists at the given location for the player then the method does nothing
WonderHUD.updateHUD(player, HUDPosition.TOP_CENTER, lines);

Updating an existing HUD with image content:

try
{
  File imageFile = new File("plugins/WonderHUD/images/apple.jpg");
  BufferedImage image = ImageIO.read(imageFile);

  //updateHUD(Player player, HUDPosition position, BufferedImage image, width, height)
  //if the image height larger than the maxLines value of the HUD then it will cut off the additional lines!
  //if no HUD exists at the given location for the player then the method does nothing
  WonderHUD.updateHUD(player, HUDPosition.TOP_CENTER, image, 40, 40);
}
catch (IOException e) {}

Removing a single HUD:

//removeHUD(Player player, HUDPosition position)
//if no HUD exists for a player at the given position then the method does nothing
WonderHUD.removeHUD(player, HUDPosition.TOP_CENTER);

Remove all HUDs for a player:

//removeAllHUDs(Player player)
WonderHUD.removeAllHUDs(player);

Similar projects

Plugin →