Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Bug Report
description: Create a report to help us improve
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: checkboxes
id: terms
attributes:
label: Terms
options:
- label: I have read the CONTRIBUTING guidelines
required: true
Comment on lines +15 to +16

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To make it easier for users to access the contribution guidelines, consider adding a direct link to the CONTRIBUTING.md file.

        - label: I have read the [CONTRIBUTING guidelines](CONTRIBUTING.md)
          required: true

- label: I have checked existing issues to avoid duplicates
required: true
- type: input
id: version
attributes:
label: Version
description: What version of EternalEconomy are you using?
placeholder: v1.0.0
validations:
required: true
- type: input
id: server-version
attributes:
label: Server Version
description: What server software and version are you using? (e.g., Paper 1.20.4)
placeholder: Paper version git-Paper-123 (MC: 1.20.4)
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of what the bug is.
placeholder: I entered the command... and then...
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs / Screenshots
description: Paste any relevant logs or screenshots here.
render: shell
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Feature Request
description: Suggest an idea for this project
title: "[Feature]: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for suggesting a new feature!
- type: checkboxes
id: terms
attributes:
label: Terms
options:
- label: I have read the CONTRIBUTING guidelines
required: true
Comment on lines +15 to +16

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To improve user experience, it would be helpful to include a direct link to the CONTRIBUTING.md file here.

        - label: I have read the [CONTRIBUTING guidelines](CONTRIBUTING.md)
          required: true

- label: I have checked existing issues to avoid duplicates
required: true
- type: textarea
id: description
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is.
placeholder: I'm always frustrated when...
validations:
required: true
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
- type: textarea
id: context
attributes:
label: Additional Context
description: Add any other context or screenshots about the feature request here.
16 changes: 16 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
### Summary
<!-- Describe the changes you have made -->

### Issue Link
<!-- Link to the issue this PR addresses, e.g. "Closes #123" -->

### Type of Change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Refactoring (no functional changes, just code cleanup)

### Checklist
- [ ] My code follows the code style of this project.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To help contributors easily find the coding standards, you could link to the style guidelines section within your CONTRIBUTING.md file.

Suggested change
- [ ] My code follows the code style of this project.
- [ ] My code follows the [style guidelines](CONTRIBUTING.md#styleguides) of this project.

- [ ] I have tested my changes.
- [ ] I have updated the documentation accordingly.
63 changes: 63 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Contributing to EternalEconomy

First off, thanks for taking the time to contribute! 🎉

The following is a set of guidelines for contributing to EternalEconomy. These are just guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

## Code of Conduct

This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The Code of Conduct is mentioned but not linked. It's a best practice to include a link to a CODE_OF_CONDUCT.md file to ensure all participants can easily access it.

Suggested change
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
This project and everyone participating in it is governed by our [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.


## How Can I Contribute?

### Reporting Bugs

This section guides you through submitting a bug report. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.

- **Use a clear and descriptive title** for the issue to identify the problem.
- **Describe the exact steps which reproduce the problem** in as many details as possible.
- **Provide specific examples** to demonstrate the steps.
- **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior.
- **Explain which behavior you expected to see instead and why.**
- **Include logs and screenshots** which show you following the described steps and demonstrate the problem.

### Suggesting Enhancements

This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality.

- **Use a clear and descriptive title** for the issue to identify the suggestion.
- **Provide a step-by-step description of the suggested enhancement** in as many details as possible.
- **Explain why this enhancement would be useful** to most EternalEconomy users.

### Pull Requests

The process described here has several goals:

- Maintain EternalEconomy's quality.
- Fix problems that are important to users.
- Engage the community in working toward the best possible EternalEconomy.
- Enable a sustainable system for EternalEconomy's maintainers to review contributions.

Please follow these steps to have your contribution considered by the maintainers:

1. Follow all instructions in [the template](.github/pull_request_template.md).
2. Follow the [Checkstyle](checkstyle.xml) (if available) or standard Java coding conventions.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The link to the checkstyle.xml file appears to be broken. It should point to the correct location within the config directory to ensure contributors can find the style guide.

Suggested change
2. Follow the [Checkstyle](checkstyle.xml) (if available) or standard Java coding conventions.
2. Follow the [Checkstyle](config/checkstyle/checkstyle.xml) (if available) or standard Java coding conventions.

3. After you submit your pull request, verify that all status checks are passing.

## Styleguides

### Git Commit Messages

- Use the present tense ("Add feature" not "Added feature").
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...").
- Limit the first line to 72 characters or less.
- Reference issues and pull requests liberally after the first line.

### Java Styleguide

- Use 4 spaces for indentation.
- Organize imports.
- Use meaningful variable and method names.
- Document complex logic with comments.

Thank you for contributing!
102 changes: 101 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,104 @@
<div align="center">

![readme-banner.png](https://github.com/EternalCodeTeam/EternalEconomy/blob/master/assets/readme-banner.png?raw=true)
</div>

# EternalEconomy

[![Available on SpigotMC](https://raw.githubusercontent.com/vLuckyyy/badges/main/available-on-spigotmc.svg)](https://www.spigotmc.org/resources/eternalcore-%E2%99%BE%EF%B8%8F-all-the-most-important-server-functions-in-one.112264/)
[![Available on Modrinth](https://raw.githubusercontent.com/vLuckyyy/badges/main/avaiable-on-modrinth.svg)](https://modrinth.com/plugin/eternalcore)
[![Available on Hangar](https://raw.githubusercontent.com/vLuckyyy/badges/main/avaiable-on-hangar.svg)](https://hangar.papermc.io/EternalCodeTeam/EternalCore)

[![Chat on Discord](https://raw.githubusercontent.com/vLuckyyy/badges/main//chat-with-us-on-discord.svg)](https://discord.com/invite/FQ7jmGBd6c)
[![Read the Docs](https://raw.githubusercontent.com/vLuckyyy/badges/main/read-the-documentation.svg)](https://docs.eternalcode.pl/eternalcore/introduction)
[![Available on BStats](https://raw.githubusercontent.com/vLuckyyy/badges/main/available-on-bstats.svg)](https://bstats.org/plugin/bukkit/EternalEconomy2/28941)

**The most modern and advanced economy plugin for your Minecraft server.**

[Report Bug](https://github.com/EternalCodeTeam/EternalEconomy/issues) • [Request Feature](https://github.com/EternalCodeTeam/EternalEconomy/issues) • [Join Discord](https://discord.gg/eternalcode)

<br>

<a href="https://ko-fi.com/eternalcodeteam">
<img src="https://github.com/intergrav/devins-badges/blob/v3/assets/cozy/donate/kofi-plural-alt_64h.png?raw=true" height="64" alt="Support us on Ko-fi">
</a>

</div>

---

## 🔥 Features

| Feature | Description |
| :--- | :--- |
| 🚀 **High Performance** | Optimized for large servers with asynchronous database operations. |
| 💾 **Multi-Database** | Support for H2, SQLite, MySQL, MariaDB, and PostgreSQL. |
| 🌍 **Modern Design** | Slick default messages with MiniMessage support. |
| 📊 **Leaderboards** | Built-in high-performance balance top system. |
| ⚙️ **Configurable** | Extensive `config.yml` and `messages.yml` customization. |

---

## 📷 Gallery

<div align="center">

| Feature Preview | GIF / Image |
| :--- | :--- |
| **Balance Check** | *Place your GIF here* |
| **Pay System** | *Place your GIF here* |
| **Admin Management** | *Place your GIF here* |

</div>

---

## 💻 Commands & Permissions

### Player Commands
| Command | Usage | Permission | Description |
| :--- | :--- | :--- | :--- |
| `/balance` | `/balance [player]` | `eternaleconomy.player.balance` | Check your own account balance. |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The usage for checking one's own balance is documented as /balance [player], which can be confusing. Typically, checking one's own balance doesn't require any arguments. Changing the usage to just /balance would make it clearer.

Suggested change
| `/balance` | `/balance [player]` | `eternaleconomy.player.balance` | Check your own account balance. |
| `/balance` | `/balance` | `eternaleconomy.player.balance` | Check your own account balance. |

| `/balance` | `/balance <player>` | `eternaleconomy.player.balance.other` | Check another player's balance. |
| `/pay` | `/pay <player> <amount>` | `eternaleconomy.player.pay` | Transfer money to another player. |
| `/withdraw` | `/withdraw <amount>` | `eternaleconomy.player.withdraw` | Withdraw money from your account. |
| `/balancetop` | `/balancetop [page]` | `eternaleconomy.player.balance.top` | View the richest players on the server. |

### Admin Commands
| Command | Usage | Permission | Description |
| :--- | :--- | :--- | :--- |
| `/economy set` | `/eco set <player> <amount>` | `eternaleconomy.admin.set` | Set a player's balance to a specific amount. |
| `/economy add` | `/eco add <player> <amount>` | `eternaleconomy.admin.add` | Add a specific amount to a player's balance. |
| `/economy remove` | `/eco remove <player> <amount>` | `eternaleconomy.admin.remove` | Remove a specific amount from a player's balance. |
| `/economy reset` | `/eco reset <player>` | `eternaleconomy.admin.reset` | Reset a player's balance to the default. |
| `/economy reload` | `/eco reload` | `eternaleconomy.admin.reload` | Reload the plugin configuration. |
| `/economy check` | `/eco check <player>` | `eternaleconomy.admin.balance` | Check a player's balance (Admin alias). |
Comment on lines +69 to +74

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The admin command documentation is inconsistent. The Command column lists /economy, but the Usage column uses the alias /eco. For clarity and consistency, it's better to use the primary command name /economy in the usage examples. The existence of aliases can be mentioned separately or left for users to discover in-game.

Suggested change
| `/economy set` | `/eco set <player> <amount>` | `eternaleconomy.admin.set` | Set a player's balance to a specific amount. |
| `/economy add` | `/eco add <player> <amount>` | `eternaleconomy.admin.add` | Add a specific amount to a player's balance. |
| `/economy remove` | `/eco remove <player> <amount>` | `eternaleconomy.admin.remove` | Remove a specific amount from a player's balance. |
| `/economy reset` | `/eco reset <player>` | `eternaleconomy.admin.reset` | Reset a player's balance to the default. |
| `/economy reload` | `/eco reload` | `eternaleconomy.admin.reload` | Reload the plugin configuration. |
| `/economy check` | `/eco check <player>` | `eternaleconomy.admin.balance` | Check a player's balance (Admin alias). |
| `/economy set` | `/economy set <player> <amount>` | `eternaleconomy.admin.set` | Set a player's balance to a specific amount. |
| `/economy add` | `/economy add <player> <amount>` | `eternaleconomy.admin.add` | Add a specific amount to a player's balance. |
| `/economy remove` | `/economy remove <player> <amount>` | `eternaleconomy.admin.remove` | Remove a specific amount from a player's balance. |
| `/economy reset` | `/economy reset <player>` | `eternaleconomy.admin.reset` | Reset a player's balance to the default. |
| `/economy reload` | `/economy reload` | `eternaleconomy.admin.reload` | Reload the plugin configuration. |
| `/economy check` | `/economy check <player>` | `eternaleconomy.admin.balance` | Check a player's balance (Admin alias). |


---

## 🧩 Placeholders

These placeholders are used within the `messages.yml` file to dynamic content.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There's a minor grammatical error in this sentence. It would read more clearly if changed.

Suggested change
These placeholders are used within the `messages.yml` file to dynamic content.
These placeholders are used within the `messages.yml` file to insert dynamic content.


| Placeholder | Context | Description |
| :--- | :--- | :--- |
| `{PLAYER}` | Global | The name of the player involved in the transaction. |
| `{BALANCE}` | Balance Check | The formatted balance of the player. |
| `{AMOUNT}` | Transaction | The amount of money being transferred, added, or removed. |
| `{POSITION}` | Leaderboard | The rank of the player in the leaderboard. |
| `{PAGE}` | Leaderboard | The current page number. |
| `{TOTAL_PAGES}` | Leaderboard | The total number of pages. |

---

## 📥 Installation

1. Download the latest release from [GitHub](https://github.com/EternalCodeTeam/EternalEconomy/releases) or [Modrinth](https://modrinth.com/plugin/eternaleconomy).
2. Place the `.jar` file into your server's `plugins` folder.
3. Restart your server.
4. Configure `config.yml` and database settings if necessary.

---

<div align="center">
Made with ❤️ by the <a href="https://github.com/EternalCodeTeam">EternalCodeTeam</a>
</div>