> For the complete documentation index, see [llms.txt](https://nodemods.gitbook.io/nodemods-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nodemods.gitbook.io/nodemods-docs/throwable-items.md).

# Throwable Items

Welcome to the Throwable Items documentation.

This resource gives you a complete throw-and-pickup gameplay loop while keeping framework integration fully editable through public files.

## Overview

Throwable Items is designed around a simple split:

* Core files handle throw simulation, networking, synced world entities, and pickup lifecycle.
* Public files let you decide how items are detected, removed, and returned in your framework.

This means you can keep the runtime behavior stable while fully controlling inventory integration.

## How It Works

1. A player starts a throw using the configured keybind.
2. Your `GetCurrentItem()` function returns a `ThrowableItem` payload.
3. The core computes throw speed (tap throw vs charged throw).
4. A synced throwable entity is created and broadcast to all clients.
5. Nearby players are checked for pickup through `NearGroundItem(...)`.
6. On pickup, the server removes the throwable and calls your `OnItemPickedUp(...)` logic.

## What You Edit

The main integration surface is:

* `config.lua` for behavior tuning and UX
* `cl_funcs.lua` for client-side framework hooks
* `sv_funcs.lua` for server-side framework hooks

Everything else can remain unchanged.

## Key Features

* Quick throw and charged throw mechanics
* Arc prediction for charged throws
* Ground item syncing for all players
* Framework-agnostic hook design
* Public exports for throw cancellation and cleanup
* Included QB Core examples for faster setup

## Documentation Sections

* [Configuration Guide](https://github.com/Bentheborg/Git-Books/blob/master/throwable-items/config.md)
* [Integration Guide](https://github.com/Bentheborg/Git-Books/blob/master/throwable-items/integration.md)
* [Troubleshooting Guide](https://github.com/Bentheborg/Git-Books/blob/master/throwable-items/troubleshooting.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://nodemods.gitbook.io/nodemods-docs/throwable-items.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
