Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/coderandommc/coderandom-core
CodeRandomCore is a Bukkit plugin designed to manage various aspects of a Minecraft server, including player UUIDs, MySQL database interactions, and messaging utilities.
https://github.com/coderandommc/coderandom-core
api bukkit bukkit-plugin minecraft-plugin papermc papermc-plugin spigot spigot-plugin
Last synced: about 1 month ago
JSON representation
CodeRandomCore is a Bukkit plugin designed to manage various aspects of a Minecraft server, including player UUIDs, MySQL database interactions, and messaging utilities.
- Host: GitHub
- URL: https://github.com/coderandommc/coderandom-core
- Owner: CodeRandomMC
- License: other
- Created: 2024-08-01T10:57:48.000Z (4 months ago)
- Default Branch: 1.21
- Last Pushed: 2024-08-04T21:58:25.000Z (3 months ago)
- Last Synced: 2024-10-11T03:02:58.696Z (about 1 month ago)
- Topics: api, bukkit, bukkit-plugin, minecraft-plugin, papermc, papermc-plugin, spigot, spigot-plugin
- Language: Java
- Homepage: https://github.com/D4RKJ0K3R17/CodeRandom-Core/releases
- Size: 36.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CodeRandomCore
###### Current version `v1.0.0-1.21`CodeRandomCore is a Bukkit plugin designed to manage various aspects of a Minecraft server, including player UUIDs, MySQL database interactions, and messaging utilities. This guide will help you set up and use the API provided by the plugin.
## Table of Contents
- [Installation](#installation)
- [Configuration](#configuration)
- [Usage](#usage)
- [UUID Management](#uuid-management)
- [MySQL Management](#mysql-management)
- [Messaging Utilities](#messaging-utilities)
- [Title Utilities](#title-utilities)
- [ActionBar Utilities](#actionbar-utilities)
- [Contributing](#contributing)
- [License](#license)## Installation
1. Download the latest release of the CodeRandomCore plugin.
2. Place the plugin JAR file in your server's `plugins` directory.
3. Start your Minecraft server to generate the default configuration files.## Configuration
The plugin uses a configuration file located at `plugins/CodeRandomCore/config.yml`. Here is an example of the MySQL configuration section:
```yaml
MySQL:
enabled: false
host: localhost
port: 3306
database: code_random
username: root
password: ""
```### Configuration Options
- `enabled`: Set to `true` to enable MySQL support.
- `host`: The hostname or IP address of your MySQL server.
- `port`: The port number of your MySQL server (default is 3306).
- `database`: The name of the database to use.
- `username`: The username for the MySQL connection.
- `password`: The password for the MySQL connection.## Usage
### UUID Management
CodeRandomCore provides utilities for managing player UUIDs, especially for Bedrock players using Floodgate.
#### Fetching UUIDs
To fetch a player's UUID:
```
UUID uuid = UUIDFetcher.getUUID("playerName");
```This method will automatically determine if the player is a Bedrock player, an online player, or an offline player, and fetch the UUID accordingly.
### MySQL Management
The plugin uses HikariCP for managing MySQL connections.
#### Initializing MySQL
Ensure that MySQL is enabled in your `config.yml` file. The MySQLManager class manages the connection pool:
```
MySQLManager.initialize(plugin);
MySQLManager mysqlManager = MySQLManager.getInstance();if (mysqlManager.connect()) {
// Connected successfully
} else {
// Connection failed
}
```#### Executing Queries
To execute queries:
```
String query = "SELECT * FROM players";
try (ResultSet rs = mysqlManager.executeQuery(query)) {
while (rs.next()) {
// Process the result set
}
} catch (SQLException e) {
e.printStackTrace();
}
```### Messaging Utilities
The plugin provides utilities for sending formatted messages to players.
#### Sending Messages
To send a formatted message:
```
MessageUtils.formattedMessage(player, "Your message here");
```To send a message with a title and lines:
```
MessageUtils.messageWithTitle(player, "Title", "Line 1", "Line 2");
```### Title Utilities
To send titles to players:
```
TitleUtils.title(player, "Main Title", "Subtitle", 20, 100, 20);
```This will display a title with a fade-in time of 20 ticks, stay time of 100 ticks, and fade-out time of 20 ticks.
### ActionBar Utilities
To send an action bar message:
```
ActionBarUtils.actionBar(player, "ActionBar Message", 60);
```This will display an action bar message for 3 seconds (60 ticks).
## Contributing
1. Fork the repository.
2. Create your feature branch (`git checkout -b feature/fooBar`).
3. Commit your changes (`git commit -am 'Add some fooBar'`).
4. Push to the branch (`git push origin feature/fooBar`).
5. Create a new Pull Request.## License
This project is Non-Commercial License with API Usage Exception. See the [LICENSE](LICENSE) file for details.