Development/Adding Flag/Example

import hu.abyss.zure.flag.ZoneFlag;

public class MyFlag extends ZoneFlag implements ZureCommand {

  @Override
  public String getFlagName() {
    return "Description";
  }

  public void loadData(ZoneAttributes zone, Tag.Data data) {
    Tag myTag = data.getChild("DESCRIPTION");
    if (myTag == null)
      return;
    data.remove(myTag);
    String desc = (int)myTag.getValue("text", null);
    if (desc != null)
      zone.setFlagData("description", desc) {
    }
  }

  @Override
  public void onZureCommand(CArgs cmd) {
    if (cmd.getLabel().equalsIgnoreCase("zone") && cmd.arg(1).equalsIgnoreCase("desc")) {
      Player p = cmd.getSender() instanceof Player ? ((Player)cmd.getSender()) : null;
      if (p == null) {
        cmd.inform("§7Only players can use this command.");
        return;
      }
      Zone z = ZoneManager.getZoneAt(p.getLocation());
      if (z == null) {
        cmd.inform("§7No zones found here.");
        return;
      }
      Object data = z.getAttributes().getFlagData("DESCRIPTION");
      if (data != null) {
        String desc = (String)data;
        cmd.inform("§6" + desc);
      } else
        cmd.inform("§7No description for this zone");
    }
  }

}

Comments

Posts Quoted:
Reply
Clear All Quotes