Skip to content

Supporting the Development

moulins edited this page Dec 28, 2019 · 13 revisions

There are many ways to support the development of Amidst.

Reporting a Bug

Before reporting a bug, make sure that the bug is present on the latest version of Amidst.
Then, create a new issue and provide as much information as you possibly can, including:

  • the used operating system and version
  • the used Java version
  • the used Minecraft version
  • the used Amidst version
  • the error message, if any
  • What did you do to produce the error?
  • (How) can the error be reproduced?
  • What did you expect to happen?
  • What did actually happen?

Requesting a Feature

To request a feature, create a new issue. Describe the feature as good as you can. You can also create images to illustrate the description. We will then have a look at the request and decide whether the feature will be implemented. Please note that we decide if and when a feature is implemented.

There are some commonly requested features which are currently out of scope. Most of these involve reading the region files of a save game or using more stages of the Minecraft world generator.

Writing Code

If you want to write code for Amidst, please get in contact by creating a new issue before you start doing so. This enables us to discuss and agree on the changes. Please describe your programming experience and how you want to help. There are basically three options:

  • The first option is to fix bugs. Therefore, you can have a look at the currently open issues and especially, the currently open bugs. However, we try to keep this list reasonable short.

  • The second option is to implement new features. You can request a feature and request to implement it on your own within one issue. Alternatively, you can have a look at the currently open issues and especially, the currently open feature requests. There are also some feature requests marked as currently out of scope, because they require quite a bit of work, so if you want to invest lots of time and effort, these are probably the right starting point.

  • The third option is to implement tests to ensure the already existing source code works as expected.

When you start making changes, please do it in a separate branch and create a pull request from it. Travis CI will tell you, whether your changes pass the build process. In general, we use the Github Flow for all contributions. Also, we use the Eclipse code formatter to have some kind of common code format.

Creating graphics

Besides having a good working program, it is nice to have a good looking program, so if you are a designer and want to help us making Amidst nicer, please get in contact by creating a new issue. Describe your design idea and maybe post some draft images. Do not invest huge amounts of time before we confirm to accept your new graphics.

Becoming a Collaborator

If you are an active contributor and you are interested to become a collaborator, please request it by creating a new issue. A collaborator has direct write access to the repository which enables easier development with multiple developers.

Intellectual Property Rights of Contributions

Before you make a contribution, please make sure you are allowed to do so. This means, you need to be authorized to make the contribution by the legal entity that is holding the intellectual property rights for your contribution. The easiest way to achieve this is to simply create the contribution completely on your own.

Basically this means: Do not contribute content that you took from somebody else. This does especially mean, that you cannot make contributions that contain asserts owned by Mojang.

By making the contribution you explain that you are authorized to do so. Also, you accept that your contribution will be licensed under the GPLv3.

How can I get in contact?

Most of the time, one of the sections above will match your intent. If it does, please follow the instructions provided there. However, there are a few reasons to directly and privately contact the developers, for example to submit crash reports containing information that should not be published. If this matches your intent, here is the mail address of the project:

[email protected]