Skip to content

Commit 08c9669

Browse files
committed
Merge branch 'dev' into main for 1.3.0 release
2 parents 4fdfe0b + 6faef1f commit 08c9669

274 files changed

Lines changed: 31028 additions & 9781 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODE_OF_CONDUCT.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and maintainers pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, religion, or sexual identity and
10+
orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
- Demonstrating empathy and kindness toward other people
21+
- Being respectful of differing opinions, viewpoints, and experiences
22+
- Giving and gracefully accepting constructive feedback
23+
- Accepting responsibility and apologizing to those affected by our mistakes
24+
- Focusing on what is best not just for us as individuals, but for the
25+
overall community
26+
27+
Examples of unacceptable behavior include:
28+
29+
- The use of sexualized language or imagery, and sexual attention or advances
30+
of any kind
31+
- Trolling, insulting, or derogatory comments, and personal or political attacks
32+
- Public or private harassment
33+
- Publishing others private information, such as a physical or email address,
34+
without their explicit permission
35+
- Other conduct which could reasonably be considered inappropriate in a
36+
professional setting
37+
38+
## Enforcement Responsibilities
39+
40+
Project maintainers are responsible for clarifying and enforcing our standards
41+
of acceptable behavior and will take appropriate and fair corrective action in
42+
response to any behavior that they deem inappropriate, threatening, offensive,
43+
or harmful.
44+
45+
Project maintainers have the right and responsibility to remove, edit, or
46+
reject comments, commits, code, wiki edits, issues, and other contributions
47+
that are not aligned to this Code of Conduct, and will communicate reasons for
48+
moderation decisions when appropriate.
49+
50+
## Scope
51+
52+
This Code of Conduct applies within all community spaces, and also applies when
53+
an individual is officially representing the project in public spaces.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by opening a private security report:
59+
60+
- <https://github.com/Arbousier1/MahjongEngine/security/advisories/new>
61+
62+
All complaints will be reviewed and investigated promptly and fairly.
63+
64+
## Attribution
65+
66+
This Code of Conduct is adapted from the Contributor Covenant, version 2.1:
67+
68+
- <https://www.contributor-covenant.org/version/2/1/code_of_conduct.html>

.github/CONTRIBUTING.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Contributing
2+
3+
Thanks for helping improve MahjongEngine.
4+
5+
## Before You Start
6+
7+
- Search existing issues and pull requests first.
8+
- Keep each pull request focused on one change.
9+
- Prefer small, reviewable commits.
10+
11+
## Local Setup
12+
13+
1. Fork and clone the repository.
14+
2. Use JDK 21+ for the default build. The released jar is built with Java 17 bytecode and `api-version: 1.20`, so a single jar runs on Paper/Folia 1.20.1 through 26.2.
15+
3. Build the project:
16+
17+
```powershell
18+
.\gradlew.bat build
19+
```
20+
21+
To validate source/API compatibility against Paper 26.2:
22+
23+
```powershell
24+
.\gradlew.bat test "-PmahjongPaperDevBundle=26.2-rc-2.build.9-alpha" -PmahjongJavaToolchain=25 -PmahjongJavaTarget=25
25+
```
26+
27+
This command is only a compatibility check. Release artifacts should use the default build so the distributed jar remains compatible with the whole supported server range.
28+
29+
## Development Workflow
30+
31+
1. Create a branch from `dev`.
32+
2. Implement your change.
33+
3. Run tests:
34+
35+
```powershell
36+
.\gradlew.bat test
37+
```
38+
39+
4. If behavior changes, update docs and user-facing text.
40+
5. Open a pull request to `dev` with a clear summary.
41+
42+
## Coding Guidelines
43+
44+
- Follow existing code style and naming conventions.
45+
- Avoid unrelated refactors in functional bug-fix PRs.
46+
- Keep behavior changes explicit and tested.
47+
- Prefer backwards-compatible changes when possible.
48+
49+
## Commit Messages
50+
51+
Use concise, descriptive messages, for example:
52+
53+
- `fix: handle null seat during restore`
54+
- `refactor: extract shared reaction helpers`
55+
- `docs: update setup instructions`
56+
57+
## Reporting Bugs
58+
59+
Use the Bug Report template and include:
60+
61+
- Steps to reproduce
62+
- Expected vs actual behavior
63+
- Server and plugin version
64+
- Logs or stack traces if available
65+
66+
## Security Issues
67+
68+
Do not open public issues for vulnerabilities.
69+
Report privately via:
70+
71+
- <https://github.com/Arbousier1/MahjongEngine/security/advisories/new>
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Bug report
2+
description: Report a reproducible bug
3+
title: "[Bug] "
4+
labels:
5+
- bug
6+
body:
7+
- type: textarea
8+
id: summary
9+
attributes:
10+
label: Summary
11+
description: What happened?
12+
placeholder: Briefly describe the bug.
13+
validations:
14+
required: true
15+
16+
- type: textarea
17+
id: steps
18+
attributes:
19+
label: Steps to reproduce
20+
description: List exact steps so we can reproduce.
21+
placeholder: |
22+
1. Run command ...
23+
2. Join table ...
24+
3. Observe ...
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
id: expected
30+
attributes:
31+
label: Expected behavior
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: actual
37+
attributes:
38+
label: Actual behavior
39+
validations:
40+
required: true
41+
42+
- type: input
43+
id: plugin_version
44+
attributes:
45+
label: Plugin version / commit
46+
placeholder: e.g. 0.1.0 or 797a190
47+
validations:
48+
required: true
49+
50+
- type: input
51+
id: server_version
52+
attributes:
53+
label: Server version
54+
placeholder: e.g. Paper 1.21.x / Folia ...
55+
validations:
56+
required: true
57+
58+
- type: input
59+
id: java_version
60+
attributes:
61+
label: Java version
62+
placeholder: e.g. Temurin 21
63+
validations:
64+
required: true
65+
66+
- type: textarea
67+
id: logs
68+
attributes:
69+
label: Logs / stack trace
70+
description: Paste relevant logs or attach files.
71+
render: shell

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security vulnerability report
4+
url: https://github.com/Arbousier1/MahjongEngine/security/advisories/new
5+
about: Please report security issues privately.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Feature request
2+
description: Suggest an improvement
3+
title: "[Feature] "
4+
labels:
5+
- enhancement
6+
body:
7+
- type: textarea
8+
id: problem
9+
attributes:
10+
label: Problem statement
11+
description: What problem are you trying to solve?
12+
validations:
13+
required: true
14+
15+
- type: textarea
16+
id: proposal
17+
attributes:
18+
label: Proposed solution
19+
description: Describe your preferred solution.
20+
validations:
21+
required: true
22+
23+
- type: textarea
24+
id: alternatives
25+
attributes:
26+
label: Alternatives considered
27+
description: Any alternatives you evaluated?
28+
29+
- type: textarea
30+
id: scope
31+
attributes:
32+
label: Scope and impact
33+
description: Who benefits and what could break?
34+
35+
- type: checkboxes
36+
id: checklist
37+
attributes:
38+
label: Checklist
39+
options:
40+
- label: I searched existing issues and pull requests
41+
required: true

.github/SECURITY.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Security Policy
2+
3+
## Supported Versions
4+
5+
Security fixes are applied to the latest code on `dev` first.
6+
If feasible, critical fixes may be backported to recent release tags.
7+
8+
## Reporting a Vulnerability
9+
10+
Please report vulnerabilities privately. Do not disclose security issues in public issues or pull requests.
11+
12+
Preferred channel:
13+
14+
- GitHub Security Advisory:
15+
<https://github.com/Arbousier1/MahjongEngine/security/advisories/new>
16+
17+
Please include:
18+
19+
- A clear description of the issue
20+
- Impact and potential attack scenario
21+
- Reproduction steps or proof of concept
22+
- Affected commit/tag if known
23+
24+
You can expect an acknowledgment within 3 business days.

.github/SUPPORT.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Support
2+
3+
## Getting Help
4+
5+
- Questions and usage help: open a GitHub Issue.
6+
- Bugs and regressions: open a GitHub Issue with reproduction details.
7+
- Security concerns: use private reporting in `SECURITY.md`.
8+
9+
Issue link:
10+
11+
- <https://github.com/Arbousier1/MahjongEngine/issues>
12+
13+
## What to Include
14+
15+
- Plugin version and commit hash
16+
- Paper/Folia version
17+
- Java version
18+
- Steps to reproduce
19+
- Logs and stack traces

.github/pull_request_template.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
## Summary
2+
3+
Describe what changed and why.
4+
5+
## Type of Change
6+
7+
- [ ] Fix
8+
- [ ] Feature
9+
- [ ] Refactor
10+
- [ ] Docs
11+
- [ ] Test only
12+
13+
## Validation
14+
15+
- [ ] `./gradlew.bat test` passed locally
16+
- [ ] Behavior change is covered by tests or explained
17+
- [ ] Docs/user-facing text updated if needed
18+
19+
## Checklist
20+
21+
- [ ] The change is scoped and does not include unrelated edits
22+
- [ ] Backward compatibility impact is considered
23+
- [ ] I have read `CONTRIBUTING.md`

0 commit comments

Comments
 (0)