Beispiel #1
0
 /*
  * Добавлене сообщения в список
  * Убираются цвета.
  * Параметры:
  * key - ключ сообщения
  * txt - текст сообщения
  */
 public void addMSG(String key, String txt) {
   msg.put(
       key,
       ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&', lng.getString(key, txt))));
   if (msglist.isEmpty()) msglist = key;
   else msglist = msglist + "," + key;
 }
Beispiel #2
0
 private boolean compareItemName(ItemStack item, String istrname) {
   if (istrname.isEmpty() && (!itemHasName(item))) return true;
   if ((!istrname.isEmpty()) && itemHasName(item)) {
     String name = ChatColor.translateAlternateColorCodes('&', istrname.replace("_", " "));
     return item.getItemMeta().getDisplayName().equals(name);
   }
   return false;
 }
Beispiel #3
0
 public String itemToString(ItemStack item) {
   String str = "";
   String n =
       item.getItemMeta().hasDisplayName()
           ? ChatColor.stripColor(item.getItemMeta().getDisplayName())
           : item.getType().name();
   String a = item.getAmount() > 1 ? "*" + item.getAmount() : "";
   str = n + a;
   return str;
 }
Beispiel #4
0
 public FGUtilCore(
     JavaPlugin plg, boolean savelng, String lng, String plgcmd, String permissionPrefix) {
   this.permprefix = permissionPrefix.endsWith(".") ? permissionPrefix : permissionPrefix + ".";
   this.plg = plg;
   this.des = plg.getDescription();
   this.language = lng;
   this.InitMsgFile();
   this.initStdMsg();
   this.fillLoadedMessages();
   this.savelng = savelng;
   this.plgcmd = plgcmd;
   this.px = ChatColor.translateAlternateColorCodes('&', "&3[" + des.getName() + "]&f ");
 }
Beispiel #5
0
  public ItemStack parseItemStack(String itemstr) {
    if (itemstr.isEmpty()) return null;

    String istr = itemstr;
    String enchant = "";
    String name = "";

    if (istr.contains("$")) {
      name = istr.substring(0, istr.indexOf("$"));
      istr = istr.substring(name.length() + 1);
    }
    if (istr.contains("@")) {
      enchant = istr.substring(istr.indexOf("@") + 1);
      istr = istr.substring(0, istr.indexOf("@"));
    }
    int id = -1;
    int amount = 1;
    short data = 0;
    String[] si = istr.split("\\*");

    if (si.length > 0) {
      if (si.length == 2) amount = Math.max(getMinMaxRandom(si[1]), 1);
      String ti[] = si[0].split(":");
      if (ti.length > 0) {
        if (ti[0].matches("[0-9]*")) id = Integer.parseInt(ti[0]);
        else {
          Material m = Material.getMaterial(ti[0].toUpperCase());
          if (m == null) {
            logOnce("wrongitem" + ti[0], "Could not parse item material name (id) " + ti[0]);
            return null;
          }
          id = m.getId();
        }
        if ((ti.length == 2) && (ti[1]).matches("[0-9]*")) data = Short.parseShort(ti[1]);
        ItemStack item = new ItemStack(id, amount, data);
        if (!enchant.isEmpty()) {
          item = setEnchantments(item, enchant);
        }
        if (!name.isEmpty()) {
          ItemMeta im = item.getItemMeta();
          im.setDisplayName(ChatColor.translateAlternateColorCodes('&', name.replace("_", " ")));
          item.setItemMeta(im);
        }
        return item;
      }
    }
    return null;
  }
Beispiel #6
0
  /*
   *  getMSG (String id, [char color1, char color2], Object param1, Object param2, Object param3... )
   */
  public String getMSG(Object... s) {
    String str = "&4Unknown message";
    String color1 = "&" + this.c1;
    String color2 = "&" + this.c2;
    if (s.length > 0) {
      String id = s[0].toString();
      str = "&4Unknown message (" + id + ")";
      if (msg.containsKey(id)) {
        int px = 1;
        if ((s.length > 1) && (s[1] instanceof Character)) {
          px = 2;
          color1 = "&" + s[1];
          if ((s.length > 2) && (s[2] instanceof Character)) {
            px = 3;
            color2 = "&" + s[2];
          }
        }
        str = color1 + msg.get(id);
        if (px < s.length)
          for (int i = px; i < s.length; i++) {
            String f = s[i].toString();
            if (s[i] instanceof Location) {
              Location loc = (Location) s[i];
              f =
                  loc.getWorld().getName()
                      + "["
                      + loc.getBlockX()
                      + ", "
                      + loc.getBlockY()
                      + ", "
                      + loc.getBlockZ()
                      + "]";
            }
            str = str.replace("%" + Integer.toString(i - px + 1) + "%", color2 + f + color1);
          }

      } else if (this.savelng) {
        addMSG(id, str);
        SaveMSG();
      }
    }
    return ChatColor.translateAlternateColorCodes('&', str);
  }
Beispiel #7
0
 public boolean compareItemStr(ItemStack item, String str) {
   String itemstr = str;
   String name = "";
   if (itemstr.contains("$")) {
     name = str.substring(0, itemstr.indexOf("$"));
     name = ChatColor.translateAlternateColorCodes('&', name.replace("_", " "));
     itemstr = str.substring(name.length() + 1);
   }
   if (itemstr.isEmpty()) return false;
   if (!name.isEmpty()) {
     String iname = item.hasItemMeta() ? item.getItemMeta().getDisplayName() : "";
     if (!name.equals(iname)) return false;
   }
   return compareItemStrIgnoreName(
       item.getTypeId(),
       item.getDurability(),
       item.getAmount(),
       itemstr); // ;compareItemStr(item, itemstr);
 }
Beispiel #8
0
 public void printMSG(CommandSender p, Object... s) {
   String message = getMSG(s);
   if ((!(p instanceof Player)) && (!colorconsole)) message = ChatColor.stripColor(message);
   p.sendMessage(message);
 }
Beispiel #9
0
 /*
  * Отправка цветного сообщения в консоль
  */
 public void SC(String msg) {
   plg.getServer()
       .getConsoleSender()
       .sendMessage(ChatColor.translateAlternateColorCodes('&', px + msg));
 }
Beispiel #10
0
 public void logOnce(String error_id, String msg) {
   if (log_once.contains(error_id)) return;
   log_once.add(error_id);
   log.info(ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&', px + msg)));
 }
  public void attachRocketBoots(Player player, ItemStack boots) {

    if (gamemodeCheck.check(player, GameMode.CREATIVE, GameMode.SPECTATOR)) {
      commonString.messageSend(
          RocketInit.getPlugin(), player, true, RocketLanguage.RB_GAMEMODE_ERROR);
      disableRocketBoots(player, false, false, false, false, false);
      return;
    }

    UUID playerUUID = player.getUniqueId();

    ItemMeta rocketMeta = boots.getItemMeta();
    Block blockMiddle = player.getLocation().getBlock().getRelative(BlockFace.SELF);

    Boolean isWaterVariant = false;
    Boolean isRunnerVariant = false;

    String[] rocketMessage = new String[3];
    rocketMessage[0] = RocketLanguage.RB_ACTIVATE;

    switch (rocketMeta.getLore().size()) {
      case 1:
        rocketMessage[1] = RocketLanguage.RB_VARIANT + RocketLanguage.RB_NOT_FOUND;
        rocketMessage[2] = RocketLanguage.RB_ENHANCE + RocketLanguage.RB_NOT_FOUND;
        RocketInit.rocketVariant.put(playerUUID, Variant.ORIGINAL);
        RocketInit.rocketEnhancement.put(playerUUID, RocketEnhancement.Enhancement.NOTHING);
        break;

      case 2:
        String loreLine = ChatColor.stripColor(rocketMeta.getLore().get(1));

        if (Variant.isVariant(loreLine)) {
          Variant variantType = Variant.getEnum(loreLine);
          if (variantType != null) {
            rocketMessage[1] = RocketLanguage.RB_VARIANT + loreLine;
            rocketMessage[2] = RocketLanguage.RB_ENHANCE + RocketLanguage.RB_NOT_FOUND;

            RocketInit.rocketVariant.put(playerUUID, variantType);
            RocketInit.rocketEnhancement.put(playerUUID, RocketEnhancement.Enhancement.NOTHING);

            if (variantType.equals(Variant.WATER)) isWaterVariant = true;
            if (variantType.equals(Variant.RUNNER)) isRunnerVariant = true;
          }
        }

        if (RocketEnhancement.Enhancement.isEnhancement(loreLine)) {
          RocketEnhancement.Enhancement enhancementType =
              RocketEnhancement.Enhancement.getEnum(loreLine);
          if (enhancementType != null) {
            rocketMessage[1] = RocketLanguage.RB_VARIANT + RocketLanguage.RB_NOT_FOUND;
            rocketMessage[2] = RocketLanguage.RB_ENHANCE + loreLine;

            RocketInit.rocketVariant.put(playerUUID, Variant.ORIGINAL);
            RocketInit.rocketEnhancement.put(playerUUID, enhancementType);
          }
        }
        break;

      case 3:
        String variantLore = ChatColor.stripColor(rocketMeta.getLore().get(1));
        String enhancementLore = ChatColor.stripColor(rocketMeta.getLore().get(2));

        Variant variantType = Variant.getEnum(variantLore);
        RocketEnhancement.Enhancement enhancementType =
            RocketEnhancement.Enhancement.getEnum(enhancementLore);

        if (variantType != null && enhancementType != null) {
          rocketMessage[1] = RocketLanguage.RB_VARIANT + variantLore;
          RocketInit.rocketVariant.put(playerUUID, variantType);

          if (variantType.equals(Variant.WATER)) isWaterVariant = true;
          if (variantType.equals(Variant.RUNNER)) isRunnerVariant = true;

          rocketMessage[2] = RocketLanguage.RB_ENHANCE + enhancementLore;
          RocketInit.rocketEnhancement.put(playerUUID, enhancementType);
        }
        break;
    }

    if (!isWaterVariant && blockMiddle.isLiquid()) {
      RocketInit.rocketWater.add(playerUUID);
      commonString.messageSend(
          RocketInit.getPlugin(), player, true, RocketLanguage.RB_WATER_WARNING);
      return;
    }

    if (RocketInit.rocketVariant.get(playerUUID) == null
        || RocketInit.rocketEnhancement.get(playerUUID) == null) {
      commonString.messageSend(RocketInit.getPlugin(), player, true, RocketLanguage.RB_FAIL_ATTACH);
      disableRocketBoots(player, false, false, false, false, false);
      return;
    }

    if (RocketInit.rocketVariant.get(playerUUID) != Variant.ORIGINAL
        && player.getWorld().getName().equals("world_nether")) {
      commonString.messageSend(RocketInit.getPlugin(), player, true, RocketLanguage.RB_NETHER);
      disableRocketBoots(player, false, false, false, false, false);
      return;
    }

    if (player.getInventory().getBoots() == null)
      if (gamemodeCheck.check(player, GameMode.SURVIVAL, GameMode.ADVENTURE)) {

        commonString.messageSend(RocketInit.getPlugin(), player, true, rocketMessage);
        if (!isRunnerVariant) player.setAllowFlight(true);
        RocketInit.rocketPower.put(playerUUID, getBootPowerLevel(boots));
      }
  }
Beispiel #12
0
 /*
  * Вывод сообщения пользователю
  */
 public void printMsg(CommandSender p, String msg) {
   String message = ChatColor.translateAlternateColorCodes('&', msg);
   if ((!(p instanceof Player)) && (!colorconsole)) message = ChatColor.stripColor(message);
   p.sendMessage(message);
 }
Beispiel #13
0
 /*
  *  Тоже, что и MSG, но обрезает цвет
  */
 public String getMSGnc(Object... s) {
   return ChatColor.stripColor(getMSG(s));
 }
Beispiel #14
0
 private String colorize(String input) {
   return ChatColor.translateAlternateColorCodes('&', input);
 }
Beispiel #15
0
 /*
  * Бродкаст сообщения, использую при отладке
  */
 public void BC(String msg) {
   plg.getServer().broadcastMessage(ChatColor.translateAlternateColorCodes('&', px + msg));
 }
Beispiel #16
0
 public String EnDis(String str, boolean b) {
   String str2 = ChatColor.stripColor(str);
   return b ? ChatColor.DARK_GREEN + str2 : ChatColor.RED + str2;
 }
Beispiel #17
0
 /*
  * Запись сообщения в лог
  */
 public void log(String msg) {
   log.info(ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&', px + msg)));
 }
Beispiel #18
0
 /**
  * Translates the color codes in given string.
  *
  * @param msg the string to convert
  * @return the converted string
  */
 public static String parseColors(String msg) {
   return ChatColor.translateAlternateColorCodes('&', msg);
 }
  public void interactRocketBoots(InventoryClickEvent event, ItemStack boots) {

    Player player = (Player) event.getWhoClicked();
    ClickType click = event.getClick();
    Boolean hasRocketMeta = boots.hasItemMeta();

    if (gamemodeCheck.check(player, GameMode.CREATIVE, GameMode.SPECTATOR)) {
      event.setCancelled(true);
      player.closeInventory();
      disableRocketBoots(player, false, false, false, false, false);
      commonString.messageSend(
          RocketInit.getPlugin(), player, true, RocketLanguage.RB_GAMEMODE_ERROR);
      return;
    }

    if (hasRocketMeta) {

      ItemMeta rocketMeta = boots.getItemMeta();

      if (rocketMeta.hasDisplayName())
        if (rocketMeta.getDisplayName().matches(ChatColor.RED + "Rocket Boots"))
          if (rocketMeta.hasLore()) {

            String rocketLore = rocketMeta.getLore().get(0);
            String variantLore = null;

            if (rocketMeta.getLore().size() >= 2)
              variantLore = ChatColor.stripColor(rocketMeta.getLore().get(1));

            Set<String> specialVariants = new HashSet<>(Collections.singletonList("Robin Hood"));

            if (variantLore != null)
              if (specialVariants.contains(variantLore)) {

                Variant variantType = Variant.getEnum(variantLore);

                if (variantType != null)
                  if (variantType == Variant.MONEY)
                    if (RocketInit.getVaultEconomy() == null) {
                      commonString.messageSend(
                          RocketInit.getPlugin(), player, true, RocketLanguage.RB_EQUIP_ERROR);
                      return;
                    }
              }

            if (rocketLore.matches(ChatColor.YELLOW + "Rocket Level I{0,3}V?X?"))
              if (!RocketInit.rocketUsage.contains(player.getUniqueId()))
                if (click == ClickType.MIDDLE) event.setCancelled(true);
                else attachRocketBoots(player, boots);
          }

    } else if (RocketInit.rocketSprint.containsKey(player.getUniqueId())) {

      commonString.messageSend(
          RocketInit.getPlugin(),
          player,
          true,
          new String[] {RocketLanguage.RB_COOLDOWN_TOUCH, RocketLanguage.RB_COOLDOWN_LAND});

      event.setCancelled(true);
      player.closeInventory();

    } else if (RocketInit.rocketPower.containsKey(player.getUniqueId()))
      disableRocketBoots(player, false, false, false, false, false);
  }