Example #1
0
  @Override
  public void use(VPlayer vplayer, Player player) {
    Conf conf = Conf.get(player);
    vplayer.msg("");
    vplayer.msg(this.desc);

    if (!VPerm.ALTAR_LIGHT.has(player, true)) return;

    if (!vplayer.isVampire() && playerHoldsWaterBottle(player)) {
      if (!ResourceUtil.playerRemoveAttempt(
          player,
          conf.holyWaterResources,
          Lang.altarLightWaterResourceSuccess,
          Lang.altarLightWaterResourceFail)) return;
      ResourceUtil.playerAdd(player, HolyWaterUtil.createItemStack());
      vplayer.msg(Lang.altarLightWaterResult);
      vplayer.runFxEnderBurst();
      return;
    }

    vplayer.msg(Lang.altarLightCommon);
    vplayer.runFxEnder();

    if (vplayer.isVampire()) {
      if (!ResourceUtil.playerRemoveAttempt(
          player, this.resources, Lang.altarResourceSuccess, Lang.altarResourceFail)) return;
      vplayer.msg(Lang.altarLightVampire);
      player.getWorld().strikeLightningEffect(player.getLocation().add(0, 3, 0));
      vplayer.runFxEnderBurst();
      vplayer.setVampire(false);
      return;
    } else if (vplayer.isHealthy()) {
      vplayer.msg(Lang.altarLightHealthy);
    } else if (vplayer.isInfected()) {
      vplayer.msg(Lang.altarLightInfected);
      vplayer.setInfection(0);
      vplayer.runFxEnderBurst();
    }
  }