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
123 changes: 123 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Contributing to CyberLevels

Thank you for your interest in contributing to **CyberLevels**! We welcome community contributions, whether you are fixing a bug, adding a new feature, improving documentation, or optimizing code.

By contributing to this repository, you help make CyberLevels better for thousands of Minecraft server owners.

---

## 📜 Licensing & CLA

By submitting a Pull Request (PR) or code contribution to this repository:
1. You agree that your contributions will be licensed under the project's [BitAspire Community & Public License (BCPL) v1.0](LICENSE.md).
2. You confirm that all submitted code is your own work or properly attributed under compatible open-source/source-available licenses.
3. You grant **BitAspire** / **ZeroToil LLC** the perpetual right to include, modify, and distribute your contribution as part of the CyberLevels plugin.

---

## 🛠️ Getting Started

### Prerequisites

To build and test CyberLevels locally, you will need:
- **JDK 8 or higher** (JDK 17 or JDK 21 recommended for building modern target bytecode).
- **Gradle** (The project includes the Gradle wrapper `./gradlew`).
- A local **Spigot**, **Paper**, or **Folia** test server.

### Repository Setup

1. **Fork** the repository on GitHub.
2. **Clone** your fork locally:

```bash

git clone [https://github.com/YOUR_USERNAME/CyberLevels.git](https://github.com/YOUR_USERNAME/CyberLevels.git)
cd CyberLevels


```

3. **Build** the plugin using Gradle:

```bash

./gradlew build


```

The output compiled `.jar` file will be located in `build/libs/`.

---

## 🔄 How to Contribute

### 1. Reporting Bugs & Support

* **Discord:** For quick support, general questions, or minor bug reports, please join our [BitAspire Discord](https://discord.gg/DC4Gqj3y5V).
* **GitHub Issues:** If you encounter a reproducible bug, check existing issues before creating a new one. Include:
* Plugin version (`/clv about`).
* Server software & Minecraft version (e.g., Paper 1.20.4).
* Error logs / stack traces (use [Pastebin](https://pastebin.com/) or similar).
* Steps to reproduce the issue.

### 2. Suggesting Features

* Discuss proposed features on Discord or via GitHub Issues before starting significant work. This ensures your idea fits the plugin's roadmap and avoids duplicated effort.

### 3. Submitting Pull Requests (PRs)

Follow these steps when preparing a Pull Request:

1. **Create a new branch** from `main` (or the active development branch):

```bash

git checkout -b feature/my-cool-feature
# or
git checkout -b fix/issue-description


```

2. **Follow Coding Standards:**
* Follow standard Java naming conventions and style guidelines.
* Keep code clean, readable, and well-commented where necessary.
* Maintain compatibility across supported Minecraft versions and platforms (Spigot, Paper, Folia).
* Ensure soft-dependency hooks (e.g., PlaceholderAPI, Vault) fail gracefully if the target plugin is absent.


3. **Test Your Changes:**
* Test your build thoroughly on a test server before opening a PR.
* Ensure existing features, commands, and events are not broken.


4. **Commit & Push:**
* Write clear, descriptive commit messages.
* Push your branch to your fork:

```bash

git push origin feature/my-cool-feature


```

5. **Open the Pull Request:**
* Select `main` as the base repository target.
* Provide a clear title and description of what your PR changes or fixes.
* Link any relevant issues solved by the PR (e.g., `Fixes #12`).

---

## 💬 Code Style Guidelines

* **Formatting:** Standard 4-space indentation for Java files.
* **Async Execution:** Mind Folia and Paper async requirements. Avoid blocking the main server thread with I/O or database queries.
* **Backward Compatibility:** Keep legacy API methods intact (use `@Deprecated` annotation if replacing older methods/events like `XPChangeEvent`).

---

## 💙 Recognition

All accepted contributors will be credited in release notes and contributor lists where applicable. Thank you for helping build CyberLevels!
41 changes: 41 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
BitAspire Community & Public License (BCPL) v1.0
Software: CyberLevels
Copyright (c) BitAspire.com / ZeroToil LLC (Authors: Kihsomray, CroaBeast)

1. Grant of Rights

Subject to the terms and conditions of this license, users are hereby granted a free, non-exclusive right to:

1. Use the compiled Software on any number of personal or managed Minecraft servers (including commercial server networks).
2. Inspect, study, and modify the source code of the Software for personal use, server needs, or for contributing (via pull requests) to the official project repository.
3. Distribute non-commercial forks or modifications exclusively under the condition of full compliance with all restrictions listed in Section 2.

2. Restrictions and Conditions of Use

The grant of rights under Section 1 is strictly subject to the following limitations:

2.1 No Resale

The Software, its source code, compiled binary files (.jar), and any derivatives or modifications may not be sold, rented, leased, or monetized on any platform (e.g., SpigotMC, BuiltByBit/MC-Market, Tebex, custom web stores, etc.).

2.2 No Brand Reuse

You may not re-upload, redistribute, or publish the original or modified Software under the names "CyberLevels", "BitAspire", or "ZeroToil".
* If you create a modified derivative (fork), you must clearly rename it to prevent confusion with the official CyberLevels project.

2.3 Required Attribution

All copies of the Software or substantial portions thereof, as well as works derived from it, must retain the following in source code headers, the LICENSE file, and attached documentation:
* The original Copyright Notice,
* A link to the official repository (https://github.com/BitAspire/CyberLevels),
* The names of the original authors (Kihsomray, CroaBeast, BitAspire, ZeroToil LLC).

2.4 No Patenting or Exclusive Claims

Users and contributors may not apply for patents, industrial designs, or assert any other exclusive intellectual property claims over the Software, its parts, algorithms, or underlying logic.

3. Limitation of Liability and Disclaimer of Warranty

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY (INCLUDING LOSS OF DATA, SERVER DAMAGE, OR FINANCIAL LOSSES), WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* For inquiries regarding commercial licensing or exceptions to this license, please contact the developers on the BitAspire Discord (https://discord.gg/DC4Gqj3y5V).
26 changes: 22 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
# CyberLevels
# CyberLevels - Server Leveling System

[![CI](https://github.com/BitAspire/CyberLevels/actions/workflows/build.yml/badge.svg)](https://github.com/BitAspire/CyberLevels/actions/workflows/build.yml)
[![Latest Release](https://img.shields.io/github/v/release/BitAspire/CyberLevels?sort=semver)](https://github.com/BitAspire/CyberLevels/releases)
[![License](https://img.shields.io/github/license/BitAspire/CyberLevels)](LICENSE)
[![Java 8+](https://img.shields.io/badge/Java-8%2B-orange)](https://www.oracle.com/java/technologies/javase/8all-relnotes.html)
[![Gradle](https://img.shields.io/badge/Gradle-9.7.1-02303A)](https://gradle.org/)

A leveling system plugin for **Spigot** and **Paper** with **Folia support**. Store player levels and experience, reward activity across your server, sync progress through SQL storage, and show progression through chat, action bar, PlaceholderAPI, leaderboards, and more.

---

## 🔗 Downloads
Download our plugin only from these sources:
- [SpigotMC](https://www.spigotmc.org/resources/cyberlevels.98826/)
- [Releases](https://github.com/BitAspire/CyberLevels/releases/)
---

## 🧩 Supported versions

- **Minecraft:** 1.8+ (check the resource page for the latest tested builds).
Expand Down Expand Up @@ -228,9 +240,15 @@ public final class MyPlugin extends JavaPlugin {
- **Bugs / questions:** primarily use our [Discord server](https://discord.gg/DC4Gqj3y5V). We do not check GitHub issues that often, and Spigot reviews should not be used as support tickets.
- **Donations:** [PayPal: zerotoildev](https://paypal.me/zerotoildev)

### 📜 Resource terms (summary)
### 📜 License

CyberLevels is a licensed plugin with our custom BCPL v1.0 license. Before using or contributing to our plugin, we recommend to read this document.

---

### 👋 Contributing

Per the Spigot listing: do not redistribute or sell the resource as your own, do not decompile to claim ownership, and follow any updated terms on the resource page.
Contributions are welcome! Please select tab "Contributing" and read more information about how to contribute. We appreciate any help or bugfix from our community.

---

Expand All @@ -240,6 +258,6 @@ Per the Spigot listing: do not redistribute or sell the resource as your own, do

## 🌟 Contributors

**Klema_LP**
**Klema_LP**, **Faln**, **Zsomi**, **hermes18974-jpg**

© BitAspire.com | Product of ZeroToil LLC
Loading