Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aleksandarharalanov/gradle-plugin-template
Used as a base for Minecraft b1.7.3 plugin development, includes utility classes for common plugin tasks and convenience.
https://github.com/aleksandarharalanov/gradle-plugin-template
bukkit bukkit-plugin craftbukkit craftbukkit-1060 craftbukkit-plugin minecraft minecraft-beta minecraft-beta-plugin minecraft-plugin utility-library
Last synced: about 1 month ago
JSON representation
Used as a base for Minecraft b1.7.3 plugin development, includes utility classes for common plugin tasks and convenience.
- Host: GitHub
- URL: https://github.com/aleksandarharalanov/gradle-plugin-template
- Owner: AleksandarHaralanov
- License: mit
- Created: 2024-07-19T22:19:38.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-12-18T03:00:41.000Z (about 1 month ago)
- Last Synced: 2024-12-18T04:17:11.946Z (about 1 month ago)
- Topics: bukkit, bukkit-plugin, craftbukkit, craftbukkit-1060, craftbukkit-plugin, minecraft, minecraft-beta, minecraft-beta-plugin, minecraft-plugin, utility-library
- Language: Java
- Homepage:
- Size: 18.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Gradle Plugin Template
A gradle template to use as a base for Minecraft b1.7.3 plugin development, including utility classes for common plugin tasks and convenience.## Usage
While the project may be compatible with other Integrated Development Environments (IDEs), it is highly recommended to use IntelliJ IDEA by JetBrains for optimal performance.### How To Clone
1. **Via VCS**:
- Open IntelliJ IDEA.
- Go to `File > New > Project from Version Control`.
- If you're on the dashboard home screen of the IDE, click `CLONE FROM VCS` on the top-right button.
- In the `URL` field, paste the repository link:
```
https://github.com/AleksandarHaralanov/gradle-plugin-template
```
- Rename your project to have your desired plugin name.
- Click `Clone` to download the project.2. **Via Git**:
- Open your terminal and run the following command:
```bash
git clone https://github.com/AleksandarHaralanov/gradle-plugin-template.git
```### Notice
After cloning, update the `src/main/resources/plugin.yml` with your specific details.## Prerequisites
- **JDK 8 Required**: This project is built upon JDK 8. Ensure that your development environment is set up with JDK 8 or a compatible version.## Features
### Convenience
- **[build.gradle](https://github.com/AleksandarHaralanov/Gradle-Plugin-Template/blob/master/build.gradle)**:
- Names the plugin's compiled `.jar` file using the plugin's name and version directly from the `plugin.yml` file.
- **[Plugin](https://github.com/AleksandarHaralanov/Gradle-Plugin-Template/blob/master/src/main/java/org/example/plugin/Plugin.java)**:
- Includes the `onEnable` and `onDisable` methods for the plugin's functionality.
- Loggers that utilize the plugin's name and version for when the plugin is enabled and disabled.### Utility Classes
- **[AboutUtil](https://github.com/AleksandarHaralanov/Gradle-Plugin-Template/blob/master/src/main/java/org/example/plugin/util/AboutUtil.java)**:
- **Purpose**: Provides methods to easily access information about the plugin, such as its name, version, authors, and description.
- **Usage**: Use this utility to display plugin information in console logs, help commands, or any other context where plugin details are required.
- **Features**:
- Fetches plugin metadata from the `plugin.yml` file.
- Returns formatted strings for logging or display.- **[AccessUtil](https://github.com/AleksandarHaralanov/Gradle-Plugin-Template/blob/master/src/main/java/org/example/plugin/util/AccessUtil.java)**:
- **Purpose**: Provides utility methods to interact with permissions, commands, and other access control aspects in the plugin.
- **Usage**: Helps manage permissions, check user permissions, and handle command execution in a standardized way.
- **Features**:
- Permission checking.
- Command execution.
- Access control.- **[ColorUtil](https://github.com/AleksandarHaralanov/Gradle-Plugin-Template/blob/master/src/main/java/org/example/plugin/util/ColorUtil.java)**:
- **Purpose**: Formats text messages with color codes compatible with Minecraft.
- **Usage**: Style text messages for players or logs using color codes.
- **Features**:
- Applies color and formatting codes.
- Easy integration with Minecraft text formatting.- **[ConfigUtil](https://github.com/AleksandarHaralanov/Gradle-Plugin-Template/blob/master/src/main/java/org/example/plugin/util/ConfigUtil.java)**:
- **Purpose**: Handles configuration file reading and writing.
- **Usage**: Use to manage plugin configuration files, loading configuration data at startup and saving changes at shutdown.
- **Features**:
- Reads configuration data from YAML files.
- Writes changes back to YAML files.
- Provides default values for configuration settings.- **[DiscordUtil](https://github.com/AleksandarHaralanov/Gradle-Plugin-Template/blob/master/src/main/java/org/example/plugin/util/DiscordUtil.java)**:
- **Purpose**: Facilitates interaction with Discord services.
- **Usage**: Helps send messages to Discord channels or get information from Discord.
- **Features**:
- Sends messages to Discord channels.
- Retrieves messages or information from Discord.
- Supports both text and rich media messages.- **[LoggerUtil](https://github.com/AleksandarHaralanov/Gradle-Plugin-Template/blob/master/src/main/java/org/example/plugin/util/LoggerUtil.java)**:
- **Purpose**: Provides a unified logging utility for the plugin.
- **Usage**: Standardizes logging across the plugin, using the plugin's name and version.
- **Features**:
- Logs messages with the plugin’s name and version.
- Supports various log levels (INFO, WARN, SEVERE, etc.)
- Integrates with both console and file logging.- **[UpdateUtil](https://github.com/AleksandarHaralanov/Gradle-Plugin-Template/blob/master/src/main/java/org/example/plugin/util/UpdateUtil.java)**:
- **Purpose**: Manages plugin updates.
- **Usage**: Monitors and checks for updates, notifying owners in console if a new version is available.
- **Features**:
- Checks for new plugin versions.
- Notifies owners of available updates.
- Integrates with GitHub API for repositories.