Skip to content

Latest commit

 

History

History
183 lines (132 loc) · 8.73 KB

CONTRIBUTING.md

File metadata and controls

183 lines (132 loc) · 8.73 KB

Creative Commons License

Content

  1. Code of Conduct
  2. Issues
  3. Pull Requests
  4. Commits
  5. Credits

Code of Conduct

  • Think before you react. If you disagree strongly, consider giving it a few minutes before responding.

  • Ask questions, don't make demands. ("What do you think about trying...?" rather than "Don’t do...!!!")

  • Don't insult. Avoid using terms that could be seen as referring to personal traits. ("dumb", "stupid"). Assume everyone is attractive, intelligent, and well-meaning.

  • Be explicit. Remember people don't always understand your intentions online.

  • Don't use hyperbole. ("always", "never", "endlessly", "nothing")

  • Use emoji to clarify tone. (":sparkles::sparkles: Looks good :+1: :sparkles::sparkles:" rather than "Looks good.")

Issues

Before writing an Issue

Watch this tutorial if you have never used GitHub's Issue tracker before. It only takes 3 minutes!

Always search your Issue before opening a new one. Creating duplicates is slower for everyone!

Writing an Issue

The Title

  • Others should be able to guess what the Issue is about by reading its title.

  • Try to use less than 40 characters.

  • Avoid writing Wurst in the title. It is obvious that your Issue is about Wurst.

  • If the title gets too long, remove words like the and a.

  • Don't put a dot at the end. It's a headline, not a sentence.

Examples:

  • "".help 1" command throwing NullPointerException" ✅ good title

  • "WUrst bug FIX UP!!1 (╯°□°)╯︵ ┻━┻" ❌ bad title

The Body

  • Don't include opinions or judgements, only information.

    • "I found a bug." ✅ good
    • "I love/hate Wurst and found a bug." ❌ bad
  • Use proper grammar & Markdown. If no one can read it, no one can help you.
    If you have never used markdown before, you can learn it in 3 minutes.

  • Don't put multiple Issues into one issue. That makes them impossible organize and will likely get your issue ignored or removed.

  • Be clear

  • about problems: What was the expected outcome, what happened instead? Detail how someone else can reproduce the problem;

  • about suggestions: What will your feature do, how will it help, why is it useful?

  • Include screenshots if your Issue is about something visible. Embed the screenshots directly into your Issue, don't link to external images.

  • Include system details like the Java version and operating system you’re using.

  • Paste error output like Java stacktraces or Minecraft launcher logs into your Issue. Wrap it into a Markdown code block, like this:

```
java.lang.NullPointerException: null
  at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:89)
	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:425)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:406)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:367)
	at org.apache.logging.log4j.core.Logger.log(Logger.java:110)
```

Always include stacktraces or crash logs when reporting errors or crashes.

If it's too long to paste it into the Issue, paste it into a Gist.

Examples:

good Issue

Description

After typing the command .nuker mode flat while Nuker was still enabled and in Smash mode, an exception was thrown (see below).

This seems to happen every time, but only if Nuker is enabled.

Stacktrace

java.lang.ArrayIndexOutOfBoundsException: 1
	at tk.wurst_client.command.commands.NukerMod.onEnable(NukerMod.java:34)
	at tk.wurst_client.command.CommandManager.onSentMessage(CommandManager.java:40)
	at tk.wurst_client.event.EventManager.fireEvent(EventManager.java:137)
	at net.minecraft.client.entity.EntityPlayerSP.sendChatMessage(EntityPlayerSP.java:292)
	at net.minecraft.client.gui.GuiScreen.func_175281_b(GuiScreen.java:487)
	at net.minecraft.client.gui.GuiScreen.func_175275_f(GuiScreen.java:477)
	at net.minecraft.client.gui.GuiChat.keyTyped(GuiChat.java:132)
	at net.minecraft.client.gui.GuiScreen.handleKeyboardInput(GuiScreen.java:617)
	at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:568)
	at net.minecraft.client.Minecraft.runTick(Minecraft.java:2024)
	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1354)
	at net.minecraft.client.Minecraft.run(Minecraft.java:468)
	at net.minecraft.client.main.Main.main(Main.java:127)

System details

  • OS: Windows 8.1 (x86)
  • Java version: 1.8.0_31 (Oracle Corporation)
  • Wurst version: 1.9 (latest: 1.9)

bad Issue

Me got error, this sooooooo buggy!!1!!!11!!11111!!!!!!!!!!!!!!!!!!!!!!!1!!
(╯°□°)╯︵ ┻━┻
Fix ASAP and add OptiFine or I will uninstall!!!!

PS subscribe me on YouTube and Facebook

After writing an Issue

  • Respond to questions, especially if you get the more info required label.

  • Don't get angry or needy if your Issue gets rejected. We are free to reject any Issue for any reason.

Pull Requests

Note: There haven't been many Pull Requests yet, so these guidelines are mostly based on predictions rather than experience.

  • Read the tutorial if you have never forked a repository before.

  • Fork the repository and clone it locally.

  • Pull in changes from the original often so that you stay up to date. That way, when you submit your pull request, merge conflicts will be less likely.

  • Create a branch for your edits.

  • Be clear about what problem is occurring and how someone can recreate that problem or why your feature will help. Then be equally as clear about the steps you took to make your changes.

  • It’s best to test. Run your changes against any existing tests if they exist and create new ones when needed. Whether tests exist or not, make sure your changes don’t break the existing project.

  • Include screenshots of the before and after if your changes include visible differences. Drag and drop the images into the body of your pull request.

  • Keep the style of the project to the best of your abilities. This may mean using indents, semi colons or comments differently than you would in your own repository, but makes it easier for the maintainer to merge, others to understand and maintain in the future.

Commits

  • Use present tense & imperative mood.
    • "Add feature" ✅ good
    • "Added feature" ❌ bad
    • "Adds feature" ❌ bad
  • Consider starting the commit message with an applicable emoji:
    • 🐛 :bug: when fixing bugs
    • 🚀 :rocket: when improving performance
    • 💎 :gem: when cleaning up code
    • 📝 :memo: when writing docs
    • 📊 :bar_chart: when dealing with Google Analytics
    • 🎨 :art: when designing GUIs etc.
    • 🔒 :lock: when dealing with security
  • When fixing/implementing Issues, include the Issue number. That will close the Issues automatically.
    • "Fix #272" (for bugs) ✅ good
    • "Resolve #272" (for features) ✅ good
    • "Fix error in .nuker that was reported in #272" ❌ bad
  • When fixing anonymous error reports (Wurst v1.12 and higher), include the ID.
    • "Fix error report mosz7w34tmagrh8qw3mngwwmn5ww" ✅ good
    • "Fix an error I found on wurst-client.tk/error-reports" ❌ bad

Credits

Creative Commons License

These guidelines by Alexander01998 are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

These guidelines are partially based on the following guides and guidelines: