A powerful, modular placeholder translation system designed for dynamic text processing across multiple platforms.
- Why Synapse?
- Overview
- Features
- Documentation
- Getting Started
- Platform Support
- Building
- Contributing
- License
Compared to traditional placeholder systems:
- โจ Modern API: Built with Java 21+ features and best practices
- ๐ฏ Type-Safe: No runtime surprises with strongly-typed generics
- โก Performance: Smart caching and async-first design
- ๐ Multi-Platform: One API works across Bukkit, Bungee, and Velocity
- ๐งช Well-Tested: Comprehensive test suite for reliability
Synapse is a high-performance, extensible placeholder translation framework that enables dynamic text processing with context-aware placeholder resolution. Built with a clean, modular architecture, Synapse supports multiple platforms while maintaining type safety and excellent performance through intelligent caching mechanisms.
- ๐ง Neurons: Platform-specific placeholder processors that handle text translation
- ๐ค Users: Context providers that supply necessary information for placeholder resolution
- ๐ท๏ธ Namespaces: Organized categorization system for placeholder management
- โก Async Support: Built-in asynchronous processing capabilities for non-blocking operations
- ๐ High Performance: Optimized placeholder resolution with intelligent caching
- ๐ง Modular Architecture: Clean separation between core logic and platform implementations
- ๐ฏ Type Safety: Strongly typed generics ensure compile-time safety
- โก Async Processing: Non-blocking placeholder resolution with CompletableFuture support
- ๐๏ธ Extensible Design: Easy to add new platforms and custom neurons
- ๐ Rich API: Comprehensive API for both synchronous and asynchronous operations
- ๐ท๏ธ Namespace Management: Organized placeholder categorization and conflict prevention
- ๐ Context-Aware Resolution: Placeholders resolved based on user context and environment
- ๐ Relational Placeholders: Placeholders that resolve values based on relationships between 2 Users
- ๐พ Intelligent Caching: Built-in caching mechanisms with expiration support
- ๐งช Comprehensive Testing: Extensive test suite ensuring reliability
- ๐ PAPI Backward-Compatibility: In Bukkit, you can simply call BukkitNeuron#hookToPAPI and we will do the rest
- ๐จ Adventure Integration: First-class MiniMessage support with custom tag resolvers
- Java 21+ (Required)
- Gradle 8.x (For building)
- Your target platform (e.g., Paper/Spigot for Bukkit)
- Download the latest
synapse-PLATFORM-*.*.jarfrom Releases - Place the JAR in your server's
plugins/directory - Restart your server
- Configure as needed
Gradle (Kotlin DSL)
repositories {
mavenCentral()
}
dependencies {
compileOnly("studio.mevera:synapse-bukkit:VERSION") // Replace VERSION
}Gradle (Groovy)
repositories {
mavenCentral()
}
dependencies {
compileOnly 'studio.mevera:synapse-bukkit:VERSION' // Replace VERSION
}Maven
<dependency>
<groupId>studio.mevera</groupId>
<artifactId>synapse-bukkit</artifactId>
<version>VERSION</version> <!-- Replace VERSION -->
<scope>provided</scope>
</dependency>๐ก Note: Use
compileOnly/providedscope since Synapse is already on the server. ReplaceVERSIONwith the latest release.
// Create a custom neuron
public class MyNeuron extends BukkitNeuron {
public MyNeuron(Plugin plugin) {
super(plugin, Namespace.of("custom"));
// Register placeholders
register("hello", "Hello World!");
register("player_name", context -> context.user().getName());
}
}
// Register and use
@Override
public void onEnable() {
new MyNeuron(this).register();
BukkitSynapse synapse = BukkitSynapse.get();
String message = synapse.translate("${custom.hello}, ${custom.player_name}!", player);
player.sendMessage(message);
}Check out the Documentation for detailed guides on integrating Synapse into your projects.
| Platform | Status | Module | Version |
|---|---|---|---|
| Bukkit/Paper | โ Stable | synapse-bukkit |
1.8.8+ |
| Bungee | โ Stable | synapse-bungee |
Latest |
| Velocity | โ Stable | synapse-velocity |
3.0+ |
| Platform | Status | ETA |
|---|---|---|
| Fabric | ๐ Planned | Q2 2026 |
| Forge | ๐ Planned | Q2 2026 |
- Java 21 or higher
- Git
# Clone the repository
git clone https://github.com/MeveraStudios/Synapse.git
cd Synapse
# Build all modules
./gradlew build
# Run tests
./gradlew test
# Generate JARs
./gradlew shadowJarsynapse-core/build/libs/synapse-core-x.x.jar- Core librarysynapse-platform/bukkit/build/libs/synapse-bukkit-x.x.jar- Bukkit pluginsynapse-platform/bungee/build/libs/synapse-bungee-x.x.jar- Bungee pluginsynapse-platform/velocity/build/libs/synapse-velocity-x.x.jar- Velocity plugin
# Import into your IDE as a Gradle project
# Ensure Java 21+ is configured
# Run tests to verify setup
./gradlew testWe welcome contributions to Synapse! Here's how you can help:
- Fork the repository
- Clone your fork locally
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Test thoroughly:
./gradlew test - Commit your changes:
git commit -m 'Add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request
- โ Follow existing code style and conventions
- โ Add tests for new functionality
- โ Update documentation as needed
- โ Ensure all tests pass
- โ Write clear, descriptive commit messages
- ๐ New Platform Support: Fabric, Forge implementations
- ๐ Documentation: Improving guides and examples
- ๐งช Testing: Expanding test coverage
- ๐ Bug Reports: Finding and reporting issues
- ๐ก Feature Suggestions: New ideas and improvements
This project is licensed under a very permissive Attribution License. You may use, modify, and distribute the code for any purpose, but you must mention "Synapse by Mevera Studios" in your documentation, source code, or distribution materials if you copy or use substantial portions of this code.
See the LICENSE file for details.
- Thanks to all contributors who have helped shape Synapse
- Inspired by the need for a modern, type-safe placeholder system
- Built with โค๏ธ by the Mevera Studios team
- ๐ Bug Reports: Create an issue
- ๐ก Feature Requests: Create an issue
- ๐ฌ Discussion: GitHub Discussions
- ๐ง Email: [email protected]
Made with โค๏ธ by iiAhmedYT and the Mevera Studios team
โญ Star this repo โข ๐ Report Bug โข ๐ก Request Feature
