SignSeeker

The lightning-fast, low-lag tool for sign discovery and moderation.

17

SignSeeker

<div align="center">

SignSeeker

*Find every sign in your world - fast, async & safe!*

Hero Image

</div>

---

🔍 What is SignSeeker?

SignSeeker is a powerful administrative tool designed to scan your worlds for signs. Whether you are looking for hidden messages, moderating player content, or just curious about old warps – SignSeeker reads the region files directly and delivers the results in an interactive book.

🚀 Key Features

- Fully Configurable: Uses asynchronous multithreading to scan region files (`.mca`) without lagging the main server thread. - Fully Configurable: Only scans generated chunks. It will Fully Configurable: generate new chunks or increase your world size. - Fully Configurable: Results are presented in written books. - Fully Configurable: Click on the coordinates in the book to teleport directly to the sign (even if it's in the Nether/End/Farmworld). - Fully Configurable: Blazes through empty chunks (up to 2000 chunks/tick) and slows down for populated areas to maintain 20 TPS. - Fully Configurable: Multiple admins can search simultaneously without interference. - Fully Configurable: Customize all messages, colors, and book layouts.

<br>

<div align="center">

Scanning Process

*Scanning thousands of chunks in seconds...*

<br>

<img src="https://i.imgur.com/vabkye3.png" width="48%" alt="Book GUI 1"> <img src="https://i.imgur.com/Bk2xOky.png" width="48%" alt="Book GUI 2"> *Interactive book report with clickable teleports!*

</div>

<br>

💻 Commands

```text /findsigns [world] - Starts scanning the current world (or the specified one). /findsigns cancel - Stops your current search operation immediately. /findsigns reload - Reloads the configuration file. ```

🛡️ Permissions

- `signseeker.use` - Allows using the search command and clicking teleport links. - `signseeker.reload` - Allows reloading the config. - `signseeker.*` - Grants all permissions.

⚙️ Configuration

```yaml

SignSeeker Configuration

The prefix shown before chat messages

prefix: "&8[&bSignSeeker&8] &7"

messages: no-permission: "&cYou do not have permission to use this command." only-players: "&cThis command is only for players." reload-success: "&aConfiguration reloaded successfully!"

Search process messages

search-start: "&eStarting search for signs in world &6%world%&e..." search-progress: "&bProcessing chunks: &f%processed%/%total% &7(%percent%%)" processing-books: "&aGenerating books..." search-finished: "&aSearch finished! Found &6%count% &asigns." inventory-full: "&eYour inventory is full! The book was dropped on the ground." error-no-region-folder: "&cCould not find 'region' folder for this world!"

Cancel & World selection

world-not-found: "&cThe world '&e%world%&c' could not be found." search-cancelled: "&eThe search operation has been cancelled." search-cancelled-error: "&cYou do not have a running search operation." already-searching: "&cYou are already searching! Use &7/findsigns cancel &cto stop."

book:

Placeholders: %world%, %page%, %total%

title: "Signs in %world% (%page%/%total%)" author: "SignSeeker"

The separator line between signs in the book

separator: "&5&l----------------"

intro: header: "&0&lSign Log Report" world-label: "&7World: &2" count-label: "&7Total Signs: &2" usage-header: "&nHow to use:" usage-text: "&0Click on &cRED &0or &9BLUE &0coordinates to teleport." ```

📥 Installation

1. Download the plugin `.jar`. 2. Drop it into your server's `plugins` folder. 3. Restart the server. 4. Enjoy! (Tested on 1.21, compatible with Paper/Spigot).

<br>

<div align="center"> <em>If you find this plugin useful, please leave a review! ⭐⭐⭐⭐⭐</em> </div>

ADS