private void handleGive(CommandSender sender, String receiver, String mob, String amountString) {
    int amount = plugin.config.getInt("defaultAmountGive", 1);

    // Check given amount
    if (amountString != null && !amountString.isEmpty()) {
      amount = su.getNumber(amountString);
      if (amount == -1) {
        su.sendMessage(
            sender,
            ChatColor.translateAlternateColorCodes(
                '\u0026', plugin.localization.getString("useNumbers")));
        return;
      }
    }

    // Check player
    Player player = su.nmsProvider.getPlayer(receiver);
    // Online check
    if (player == null) {
      su.sendMessage(
          sender,
          ChatColor.translateAlternateColorCodes(
              '\u0026', plugin.localization.getString("playerOffline")));
      return;
    }

    // Check if it's an egg or not
    boolean isEgg = su.isEgg(mob);
    String egg = mob;
    if (isEgg) {
      egg = egg.replaceFirst("egg$", "");
    }

    if (isEgg) {
      handleGiveEgg(sender, player, egg, amount);
    } else {
      handleGiveSpawner(sender, player, mob, amount);
    }
  }