TG-MOTD
# If you want to help us please [Donate](https://kamaucha.me/prabin9) us.
### ✨ Key Features
**🎨 Advanced Text Formatting**
– Full MiniMessage support with gradients and advanced formatting
– Legacy color codes with hex color support (&#RRGGBB)
– Create stunning MOTDs with unlimited color combinations
– Support for bold, italic, underline, strikethrough, and more
**🔧 Highly Customizable**
– Multi-line MOTD with dynamic placeholders
– Custom hover information for player list
– Custom server icons (favicons)
– Fake player count manipulation (add fixed or percentage)
– Protocol-specific MOTDs for different Minecraft versions
– Configurable update intervals
**🛠️ Professional Maintenance Mode**
– Toggle maintenance with a simple command
– Custom maintenance MOTD and kick messages
– Whitelist system for admins and staff
– Override player counts during maintenance
– Separate maintenance hover information
**👥 Powerful Whitelist System**
– Dedicated `players.yml` for whitelisted players
– Whitelisted players automatically get admin permissions
– Easy management with intuitive commands
– Bypass maintenance mode restrictions
**⚡ Performance Optimized**
– Lightweight and efficient
– Cached favicon loading
– Configurable update intervals
– Minimal resource usage
—
**🎥 Tutorials**
– Techinpoint Gamerz
—
### 📋 Requirements
– **Velocity:** 3.3.0 or higher
– **Java:** 21 or higher
—
### 🚀 Quick Start
1. Download the plugin
2. Place in your Velocity `plugins` folder
3. Restart your proxy
4. Edit `config.yml` in `plugins/tgmotd/`
5. Run `/tgmotd reload`
—
### 📝 Commands
| Command | Description |
|———|————-|
| `/tgmotd reload` | Reload configuration |
| `/whitelist add ` | Add player to whitelist |
| `/whitelist remove ` | Remove player from whitelist |
| `/whitelist list` | List whitelisted players |
| `/maintenance ` | Toggle maintenance mode |
**Permission:** `tgmotd.admin` or be whitelisted
—
### 🎨 Example MOTDs
**Gradient MOTD:**
“`yaml
motd:
lines:
– “MY SERVER | [1.21+]”
– “⚡ Join Today!”
“`
**Legacy with Hex Colors:**
“`yaml
formatter: LEGACY
motd:
lines:
– “&#FF0000&lM&#FF3333&lY &#FF6666&lS&#FF9999&lE&#FFCCCC&lR&#FFFFFF&lV&#CCCCFF&lE✏FF&lR”
– “&7Welcome to our network!”
“`
—
### 🎯 Perfect For
– ✅ Network servers wanting professional appearance
– ✅ Servers needing maintenance mode
– ✅ Communities wanting custom branding
– ✅ Admins who value easy configuration
– ✅ Servers requiring whitelist functionality
—
### 🔑 Placeholders
– `{online}` – Current online players
– `{max}` – Maximum players
– Use in MOTD lines, hover text, and kick messages
—
### 🛡️ Support
Need help? We’ve got you covered:
– 💬 [Discord Support](https://discord.com/invite/y5UKjK3Zxp)
—
### 📊 Statistics
– ⚡ Lightweight: < 1MB
- 🚀 Fast: Optimized performance
- 🔧 Configurable: 20+ options
- 📝 Commands: 5 useful commands
---
### 👨💻 Developer
Created by **TG ([Techinpoint Gamerz](https://www.youtube.com/@TechinpointGamerz))**
---
### 📄 License
MIT License - Free to use
---
**Download now and give your server the professional look it deserves!** ⭐
Teams API
**The universal bridge between team plugins and everything else.**
TeamsAPI is a passive, server-side bridge plugin for Paper, Spigot, Purpur, and Folia servers, inspired by Vault. It provides a single, stable interface for team operations, so any plugin that needs team data can work with any compatible team plugin, without either plugin knowing about the other.
Implemented in Factions fork: https://www.spigotmc.org/resources/pvpindex-factions.135055/
Suggest it as suggestion to teams plugins, they can send me a message so I can make a list.
## How it works
“`text
Your Plugin (consumer) -> TeamsAPI (bridge) -> Team Plugin (provider)
“`
– **Providers** — faction, clan, guild, or custom team plugins `implement TeamsService`
and register with TeamsAPI during `onEnable()`.
– **Consumers** — scoreboard plugins, chat formatters, quest plugins, or any plugin that
needs team data call `TeamsAPI.getService()` and use the returned interface.
– **Server owners** — install `TeamsAPI.jar` and one compatible team plugin. Done.
No two plugins need to know about each other. When the team plugin changes, every
consumer plugin keeps working without a recompile.
## Features
– **Provider-agnostic**: works with any team plugin that ships a `TeamsService` implementation.
– **Graceful fallback**: if no provider is present, `TeamsAPI.isAvailable()` returns `false`; consumers can disable their team features cleanly instead of crashing.
– **Read-only snapshots**: `Team` and `TeamMember` are immutable interfaces; providers own the backing data.
– **Role hierarchy**: built-in `OWNER > ADMIN > MEMBER` with `outranks()` and `canManage()` helpers.
– **Optional invite service**: providers can expose `TeamsInviteService` for invitation workflows.
– **Optional warp service**: providers can expose `TeamsWarpService` for named team warps.
– **Optional claim service**: providers can expose `TeamsClaimService` for chunk-claim management.
– **Optional power service**: providers can expose `TeamsPowerService` for player and team power values.
– **Cancellable events**: twelve Bukkit events that providers can fire so other plugins can react to or cancel team operations.
– **Lightweight**: a single shaded JAR with no runtime dependencies beyond the Bukkit API.
– **JitPack-ready**: depend on just the API module at compile time; no transitive dependencies leak into your plugin.
– **Velocity bridge** *(experimental)*: optional `teams-api-velocity` plugin for querying team data from the Velocity proxy. Supports multi-proxy networks via Redis.
– **BungeeCord bridge** *(experimental)*: optional `teams-api-bungeecord` plugin for querying team data from BungeeCord / Waterfall proxies. Supports multi-proxy networks via Redis.
## Requirements
| Requirement | Value |
|————-|——-|
| Server software | Paper / Spigot / Purpur / Folia 1.16+ |
| Java | 17+ (25 recommended) |
| Plugin dependencies | None |
## Installation (server owners)
1. Download `teams-api-plugin-VERSION.jar` from the **Files** tab of this listing or
from [GitHub Releases](https://github.com/ez-plugins/teams-api/releases).
2. Drop it into your server’s `plugins/` directory.
3. Install a compatible team plugin that provides a `TeamsService` implementation.
4. Restart the server.
TeamsAPI has no configuration files.
## For developers
Add the API artifact to your project via [JitPack](https://jitpack.io/#ez-plugins/teams-api):
### Maven
“`xml
jitpack.io
https://jitpack.io
com.github.ez-plugins
teams-api
1.4.0
provided
“`
### Gradle
“`groovy
repositories {
maven { url ‘https://jitpack.io’ }
}
dependencies {
compileOnly ‘com.github.ez-plugins:teams-api:1.4.0’
}
“`
### Consumer quick-start
Declare the dependency in `plugin.yml` (use `softdepend` if team support is optional):
“`yaml
depend:
– TeamsAPI
“`
Then use the API at runtime:
“`java
@Override
public void onEnable() {
if (!TeamsAPI.isAvailable()) {
getLogger().warning(“No team plugin found. Team features disabled.”);
return;
}
getLogger().info(“TeamsAPI found. Team features enabled.”);
}
// In a command or listener:
TeamsService teams = TeamsAPI.getService();
Optional team = teams.getPlayerTeam(player.getUniqueId());
team.ifPresent(t -> player.sendMessage(“Your team: ” + t.getDisplayName()));
“`
### Provider quick-start
Declare a soft-dependency in `plugin.yml`:
“`yaml
softdepend:
– TeamsAPI
“`
Register your implementation when the plugin loads:
“`java
@Override
public void onEnable() {
TeamsAPI.registerProvider(this, new MyTeamsService(this));
}
@Override
public void onDisable() {
TeamsAPI.unregisterProvider(teamsService);
}
“`
## API surface
### Team lifecycle & lookup
| Method | Returns | Description |
|——–|———|————-|
| `createTeam(name, ownerUUID)` | `Optional` | Creates a new team |
| `deleteTeam(teamId)` | `boolean` | Deletes a team by UUID |
| `getTeam(teamId)` | `Optional` | Looks up a team by UUID |
| `getTeamByName(name)` | `Optional` | Looks up a team by name |
| `getPlayerTeam(playerUUID)` | `Optional` | Returns the player’s current team |
| `getAllTeams()` | `Collection` | Returns every registered team |
| `getTeamCount()` | `int` | Total number of teams |
### Membership management
| Method | Returns | Description |
|——–|———|————-|
| `addMember(teamId, playerUUID, role)` | `boolean` | Adds a player with a given role |
| `removeMember(teamId, playerUUID)` | `boolean` | Removes a player from the team |
| `setMemberRole(teamId, playerUUID, role)` | `boolean` | Changes a member’s role |
| `getMemberRole(teamId, playerUUID)` | `Optional` | Returns the member’s current role |
### Invite service (optional)
Register alongside `TeamsService` if your plugin supports invitations:
“`java
TeamsAPI.registerInviteProvider(this, inviteService);
“`
| Method | Returns | Description |
|——–|———|————-|
| `invitePlayer(teamId, inviterUUID, inviteeUUID)` | `boolean` | Sends an invitation |
| `acceptInvite(teamId, playerUUID)` | `Optional` | Accepts the invitation and joins the team |
| `declineInvite(teamId, playerUUID)` | `boolean` | Declines an invitation |
Consumers check availability with `TeamsAPI.isInviteAvailable()` before calling `TeamsAPI.getInviteService()`.
### Warp service (optional)
Register alongside `TeamsService` if your plugin supports team warps:
“`java
TeamsAPI.registerWarpProvider(this, warpService);
“`
| Method | Returns | Description |
|——–|———|————-|
| `setWarp(teamId, name, location, creatorUUID)` | `boolean` | Creates or updates a named warp |
| `removeWarp(teamId, name)` | `boolean` | Deletes a warp by name |
| `getWarp(teamId, name)` | `Optional` | Looks up a warp by name |
| `getWarps(teamId)` | `Collection` | Returns all warps for a team |
Consumers check availability with `TeamsAPI.isWarpAvailable()` before calling `TeamsAPI.getWarpService()`.
### Claim service (optional)
Register alongside `TeamsService` if your plugin supports chunk claims:
“`java
TeamsAPI.registerClaimProvider(this, claimService);
“`
| Method | Returns | Description |
|——–|———|————-|
| `claimChunk(teamId, playerUUID, world, x, z)` | `boolean` | Claims a chunk for the team |
| `unclaimChunk(teamId, playerUUID, world, x, z)` | `boolean` | Removes the claim |
| `unclaimAll(teamId)` | `boolean` | Removes all claims for the team |
| `getClaimAt(world, x, z)` | `Optional` | Returns the claim at a chunk, if any |
| `getTeamClaims(teamId)` | `Collection` | All claims for the team |
| `getClaimCount(teamId)` | `int` | Number of claimed chunks |
| `isClaimed(world, x, z)` | `boolean` | Whether the chunk is claimed by anyone |
| `isClaimedBy(teamId, world, x, z)` | `boolean` | Whether the chunk is claimed by this team |
| `getTeamMaxClaims(teamId)` | `int` | Claim limit (-1 means unlimited) |
Consumers check availability with `TeamsAPI.isClaimAvailable()` before calling `TeamsAPI.getClaimService()`.
### Power service (optional)
Register alongside `TeamsService` if your plugin exposes power values:
“`java
TeamsAPI.registerPowerProvider(this, powerService);
“`
| Method | Returns | Description |
|——–|———|————-|
| `getPlayerPower(playerUUID)` | `double` | Current power of the player |
| `getPlayerMaxPower(playerUUID)` | `double` | Maximum power the player can hold |
| `setPlayerPower(playerUUID, power)` | `boolean` | Sets the player’s power |
| `getTeamPower(teamId)` | `double` | Combined power of all team members |
| `getTeamMaxPower(teamId)` | `double` | Maximum combined power the team can hold |
Consumers check availability with `TeamsAPI.isPowerAvailable()` before calling `TeamsAPI.getPowerService()`.
### Events
All events live in `com.skyblockexp.teamsapi.event`. Providers are encouraged but not required to fire them.
| Event | Cancellable | Fired when |
|——-|————-|————|
| `TeamCreateEvent` | Yes | Before a team is created |
| `TeamDeleteEvent` | Yes | Before a team is deleted |
| `TeamJoinEvent` | Yes | Before a player joins a team |
| `TeamLeaveEvent` | Yes | Before a player leaves a team |
| `TeamRoleChangeEvent` | Yes | Before a member’s role changes |
| `TeamInviteEvent` | Yes | Before an invitation is sent |
| `TeamInviteAcceptEvent` | No | After a player accepts an invitation |
| `TeamInviteDeclineEvent` | No | After a player declines an invitation |
| `TeamWarpSetEvent` | Yes | Before a warp is created or updated |
| `TeamWarpDeleteEvent` | Yes | Before a warp is deleted |
| `TeamClaimEvent` | Yes | Before a chunk is claimed |
| `TeamUnclaimEvent` | Yes | Before a chunk is unclaimed |
### Roles
| Role | Priority | Description |
|——|———-|————-|
| `OWNER` | 100 | Full control; cannot be removed by others |
| `ADMIN` | 50 | Can manage members with a lower priority |
| `MEMBER` | 10 | Regular team member |
## Links
– [GitHub](https://github.com/ez-plugins/teams-api) — source code & issue tracker
– [Developer Guide](https://ez-plugins.github.io/teams-api/developer-guide.html) — full integration walkthrough
– [API Reference](https://ez-plugins.github.io/teams-api/api.html) — complete method tables
– [JitPack](https://jitpack.io/#ez-plugins/teams-api) — Maven / Gradle dependency
—
*MIT License – free to use in any project, open- or closed-source.*
TaterLib
# TaterLib
[](https://github.com/p0t4t0sandwich/TaterLib/blob/main/LICENSE)
[](https://github.com/p0t4t0sandwich/TaterLib)
[](https://github.com/p0t4t0sandwich/TaterLib/issues)
[](https://discord.neuralnexus.dev)
[](https://wakatime.com/badge/user/fc67ce74-ca69-40a4-912f-61b26dbe3068/project/ba087a5d-fd50-4b54-9723-3effbfda7567)
A cross API code library that allows developers to write code that works across multiple modding platforms, and across a
wide range of Minecraft versions, all with one JAR file. If TaterLib runs on it, so can your plugin/mod.
Please note, some abstractions may not be fully implemented yet, and some may be missing.
If you’re looking for a specific abstraction/game event, please open an issue, and we’ll get to it as soon as possible,
or feel free to open a PR with an implementation.
[Contributions are always welcome!](https://github.com/p0t4t0sandwich/TaterLib/blob/main/.github/CONTRIBUTING.md)
Let’s cut to the chase, why should you use and/or contribute to TaterLib? Well, let’s say you have a mod/plugin that you
want to port to a different modding API. You could go through the laborious task of implementing all the events,
commands, etc. on each platform and create all your own cool fancy abstractions for each game object, or you could use
TaterLib and save yourself a lot of time. (which is why I started this project in the first place)
There’s two ways to use TaterLib, you can depend on the general API, then implement any missing features yourself on
each platform, or if something’s missing, you can start a PR with either a basic or full implementation, and we can
improve TaterLib and save you a lot of time in the future. (a bit of a win-win)
Link to our support: [Discord](https://discord.neuralnexus.dev)
## Download
[](https://github.com/p0t4t0sandwich/TaterLib/releases)
[](https://www.spigotmc.org/resources/taterlib.111852/)
[](https://hangar.papermc.io/p0t4t0sandwich/TaterLib)
[](https://www.curseforge.com/minecraft/bukkit-plugins/taterlib)
[](https://modrinth.com/mod/taterlib)
[](https://www.curseforge.com/minecraft/mc-mods/taterlib)
[](https://ore.spongepowered.org/p0t4t0sandwich/TaterLib)
[](https://builtbybit.com/resources/taterlib.40265/)
[](https://polymart.org/resource/taterlib.5552)
[](https://craftaro.com/marketplace/product/taterlib.2771)
[](https://maven.neuralnexus.dev/#/snapshots/dev/neuralnexus/taterlib-api)[](https://jenkins.neuralnexus.dev/job/TaterLibDev/)
[](https://maven.neuralnexus.dev/#/releases/dev/neuralnexus/taterlib-api)[](https://jenkins.neuralnexus.dev/job/TaterLib/)
### Adding to your project
“`gradle
repositories {
maven {
name = ‘NeuralNexus’
url = ‘https://maven.neuralnexus.dev/releases’
}
}
dependencies {
compileOnly(‘dev.neuralnexus:taterlib-api:‘)
}
“`
There’s also a snapshot repository available at `https://maven.neuralnexus.dev/repository/snapshots`
### Compatibility Cheatsheet
TaterLib supports: Bukkit, BungeeCord, Fabric, Forge, Sponge, and Velocity
General notes:
– No Fabric on 1.13
– No Fabric/Forge below 1.7.10
| Server type | Versions | Jar Name |
|————-|————-|———————————|
| 1.20.x | 1.20-1.20.4 | `TaterLib-1.20.x-.jar` |
| 1.19.4 | 1.19.4 | `TaterLib-1.19.4-.jar` |
| 1.19.2 | 1.19.2 | `TaterLib-1.19.2-.jar` |
| 1.19 | 1.19 | `TaterLib-1.19-.jar` |
| 1.18.2 | 1.18.2 | `TaterLib-1.18.2-.jar` |
| 1.18 | 1.18 | `TaterLib-1.18-.jar` |
| 1.17 | 1.17-1.17.1 | `TaterLib-1.17-.jar` |
| 1.16 | 1.16-1.16.5 | `TaterLib-1.16-.jar` |
| 1.15 | 1.15-1.15.2 | `TaterLib-1.15-.jar` |
| 1.14 | 1.14-1.14.3 | `TaterLib-1.14-.jar` |
| 1.13 | 1.13-1.13.2 | `TaterLib-1.13-.jar` |
| 1.12 | 1.12-1.12.2 | `TaterLib-1.12-.jar` |
| 1.11 | 1.11-1.11.2 | `TaterLib-1.11-.jar` |
| 1.10 | 1.10-1.10.2 | `TaterLib-1.10-.jar` |
| 1.9 | 1.9-1.9.4 | `TaterLib-1.9-.jar` |
| 1.8 | 1.8-1.8.8 | `TaterLib-1.8-.jar` |
| 1.7 | 1.7-1.7.10 | `TaterLib-1.7.10-.jar` |
| 1.6.4 | 1.6.4 | `TaterLib-1.6.4-.jar` |
| 1.2.5 | 1.2.5 | `TaterLib-1.2.5-.jar` |
| b1.7.3 | b1.7.3 | `TaterLib-b1.7.3-.jar` |
## Dependencies
– [Fabric API](https://modrinth.com/mod/fabric-api) – Required on Fabric
– [Legacy Fabric API](https://www.curseforge.com/minecraft/mc-mods/legacy-fabric-api) – Required on Fabric 1.12.2 and
below
### Optional Dependencies
– [LuckPerms](https://luckperms.net/) – For permissions/prefix/suffix support
## Commands and Permissions
| Command | Permission | Description |
|———————-|—————————–|————————–|
| `/taterlib version` | `taterlib.command.version` | Get the TaterLib version |
| `/taterlib reload` | `taterlib.command.reload` | Reload TaterLib config |
| `/taterlib dump` | `taterlib.command.dump` | Dump TaterLib info |
| `/taterlib fulldump` | `taterlib.command.fulldump` | Dump TaterLib info |
## Projects that use TaterLib
Feel free to open a PR to add your plugin/mod to this list!
– [BadSpawns](https://github.com/p0t4t0sandwich/BadSpawns)
– [BeeNameGenerator](https://github.com/p0t4t0sandwich/BeeNameGeneratorPlugin)
– [TaterComms](https://github.com/p0t4t0sandwich/TaterComms)
– [TaterUtils](https://github.com/p0t4t0sandwich/TaterUtils)
## Metrics
### Bukkit

### BungeeCord

### Sponge

### Velocity

TabWhitelist
# TabWhitelist! – Command Management
**TabWhitelist** is a powerful and lightweight Minecraft server plugin designed to give administrators total control over player command visibility and execution. It allows you to hide sensitive server information, block unwanted commands, and create custom rank-based access, ensuring a clean and secure experience for your community. By filtering the tab-completion list and overwriting default system messages, you can fully brand your server’s “Unknown Command” response and keep your plugin list private.
Don’t believe it? **TRY THE LATEST RELEASE NOW!**
**⚠️ NOTE:** Java 21 or higher is required!
“`
Now also on proxy! BungeeCord, Waterfall, Velocity.
Looking for a proxy version for Java 11? Find TabWhitelist 1.1-ForProxy (Java 11)
“`
### Features
– **Full Command Control** – Easily toggle between Whitelist and Blacklist modes to decide which commands are accessible.
– **Dynamic Tab-Blocking** – Automatically hides unauthorized commands from the TAB completion menu in real-time.
– **Rank-Based Groups** – Assign specific command sets to different player ranks using custom permissions like tabwhitelist.group.vip.
– **World-Specific Rules** – Define different allowed or blocked commands based on the world the player is currently in.
– **Multi-Sensory Feedback** – Engage players with custom sounds, titles, action bars, and particles whenever a command is blocked.
– **Subcommand & Namespace Protection** – Block specific phrases (e.g., /pl, /ver) and automatically handle hidden command aliases like /minecraft:cmd.
– **Command Cooldowns** – Prevent command spam by setting per-command timers that players must wait out.
– **Admin Notifications** – Alert staff members instantly with customizable messages when a player attempts to use a restricted command.
– **Instant Reload** – Use the /twreload command to update all configurations and TAB menus without needing to restart the server.
### Commands
– /twreload – Refreshes the configuration file and updates player TAB lists instantly.
### Permissions
– tabwhitelist.admin – Access to everything (bypasses all blocks and filters).
– tabwhitelist.reload – Allows use of the /twreload command.
– tabwhitelist.group. – Grants access to a specific command group defined in the config (e.g., tabwhitelist.group.vip).
– tabwhitelist.notify – Allows staff members to receive real-time alerts whenever a player attempts to use a blocked command.
– tabwhitelist.bypass.cooldown – Grants a player the ability to ignore the command cooldown timers set in the configuration.
### How to use
Click to expand
1. Place the .jar file in the server’s plugins folder.
2. Restart the server and check the console for: [TabWhitelist] v1.2 enabled!.
3. Open the plugins/TabWhitelist/config.yml file.
4. Set your unknown-command-message to match your server’s branding.
5. Add your basic player commands to the commands list.
6. (Optional) Create custom groups in the groups section for your Ranks (VIP, MVP, etc.).
7. Assign the corresponding permissions (e.g., tabwhitelist.group.vip) to your ranks using a permission plugin like LuckPerms.
8. Run /twreload to apply changes!
## Bug report and contact
“`
[email protected] – new mail
“`
TabBlocker
# TabBlocker
TabBlocker is a secure whitelist-based TAB completion control plugin. It allows you to strictly define which commands are visible to players, hiding everything else.
Supports both Paper and BungeeCord with a single JAR file.
## Key Features
– Whitelist System: Only allowed commands appear in TAB completion.
– Cross-Platform: Works on Paper (1.21+) and BungeeCord.
– Group Support: Define different command lists for specific groups.
– Command Blocking: Prevent execution of specific commands (e.g., /plugins, /version).
– Hide Server Brand: Customize the server software name shown in the F3 debug screen.
– Discord Integration: Send webhook notifications when blocked commands are attempted.
– LuckPerms Support: Easily manage groups and bypass permissions.
## Documentation
For full installation guide, configuration examples, and commands, please read the [README](https://github.com/Murayu0225/TabBlocker) on GitHub.
TAB

TAB is an all-in-one plugin for displaying information in various places, which aims to outperform all similar plugins in terms of features, compatibility and performance.
The compact configuration allows you to get the plugin to work the way you want regardless of how simple or complex you want it to be or how experienced you are.
The default configuration already contains useful values and examples to give you a better understanding and get you started quickly with instant results.
The extensive [wiki](https://github.com/NEZNAMY/TAB/wiki) answers any of your questions.


[](https://github.com/NEZNAMY/TAB)
[](https://github.com/NEZNAMY/TAB/issues)
[](https://github.com/NEZNAMY/TAB/wiki)
# Discord?
Official support by me is no longer provided to free users due to limited time and extreme inefficiency (see [provided services]([https://github.com/NEZNAMY/TAB?tab=readme-ov-file#provided-services](https://github.com/NEZNAMY/TAB?tab=readme-ov-file#provided-services)) for more info).
However, you can join this [fresh new community discord]([https://discord.gg/YPqXt63YQj](https://discord.gg/YPqXt63YQj)) made by a nice person who promises to help everyone with all plugins, including TAB.
Before you consider requiring assistance, check out the [wiki](https://github.com/NEZNAMY/TAB/wiki) first. It will answer any questions you may have and is also constantly getting improved.



















Switchboard
# TaterComms
[](https://img.shields.io/github/downloads/p0t4t0sandwich/TaterComms/LICENSE)
[](https://github.com/p0t4t0sandwich/TaterComms)
[](https://github.com/p0t4t0sandwich/TaterComms/issues)
[](https://discord.neuralnexus.dev)
[](https://wakatime.com/badge/user/fc67ce74-ca69-40a4-912f-61b26dbe3068/project/c722f2dd-f37e-4e20-9b32-e00d4d8ec34b)
A simple, cross API plugin that bridges communication between servers, using built-in Proxy methods, Discord channels and TCP sockets.
Link to our support: [Discord](https://discord.neuralnexus.dev)
## Download
[](https://github.com/p0t4t0sandwich/TaterComms/releases)
[](https://maven.neuralnexus.dev/#/releases/dev/neuralnexus/TaterComms)
[](https://maven.neuralnexus.dev/#/snapshots/dev/neuralnexus/TaterComms)
[](https://www.spigotmc.org/resources/tatercomms.110592/)
[](https://hangar.papermc.io/p0t4t0sandwich/TaterComms)
[](https://modrinth.com/mod/tatercomms)
[](https://www.curseforge.com/minecraft/mc-mods/tatercomms)
[](https://ore.spongepowered.org/p0t4t0sandwich/TaterComms)
## Usage
– [Configuration guide wiki entry](https://github.com/p0t4t0sandwich/TaterComms/wiki/Configuration-Guide)
– [Create and add a Discord bot to your server](https://discordpy.readthedocs.io/en/stable/discord.html)
– The bot will need permissions to read and send messages with whatever permission scopes you set up, and in the channels you want to use
## Known Issues
– Under certain circumstances with a proxy, prefix/suffix information is not read correctly, still narrowing down the cause
– Global chat still needs some tweaking and a proper, per-user toggle
– Sponge death messages are a tad off with how the component serializes (eg: `playerName Skeleton was shot by` instead of `playerName was shot by Skeleton`)
– Still need to tweak the pass-through system and get that working properly
– Some implementations fire the shutdown event after the plugin unloads, so the shutdown message doesn’t get sent
– Bukkit 1.6.4 doesn’t have an advancement event
– Bukkit b1.7.3 doesn’t support the following
– proper death/advancement events
– plugin messaging
## Dependencies
– [TaterLib](https://github.com/p0t4t0sandwich/TaterLib) – Required on all platforms
– [FabricAPI](https://modrinth.com/mod/fabric-api) – Required on Fabric
### Optional Dependencies
– [LuckPerms](https://luckperms.net/) – For permissions/prefix/suffix support
## Compatibility Cheatsheet
TaterComms supports: Bukkit, Bungee, Fabric, Forge, Sponge, and Velocity
| Server type | Versions | Jar Name |
|———————|————-|———————————|
| All 1.20 (Sponge11) | 1.20-1.20.2 | `TaterComms-1.20-.jar` |
| All 1.19 (Sponge10) | 1.19-1.19.4 | `TaterComms-1.19-.jar` |
| All 1.18 (Sponge9) | 1.18-1.18.2 | `TaterComms-1.18-.jar` |
| All 1.17 (Sponge9) | 1.17-1.17.1 | `TaterComms-1.17-.jar` |
| All 1.16 (Sponge8) | 1.16-1.16.5 | `TaterComms-1.16-.jar` |
| All 1.15 (Sponge8) | 1.15-1.15.2 | `TaterComms-1.15-.jar` |
| All 1.14 | 1.14-1.14.3 | `TaterComms-1.14-.jar` |
## Commands and Permissions
| Command | Permission | Description |
|———————-|——————————|—————————–|
| `/tatercomms reload` | `tatercomms.admin.reload` | Reload the plugin |
| `/discord` | `tatercomms.command.discord` | Get the Discord invite link |
## [Release Notes](https://github.com/p0t4t0sandwich/TaterComms#release-notes)
Susurritos
# Comandos
Añade /mensaje y /responder. Tiene una config.yml y messages.yml para poder ser traducido y cambiar el funcionamiento en ciertas áreas.
# Permisos
No tiene ningun permiso, es un plug-and-play, simplemente ponlo en la carpeta de plugins y ya sobreescribe el sistema Vanilla.
SunReg | Register
🌞 SunReg – The Best Free Register Plugin
Author: Not_LazyyXD
SunReg is a powerful and reliable registration plugin designed for Minecraft servers that want the quality of big networks like PikaNetwork, FireMC, and HaiderNetwork—but without the high price tag.
Unlike other paid plugins, SunReg gives you everything you need for a smooth, secure, and lag-free login system completely free. It’s built for both performance and stability, so your players can enjoy the best experience without delays or bugs.
✨ Features:
Fast & secure player registration system
Optimized for lag-free performance
User-friendly commands & configuration
Inspired by top-tier networks but 100% free
Perfect for small to large Minecraft servers
If you want a professional, free, and community-friendly register plugin, SunReg is the ultimate solution.
StrippedBroadcast
**StrippedBroadcast** is a recreation of the [Plugin RawMsg](https://www.spigotmc.org/resources/rawmsg.35864/).
The main purpose of the Plugin is to send a message in chat just like the command broadcast. However, when sent, the message will **not** dispose of a **prefix** and the sender can specify a **group** of **players** to send the message to. It also has an **API** available for any developer to be used.
## Commands
The main and only command of StrippedBroadcast is, you guessed it, **/sbc** (short for **/simplebroadcast**). Its syntax is:
“`/sbc “`
As explained by the Plugin itself when trying to execute the command, the first argument should represent the targets of the broadcast. These could be:
– **all**, for every player online on the server;
– **** or **player=**, the only user who will see the message;
– **me**, an alias for the command issuer;
– **world=**, for every player present in that world;
perm=, for any player who has the permission;
– **op** or **perm=op**, for every op player in the server;
– **group=**; StrippedBroadcast is compatible with **LuckPerms**, so the argument “group” will allow the user to specify a certain group of players;
– **item=- **; for every player who has that item in the server;
– **effect=**; for every player who the specified effect;
– **gamemode=**; for every player in that gamemode;
– **money=**; for every player that has that amount of money.
## Expressions
StrippedBroadcast is also able to understand **expressions** as target. The user will be able to specify certain **conditions** that will return a list of compatible players.
Every expression should be expressed in parenthesis, but there is possibility to put more parenthesis inside one.
Example:
“`/sbc (world=world_the_nether && (perm=bukkit.* || perm=minecraft.*)) Looks like you are the king of hell!“`
You will also notice that expressions accept the keywords AND (&&) and OR (||). Their functioning is really simple:
– in the above example, the OR keyword is used to get every player who has the permission “bukkit.*” **or** the permission “minecraft.*”;
– the AND keyword is then used to get every player who is in the nether **and** has one of the two permissions.
Also, the plugin uses Tab Completition, so it will be very helpful at remembering the user to close parenthesis or insert certain keywords.
## Permissions
The only permission for StrippedBroadcast is “**sbc.main**”, which will allow the user to execute the /sbc command.
## Colors
Since the Minecraft 1.16 update, **Hex Colors** were added to the game. Now, StrippedBroadcast is able not only to use the default Minecraft colors (“&”), but also custom ones using the character #. If you are on 1.16 or higher, when typing “#”, the plugin will suggest all the valid letters and numbers to be used as color codes. Also, there is a new rainbow effect available. To use it, just type [RAINBOW] in front of your message. Example:
“`/sbc all [RAINBOW] StrippedBroadcast v1.2 is an amazing plugin!“`
## BungeeCord
Recently a version of StrippedBroadcast compatible with BungeeCord was released. It uses the same functionalities as the Spigot one, however some argument do change:
– **all**, for every player online in the server;
– a **player**, the only user who will see the message;
– a server (“**server=**”), for every player present in that server;
– a **permission** (“**perm=**”), for any player who has the permission;
– a **group** (“**group=**”), for any player who is in that group (REQUIRES LUCKPERMS).
An API is available also for BungeeCord, that uses the same names as the Spigot API followed by a “B” (e.g. **PlayerUtilsB** is the **PlayerUtils** for the BungeeCord part of the Plugin). The Main Class is accessible by the name **StrippedBroadcastBungee** and it contains all of the methods to send a message to a list of players.
## API
I honestly have no idea of how this Plugin API could be implemented, but I’m very curious to see what the developers will be able to create. Anyway, after importing the Plugin into your project, you are ready to begin. Two classes will be of your interest:
### StrippedBroadcast
The class StrippedBroadcast contains the static method sendStrippedBroadcast. This will send the given message (it can be a string, a list of strings or even an array) to the list of players specified. An example is:
“`java
String[] strings = new String[]{“This”, “is”, “a”, “cool”, “message”};
StrippedBroadcastEvent.sendStrippedBroadcast(Bukkit.getOnlinePlayers(), strings);
“`
### StrippedBroadcastEvent and StrippedBroadcastEventB
The StrippedBroadcastEvent and StrippedBroadcastEventB are events called anytime a message is sent using the Plugin Command or the Methods. They contain two variables: a list of involved players and the message sent.
“`java
@EventHandler
public void onMessageSent(StrippedBroadcastEvent event) {
event.getMessage();
}
“`
“`java
@EventHandler
public void onBungeeMessageSent(StrippedBroadcastEventB event) {
event.getMessage();
}
“`
### PlayersUtil
The PlayersUtil class contains all the methods that can be used to get list of players using certain input. Just like the /sbc command, PlayersUtil supports any kind of input value, from a world, to a permission, a gamemode, a player name and so on…
To get a more accurate list of all the available methods, you can check the GitHub page. https://github.com/Fulminazzo/StrippedBroadcast