diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b5a11ee1e..83c514b35 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,10 +9,9 @@ You can help with MineClone2's development in many different ways, whether you're a programmer or not. ## MineClone2's development target is to... -- Crucially, create a stable, moddable, free/libre clone of Minecraft -based on the Minetest engine with polished features, usable in both -singleplayer and multiplayer. Currently, a lot of Minecraft features -are already implemented. +- Create a stable, peformant, moddable, free/libre game based on Minecraft +using the Minetest engine, usable in both singleplayer and multiplayer. +- Currently, a lot of features are already implemented. Polishing existing features is always welcome. ## Links @@ -120,11 +119,11 @@ It's also a good idea to join the Discord server (or alternatively IRC or Matrix). #### Textures -For textures we use the Pixel Perfection texture pack. For older Minecraft -features that is mostly enough but a lot of the newer textures in it are -copies or slight modifications of the original MC textures so great caution -needs to be taken when using any textures coming from Minecraft texture -packs. +For textures we prefer original art, but in the absence of that will accept +Pixel Perfection texture pack contributions. Be warned many of the newer +textures in it are copies or slight modifications of the original MC textures +so great caution needs to be taken when using any textures coming from +Minecraft texture packs. If you want to make such contributions, join our Discord server. Demands for textures will be communicated there. @@ -135,7 +134,10 @@ resource pack or minetest_game. Unfortunately, MineClone2 does not play a sound in every situation you would get one in Minecraft. Any help with sounds is greatly appreciated, however if you add new sounds you should probably work together with a programmer, to write the code to actually -play these sounds in game. +play these sounds in game. All sounds should be released under an open +source license with clear information on the source, licencing and any +changes made by the contributor. Use the README files in the mod to +communicate this information. #### 3D Models Most of the 3D Models in MineClone2 come from @@ -145,9 +147,9 @@ Blender on demand. Many of the models have to be patched, some new animations have to be added etc. #### Crediting -Asset contributions will be credited in their own respective sections in -CREDITS.md. If you have commited the results yourself, you will also be -credited in the Contributors section. +Asset contributions will be credited in their mods and their own respective +sections in CREDITS.md. If you have commited the results yourself, you will +also be credited in the Contributors section. ### Contributing Translations @@ -182,7 +184,12 @@ information about the game's performance and let us know places to investigate optimization issues. This way we can make the game faster. #### Using Minetest's profiler -Minetest has a built in profiler. Simply set `profiler.load = true` in +We frequently will use profiling to optimise our code. We recommend use of +the JIT profiler (RIP Jude) to fully understand performance impact: + +https://content.minetest.net/packages/jwmhjwmh/jitprofiler/ + +Minetest also has a built in profiler. Simply set `profiler.load = true` in your configuration file and restart the server. After running the server for some time, just run `/profiler save` in chat - then you will find a file in the world directory containing the results. Open a new issue and @@ -213,9 +220,11 @@ they have made their donation Incognito). * Fork the repository (in case you have not already) * Do your change in a new branch * Create a pull request to get your changes merged into master -* Keep your pull request up to date by regularly merging upstream. It is -imperative that conflicts are resolved prior to merging the pull +* It is important that conflicts are resolved prior to merging the pull request. +* We update our branches via rebasing. Please avoid unless it's the only +way you can resolve a conflict. We can rebase branches from the GUI if +the user has not merged master into the branch. * After the pull request got merged, you can delete the branch ### Discuss first @@ -262,9 +271,7 @@ excessive git bureaucracy commits in master) * Submodules should only be used if a) upstream is highly reliable and b) it is 100% certain that no mcl2 specific changes to the code will be needed (this has never been the case before, hence mcl2 is submodule free so far) -* Commit messages should be descriptive and never contain mcl2 specific -issueids - there are other projects who might use commits from mcl2 and -it will confuse their issue trackers. +* Commit messages should be descriptive * Try to group your submissions best as you can: * Try to keep your PRs small: In some cases things reasonably be can't split up but in general multiple small PRs are better than a big one. @@ -348,18 +355,24 @@ end ### Developer status Active and trusted contributors are often granted write access to the -MineClone2 repository. +MineClone2 repository as a contributor. Those that have demonstrated the right +technical skills and behaviours may be granted developer access. These are the +most trusted contributors who will contribute to ensure coding standards and +processes are followed. #### Developer responsibilities -- If you have developer privileges you can just open a new branch in the -mcl2 repository (which is preferred). From that you create a pull request. +- If you have developer/contributor privileges you can just open a new branch +in the mcl2 repository (which is preferred). From that you create a pull request. This way other people can review your changes and make sure they work before they get merged. - If you do not (yet) have developer privs you do your work on a branch on your private repository e.g. using the "fork" function on mesehub. -- Any developer is welcome to review, test and merge PRs. A PR needs -at least one approval (by someone else than the author) but the maintainers -are usually relatively quick to react to new submissions. +- Any developer is welcome to review, test and approve PRs. A maintainer may prefer +to merge the PR especially if it is in a similar area to what has been worked on +and could result in merge conflicts for a larger older branch, or needs +art/licencing reviewing. A PR needs at least one approval (by someone else other +than the author). +- The maintainers are usually relatively quick to react to new submissions. ### Maintainer status Maintainers carry the main responsibility for the project. diff --git a/LEGAL.md b/LEGAL.md index e54bdc41b..aace346bf 100644 --- a/LEGAL.md +++ b/LEGAL.md @@ -5,7 +5,7 @@ Copying is an act of love. Please copy and share! <3 Here's the detailed legalese for those who need it: ## License of source code -MineClone 2 (by kay27, EliasFleckenstein, Wuzzy, davedevils and countless others) +MineClone 2 (by Lizzy Fleckenstein, Wuzzy, davedevils and countless others) is an imitation of Minecraft. MineClone 2 is free software: you can redistribute it and/or modify diff --git a/README.md b/README.md index 2d2eafb5d..86d8ea725 100644 --- a/README.md +++ b/README.md @@ -87,26 +87,22 @@ The MineClone2 repository is hosted at Mesehub. To contribute or report issues, * OpenCollective: ## Target -- Crucially, create a stable, moddable, free/libre clone of Minecraft -based on the Minetest engine with polished features, usable in both +- Create a stable, moddable, free/libre game based on Minecraft +on the Minetest engine with polished features, usable in both singleplayer and multiplayer. Currently, a lot of **Minecraft Java Edition** features are already implemented and polishing existing features are prioritized over new feature requests. -- With lessened priority yet strictly, implement features targetting +- Mmplement features targetting **Current Minecraft versions + OptiFine** (OptiFine only as far as supported -by the Minetest Engine). This means features in parity with the listed -Minecraft experiences are prioritized over those that don't fulfill this -scope. -- Optionally, create a performant experience that will run relatively -well on really low spec computers. Unfortunately, due to Minecraft's -mechanisms and Minetest engine's limitations along with a very small -playerbase on low spec computers, optimizations are hard to investigate. +by the Minetest Engine). +- Create a performant experience that will run relatively +well on really low spec computers. ## Completion status This game is currently in **beta** stage. It is playable, but not yet feature-complete. Backwards-compability is not entirely guaranteed, updating your world might cause small bugs. -If you want to use the development version of MineClone2 in production, the master branch is usually relatively stable. The testing branch often features some experimental PRs and should be considered less stable. +If you want to use the development version of MineClone2 in production, the master branch is usually relatively stable. The following main features are available: diff --git a/description.txt b/description.txt index d45188894..922f5dceb 100644 --- a/description.txt +++ b/description.txt @@ -1 +1 @@ -A survival sandbox game. Survive, gather, hunt, mine, build, explore, and do much more. Faithful clone of Minecraft 1.12. This is a work in progress! Expect bugs! +A survival sandbox game. Survive, gather, hunt, mine, build, explore, and do much more.