Skip to content

Commit 65b39a6

Browse files
committed
Contributing guide
1 parent 0f099df commit 65b39a6

File tree

4 files changed

+111
-22
lines changed

4 files changed

+111
-22
lines changed

CONTRIBUTING.md

+93
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Contributing to Skript
2+
Skript is an open source project. That basically means that you are
3+
encouraged to contribute by reporting issues and writing code. Basic
4+
guidelines are posted below to save time from everyone.
5+
6+
## Issues
7+
Issues are usually used to report bugs and request improvements or new features.
8+
9+
Script writers should **not** use issue tracker to ask why their code is broken,
10+
*unless* theyt think it might be a bug. Correct places for getting scripting advise
11+
are SkUnity forums and Discord (see README again). That being said, this is
12+
mostly to save your time - if you're not sure if something is a bug, report it
13+
anyway.
14+
15+
### Reporting Bugs
16+
So, you have found out a potential Skript bug. By reporting it correctly, you
17+
can ensure that it will be correctly categorized as a bug and hopefully, fixed.
18+
19+
First, please make sure you have **latest** Skript version available. If there
20+
are no stable (no pre-release tag) versions, this means latest dev build.
21+
If you can find non-prerelease in downloads page of this repository, you may
22+
also use that one. Do **not** use 2.2, 2.1 or older, since while they are
23+
technically stable, they tend to not work reliably with Minecraft 1.9+.
24+
25+
If you are running latest Skript and the error still persists, search the
26+
issue tracker for similar errors. Check if your issue might be already reported.
27+
If it has been reported, leave a comment, otherwise open a new issue.
28+
29+
Now, what would you fill to the issue report?
30+
* Description of the issue, aka what does *not* work
31+
* Any error messages in the console (you can also use a paste service)
32+
* Any addons that you have - this is **very** important
33+
* Any additional information you think would be helpful
34+
35+
Do not use offensive language or insult *anyone*. Distruptive behaviour in issue
36+
tracker will be dealt with harshly and in the end, will leave your issue unresolved.
37+
38+
### Pull Requests
39+
Pull requests are a great way to contribute code, but there are still a few
40+
guidelines on how to use them.
41+
42+
Note that these guidelines do not apply to pull requesting changes to
43+
documentation. For that kind of pull requests, just use common sense.
44+
45+
## What to Contribute?
46+
You can find issues tagged with "help wanted" on tracker to see if there is
47+
something for you. If you want to take over one of these, just leave a comment
48+
so other contributors don't accidentally pick same issue to work on. You can also
49+
offer your help to any other issue, but for "help wanted" tasks, help is really
50+
*needed*.
51+
52+
### Before Programming...
53+
If you did not pick an existing issue to work on, you should perhaps ask if your
54+
change is wanted. This can be done by opening an issue or contacting developer
55+
directly via Discord.
56+
57+
Then, a few words of warning: Skript codebase will not be pleasant, easy or
58+
that sane to work around with. You will need some Java skills to create anything
59+
useful in sane amount of time. Skript is not a good programming/Java learning
60+
project!
61+
62+
Still here? Good luck. If you did not learn how to use Git, now might be a good
63+
time to [https://help.github.com/categories/bootcamp/](learn).
64+
65+
### When Programming
66+
Use a sane development environment. README has some instructions about working
67+
with Skript's code, please follow them. As said there, you really should follow
68+
them to get your pull request merged.
69+
70+
If you cannot or do not wish to follow some of the guidelines, it does not mean
71+
that all is lost. You can change your code even after submitting a pull request,
72+
so you can later improve it. Also, if your feature is valuable enough, it might
73+
be merged and then fixed for you. It does not happen very often, though.
74+
75+
### After Programming
76+
Test your changes. Actually, test more than your changes: if you think that you
77+
might have broken something unrelated, better to test that too. Nothing is more
78+
annoying than breaking existing features.
79+
80+
When you are ready to submit a pull request, please follow the template. Don't
81+
be scared, usually everything goes well and your pull request will be present
82+
in next Skript release.
83+
84+
Good luck!
85+
86+
## Code Bounties
87+
Just to let you know, [https://www.bountysource.com/](Bountysource) is a thing.
88+
While putting a bounty on issue *probably* won't make me do it any faster,
89+
someone else might get interested.
90+
91+
Other donation methods are possible in the future, but right now it is not
92+
possible to just donate money for me (bensku). Putting bounties on things
93+
I'm already doing is always possible, though :)

gpl.txt renamed to LICENSE

File renamed without changes.

PULL_REQUEST_TEMPLATE.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
*before submitting, remove all help text like this*
2+
3+
Target Minecraft versions: *any means 1.9+*
4+
Requirements: *is Paper required? are there plugin requirements?*
5+
Related issues: *include issue numbers (if any) like #NUMBER*
6+
7+
Description:
8+
*fill something useful that describes your pull request here*

README.md

+10-22
Original file line numberDiff line numberDiff line change
@@ -76,32 +76,20 @@ with applicable nullness rules. Note that this really means *exceptional*;
7676
adding some expressions and stuff like that do not count.
7777

7878
## Contributing
79-
So, you want to contribute to Skript? You need to:
80-
* Have some skills in Java (unless said otherwise)
79+
Code guidelines can be found below. You should also see CONTRIBUTING.md for
80+
a lot of useful information.
81+
82+
## Code Guidelines
83+
So, you want to work with Skript's codebase? There are a few guidelines for you:
84+
* Understand Java as a language (Skript is not good learning project)
8185
* Use Eclipse as your IDE for Skript *or* get your own IDE to support Eclipse's nullness annotations
8286
* Not alter Eclipse nullness annotation settings; they affect even the compiler
83-
* Use tabs as indentation; Eclipse does this for you
84-
* Write code that follows conventions in other files of Skript's source
87+
* Use tabs as indentation (Eclipse settings provided will do this)
88+
* Try to write code that looks similar to
8589
* **DO NOT** use NMS code
8690

87-
Tl;dr; follow these directions unless you have good reason not to.
88-
89-
### What to Contribute?
90-
You can find issues tagged with "help wanted" on tracker to see if there is
91-
something for you. If you want to take over one of these, just leave a comment
92-
so other contributors don't accidentally pick same issue to work on. You can also
93-
offer your help to any other issue, but for "help wanted" tasks, help is really
94-
*needed*.
95-
96-
You don't have to pick an issue to work on. If you have good idea, you can first
97-
create an issue to ask what other people think about it. After that, you can
98-
write code for it, test it, and finally submit a pull request.
99-
100-
### I'm not Java expert, can I still help?
101-
You do need to know something of Java programming to be much help, but you do
102-
not need to be an expert. If you can write code that works and doesn't contain
103-
too much [spaghetti](https://en.wikipedia.org/wiki/Spaghetti_code), you're
104-
good to go!
91+
Of course, these are just recommendations. However, not following them may get
92+
your pull requests rejected.
10593

10694
### Maven repository
10795
If you use Skript as (soft) dependency for your plugin, and use maven or Gradle,

0 commit comments

Comments
 (0)