Quote
Minecraft API Proposal Requirements:
- A specific, to the point, summary (JIRA ticket title) should be provided. Vague summaries like "Awesome new feature!" will result in the proposal being rejected.
- The description of the MAP should contain detailed and justified specifications and challenges faced.
- The appropriate labels and components should be set to help with organisation and searching of MAPs.
Summary: Trading API
Description:
Proposed addition:
Developers should be able to make use of the trading system in the game to set up their own trading system, inventory, prices and results. The trading API should allow developers to attach the ability to trade to any container, not just villagers.
Specific features:
- Trade recipe editing
- Trading related events
A trading API would allow developers to construct a sophisticated merchant system using the chest container.
Challenges faced:
None discovered at this time.
Affects Version/s:
Component/s:
Label/s: trading
After a MAP is properly submitted, each submission has a 2 week grace period before a decision can be made about the proposal, with some exceptions. This is to allow for ample time for the Minecraft developers community to review and comment on each proposal. However, while we are busy building the API for the first time, we may opt to skip the 2 week grace period on a per proposal basis to speed up the API design and development process.
The original author of the Minecraft API Proposal is expected to present their idea in a convincing manner and garner support from other developers in order to build up a community consensus. Alongside this public vetting process, the Minecraft team will be looking over each MAP and providing input as we feel is necessary and, ultimately, deciding to accept or reject a proposal. If we find that a proposal is popular but we need to reject it for whatever reason, we will usually look into alternatives, fixes or changes to address the issues we have with the proposal.
Once a MAP is accepted, a reference implementation will be worked on and the entire development process moves over to GitHub and its Pull Request system. In order for a reference implementation to be considered, each pull request has to meet the following requirements.
Minecraft API Pull Request (MAPR) Requirements:
- The relevant MAP should be clearly associated and mentioned in the Pull Request title (see the template for an example of the expected format).
- The relevant MAP should be clearly linked to so discussions about the MAP can be read over if need be.
- Detailed information from the relevant MAP should be included in the Pull Request's description for easier managing of proposals.
- Submitted code is expected and required to adhere to our coding guidelines.
- A vetted MAP covering the Pull Request has to exist before a Pull Request is made.
Title: [MCAPI-1] Trading API
Description:
Associated MAP:
[MCAPI-1] http://link.to.MAP.here
Proposed addition:
Developers should be able to make use of the trading system in the game to set up their own trading system, inventory, prices and results. The trading API should allow developers to attach the ability to trade to any container, not just villagers.
Specific features:
- Trade recipe editing
- Trading related events
Justification and Use Case:
A trading API would allow developers to construct a sophisticated merchant system using the chest container.
Challenges faced:
None discovered at this time.
Thoughts and feedback on this process are greatly appreciated. We'll be constantly revising this system based on the lessons we learn from it being used and your input will help us with that immensely.

















