public void setHalted(boolean halted) {
    this.isHalted = halted;

    if (halted) {
      player.setOp(false);
      player.setGameMode(GameMode.SURVIVAL);
      TFM_Util.setFlying(player, false);
      TFM_EssentialsBridge.setNickname(player.getName(), player.getName());
      player.closeInventory();
      player.setTotalExperience(0);

      stopOrbiting();
      setFrozen(true);
      setMuted(true);

      player.sendMessage(ChatColor.GRAY + "You have been halted, don't move!");
    } else {
      player.setOp(true);
      player.setGameMode(GameMode.CREATIVE);
      setFrozen(false);
      setMuted(false);

      player.sendMessage(ChatColor.GRAY + "You are no longer halted.");
    }
  }
 /**
  * Creates a new GraveYardSign with the given {@link PlayerDropModificator}
  *
  * @param piMod
  * @return the List of Items NOT saved
  */
 public List<ItemStack> createSign(PlayerDropModificator piMod) {
   Player player = piMod.getPlayer();
   SpawnSign sign = new SpawnSign(piMod).spawnSign();
   signs.add(sign);
   if (plugin.getConfigManager().getEXPMulti() >= 0) player.setTotalExperience(0);
   return new LinkedList<ItemStack>();
 }
Beispiel #3
0
 public static void resetPlayer(Player player) {
   player.setHealth(player.getMaxHealth());
   player.setFoodLevel(20);
   player.setSaturation(20);
   player.getInventory().clear();
   player
       .getInventory()
       .setArmorContents(
           new ItemStack[] {
             new ItemStack(Material.AIR),
             new ItemStack(Material.AIR),
             new ItemStack(Material.AIR),
             new ItemStack(Material.AIR)
           });
   for (PotionEffect effect : player.getActivePotionEffects()) {
     try {
       player.removePotionEffect(effect.getType());
     } catch (NullPointerException ignored) {
     }
   }
   player.setTotalExperience(0);
   player.setExp(0);
   player.setPotionParticles(true);
   player.setWalkSpeed(0.2F);
   player.setFlySpeed(0.2F);
 }
Beispiel #4
0
 private void xpstuff(Player player, Integer leftoverxp, Integer bottleamount) {
   HashMap<Integer, ItemStack> leftOver = new HashMap<Integer, ItemStack>();
   player.setTotalExperience(0);
   player.setExp(0);
   player.setLevel(0);
   player.giveExp(leftoverxp);
   ItemStack bottleoenchant = new ItemStack(384, bottleamount);
   leftOver.putAll(player.getInventory().addItem(new ItemStack(bottleoenchant)));
   if (!leftOver.isEmpty()) {
     Location loc = player.getLocation();
     player.getWorld().dropItem(loc, new ItemStack(384, leftOver.get(0).getAmount()));
   }
 }
  /**
   * saves the PlayerInventory to his deathChest returns an empty list if player has no Permission
   * or no DeathChest exists for the player
   *
   * @param player
   * @return the list of Items saved
   */
  private LinkedList<ItemStack> saveToDeathChest(Player player) {
    LinkedList<ItemStack> emptyReturnList = new LinkedList<ItemStack>();

    if (!simplePermissionUse(player)) return emptyReturnList;

    ChestContainer container = plugin.getChestContainer();
    if (!container.checkPlayerHasChest(player.getWorld(), player)) {
      return emptyReturnList;
    }

    int maxTransferItems = plugin.getChestContainer().getMaxTransferLimit(player);
    if (maxTransferItems <= 0) return emptyReturnList;

    ChestContainer chestContainer = container.getChestOfPlayer(player.getWorld(), player);

    ChestPosition chestPos = (ChestPosition) chestContainer;
    Location chestLocation = chestPos.getLocation();

    Block chestBlock = chestLocation.getBlock();

    if (chestBlock.getType() != Material.CHEST) {
      player.sendMessage(
          ChatColor.RED
              + "No chest found at Position: "
              + "X: "
              + chestLocation.getBlockX()
              + "Y: "
              + chestLocation.getBlockY()
              + "Z: "
              + chestLocation.getBlockZ());
      return emptyReturnList;
    }

    double multiplicator = plugin.getConfigManager().getEXPMulti();
    int totalExperience = (int) (player.getTotalExperience() * multiplicator);
    chestPos.addEXP(totalExperience);

    if (multiplicator != 0) player.setTotalExperience(0);

    LinkedList<ItemStack> toRemove =
        copyInventoryToChest((Chest) chestBlock.getState(), false, player);
    player.sendMessage(
        ChatColor.GREEN
            + "Your inventory was stored in your DeathChest on world: "
            + chestLocation.getWorld().getName()
            + ".");
    return toRemove;
  }
  private void setWorldDefault(Player player, Group group) {
    File file =
        new File(plugin.getDefaultFilesDirectory() + File.separator + group.getName() + ".json");
    if (!file.exists()) {
      plugin.getPlayerMessenger().sendMessage(player, "Default file for this group not found!");
      return;
    }

    File tmp =
        new File(
            plugin.getDataFolder()
                + File.separator
                + "data"
                + File.separator
                + player.getUniqueId()
                + File.separator
                + "tmp.json");
    try {
      tmp.getParentFile().mkdirs();
      tmp.createNewFile();
    } catch (IOException ex) {
      plugin.getPlayerMessenger().sendMessage(player, "Could not create temporary file! Aborting!");
      return;
    }
    plugin
        .getSerializer()
        .writePlayerDataToFile(
            player,
            PlayerSerialization.serializePlayer(player, plugin),
            new Group("tmp", null, null),
            GameMode.SURVIVAL);

    player.setFoodLevel(20);
    player.setHealth(20);
    player.setSaturation(20);
    player.setTotalExperience(0);

    plugin
        .getSerializer()
        .writeData(file, Serializer.toString(PlayerSerialization.serializePlayer(player, plugin)));

    plugin
        .getSerializer()
        .getPlayerDataFromFile(player, new Group("tmp", null, null), GameMode.SURVIVAL);
    tmp.delete();
    plugin.getPlayerMessenger().sendMessage(player, "Defaults for '" + group.getName() + "' set!");
  }
Beispiel #7
0
  public void restore(Player player) {
    if (player.getName().equals(name)) {
      player.getInventory().clear();

      player.teleport(originLoc);
      player.setCompassTarget(compassTarget);

      player.setHealth(health);
      player.setFoodLevel(food);
      player.setSaturation(saturation);

      player.getInventory().setContents(inv);
      player.getInventory().setArmorContents(armor);

      player.setTotalExperience(exp);
    }
  }
Beispiel #8
0
  public GamePlayerData(Player player, boolean isPlayer) {
    this.name = player.getName();

    this.isPlayer = isPlayer;

    this.originLoc = player.getLocation();
    this.compassTarget = player.getCompassTarget();

    this.health = player.getHealth();
    this.food = player.getFoodLevel();
    this.saturation = player.getSaturation();

    this.inv = player.getInventory().getContents();
    this.armor = player.getInventory().getArmorContents();

    player.getInventory().clear();

    this.exp = player.getTotalExperience();

    player.setTotalExperience(0);
  }
Beispiel #9
0
 @Override
 public void setTotalExperience(int xp) {
   caller.setTotalExperience(xp);
 }