/**
  * 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>();
 }
  private List<ItemStack> spawnChest(PlayerDropModificator piMod) {
    Player player = piMod.getPlayer();
    List<ItemStack> notDropped = SpawnChest.placeSpawnChest(piMod);
    if (notDropped.isEmpty()) {
      SpawnChest chest = new SpawnChest(player.getLocation().getBlock().getLocation());
      chests.add(chest);
    }

    return notDropped;
  }
  /**
   * Creates a new GraveYardSign / SpawnChest with the given {@link PlayerDropModificator}
   *
   * @param piMod
   * @return the list of Items NOT saved
   */
  public List<ItemStack> createSpawnContainer(PlayerDropModificator piMod) {
    Player player = piMod.getPlayer();
    piMod.modifyForSpawnContainer();

    World world = piMod.getPlayer().getWorld();
    if (worldIsOnIgnore(world)) {
      return piMod.getTransferredItems();
    }

    if (!DeathChest.getPlugin()
        .getPermissionsManager()
        .checkPermissionsSilent(player, PermissionNode.spawnChest)) {
      return (piMod.getTransferredItems());
    }

    Class<?> clazz = plugin.getConfigManager().getSpawnContainerUsage();

    if (clazz == null) return piMod.getTransferredItems();

    if (clazz.equals(SpawnChest.class)) return spawnChest(piMod);

    if (clazz.equals(SpawnSign.class)) return createSign(piMod);

    return null;
  }