[MineClone5] Merge feature branch mineclone5 into master

This commit is contained in:
kay27 2021-07-12 05:32:01 +04:00
parent 8b0e9d514c
commit 79f9837880
22 changed files with 126 additions and 167 deletions

10
API.md
View File

@ -1,10 +1,10 @@
# API
## Groups
MineClone 2 makes very extensive use of groups. Making sure your items and objects have the correct group memberships is very important.
MineClone 5 makes very extensive use of groups. Making sure your items and objects have the correct group memberships is very important.
Groups are explained in `GROUPS.md`.
## Mod naming convention
Mods mods in MineClone 2 follow a simple naming convention: Mods with the prefix “`mcl_`” are specific to MineClone 2, although they may be based on an existing standalone. Mods which lack this prefix are *usually* verbatim copies of a standalone mod. Some modifications may still have been applied, but the APIs are held compatible.
Mods mods in MineClone 5 follow a simple naming convention: Mods with the prefix “`mcl_`” are specific to MineClone 5, although they may be based on an existing standalone. Mods which lack this prefix are *usually* verbatim copies of a standalone mod. Some modifications may still have been applied, but the APIs are held compatible.
## Adding items
### Special fields
@ -31,7 +31,7 @@ All nodes can have these fields:
Use the `mcl_sounds` mod for the sounds.
## APIs
A lot of things are possible by using one of the APIs in the mods. Note that not all APIs are documented yet, but it is planned. The following APIs should be more or less stable but keep in mind that MineClone 2 is still unfinished. All directory names are relative to `mods/`
A lot of things are possible by using one of the APIs in the mods. Note that not all APIs are documented yet, but it is planned. The following APIs should be more or less stable but keep in mind that MineClone 5 is still unfinished. All directory names are relative to `mods/`
### Items
* Doors: `ITEMS/mcl_doors`
@ -45,7 +45,7 @@ A lot of things are possible by using one of the APIs in the mods. Note that not
## Mobs
* Mobs: `ENTITIES/mcl_mobs`
MineClone 2 uses its own mobs framework, called “Mobs Redo: MineClone 2 Edition” or “MRM” for short.
MineClone 5 uses its own mobs framework, called “Mobs Redo: MineClone 5 Edition” or “MRM” for short.
This is a fork of Mobs Redo [`mobs`] by TenPlus1.
You can add your own mobs, spawn eggs and spawning rules with this mod.
@ -54,7 +54,7 @@ API documnetation is included in `ENTITIES/mcl_mobs/api.txt`.
This mod includes modificiations from the original Mobs Redo. Some items have been removed or moved to other mods.
The API is mostly identical, but a few features have been added. Compability is not really a goal,
but function and attribute names of Mobs Redo 1.41 are kept.
If you have code for a mod which works fine under Mobs Redo, it should be easy to make it work in MineClone 2,
If you have code for a mod which works fine under Mobs Redo, it should be easy to make it work in MineClone 5,
chances are good that it works out of the box.
### Help

View File

@ -1,105 +1,73 @@
# Contributing to MineClone 2
So you want to contribute to MineClone 2?
Wow, thank you! :-)
But first, some things to note:
MineClone 2's development target is to make a free software clone of Minecraft,
***version 1.12***, ***PC edition***, *** + Optifine features supported by the Minetest Engine ***.
MineClone 2 is maintained by three persons. Namely, kay27, EliasFleckenstein and jordan4ibanez. You can find us
in the Minetest forums (forums.minetest.net), in IRC in the #mineclone2
channel on irc.freenode.net. And finally, you can send e-mails to
<eliasfleckenstein@web.de> or <kay27@bk.ru>.
By sending us patches or asking us to include your changes in this game,
you agree that they fall under the terms of the LGPLv2.1, which basically
means they will become part of a free software.
## The suggested workflow
We don't **dictate** your workflow, but in order to work with us in an efficient
way, you can follow these suggestions:
For small and medium changes:
* Fork the repository
* Do your change in a new branch
* Create a pull request to get your changes merged into master
For small changes, sending us a patch is also good.
For big changes: Same as above, but consider notifying us first to avoid
duplicate work and possible tears of rejection. ;-)
For trusted people, we might give them direct commit access to this
repository. In this case, you obviously don't need to fork, but you still
need to show your contributions align with the project goals. We still
reserve the right to revert everything that we don't like.
For bigger changes, we strongly recommend to use feature branches and
discuss with me first.
If your code causes bugs and crashes, it is your responsibility to fix them as soon as possible.
We mostly use plain merging rather than rebasing or squash merging.
Your commit names should be relatively descriptive, e.g. when saying "Fix #issueid", the commit message should also contain the title of the issue.
Contributors will be credited in `CREDITS.md`.
## Code Style
Each mod must provide `mod.conf`.
Each mod which add API functions should store functions inside a global table named like the mod.
Public functions should not use self references but rather just access the table directly.
Functions should be defined in this way:
```
function mcl_xyz.stuff(param) end
```
Insteed of this way:
```
mcl_xyz.stuff = function(param) end
```
Indentation must be unified, more likely with tabs.
Time sensitive mods should make a local copy of most used API functions to improve performances.
```
local vector = vector
local get_node = minetest.get_node
```
## Features > 1.12
If you want to make a feature that was added in a Minecraft version later than 1.12, you should fork MineClone5 (mineclone5 branch in the repository) and add your changes to this.
## What we accept
* Every MC features up to version 1.12 JE.
* Every already finished and working good features from versions above (only when making a MineClone5 PR / Contribution).
* Except features which couldn't be done easily and bugfree because of Minetest engine limitations. Eg. we CAN extend world boundaries by playing with map chunks, just teleporting player onto next layer after 31000 , but it would cost too much (time, code, bugs, performance, stability, etc).
* Some features, approved by the rest of the community, I mean maybe some voting and really missing any negative feedback.
## What we reject
* Any features which cause critical bugs, sending them to rework/fix or trying to fix immediately.
* Some small portions of big entirely missing features which just definitely break gamplay balance give nothing useful
* Controversial features, which some people support while others do not should be discussed well, with publishing forum announcements, at least during the week. In case if there are still doubts - send them into the mod.
## Reporting bugs
Report all bugs and missing Minecraft features here:
<https://git.minetest.land/MineClone2/MineClone2/issues>
## Direct discussion
We have an IRC channel! Join us on #mineclone2 in freenode.net.
<ircs://irc.freenode.net:6697/#mineclone2>
## Creating releases
* Launch MineClone2 to make sure it still runs
* Update the version number in README.md
* Use `git tag <version number>` to tag the latest commit with the version number
* Push to repo (don't forget `--tags`!)
* Update ContentDB (https://content.minetest.net/packages/Wuzzy/mineclone2/)
* Update first post in forum thread (https://forum.minetest.net/viewtopic.php?f=50&t=16407)
* Post release announcement and changelog in forums
# Contributing to MineClone 5
So you want to MineClone 5?
Wow, thank you! :-)
But first, some things to note:
MineClone 5's development target is to make a free software clone of Minecraft + some Optifine features supported by the Minetest Engine.
MineClone 5 is maintained by kay27 and the Community.
You can find us in:
- [Mesehub issue tracker](https://git.minetest.land/MineClone5/MineClone5/issues),
- [Minetest forums](https://forum.minetest.net/viewtopic.php?f=50&t=16407),
- IRC in the #mineclone2 channel on irc.freenode.net, <ircs://irc.freenode.net:6697/#mineclone2>,
- [Matrix](https://app.element.io/#/room/#mc2:matrix.org).
There is **no** guarantee we will accept anything from anybody.
By sending us patches or asking us to include your changes in this game, you agree that they fall under the terms of the GPLv3, which basically means they will become part of a free software.
## The suggested workflow
Fork the repository and clone your fork.
Before you start coding, consider opening an issue at Mesehub to discuss the suitability and implementation of your intended contribution with the core developers.
Any Pull Request that isn't a bug fix can be closed within a week unless it receives a concept approval from the Community. For this reason, it is recommended that you open an issue for any such pull requests before doing the work, to avoid disappointment.
Start coding!
Refer to Minetest Lua API, Developer Wiki and other documentation.
Follow Lua code style guidelines. Use tabs, not spaces for indentation (tab size = 8). Never use `minetest.env`.
Check your code works as expected.
Commit & push your changes to a new branch (not master, one change per branch)
Commit messages should use the present tense and be descriptive.
Once you are happy with your changes, submit a pull request.
A pull-request is considered merge-able when:
#### Contributors
Contributors are credited in `CREDITS.md`.
## Audio and visual assets
Audio and visual assets are subject to different licensing *(see LEGAL.md)* compared to the source code of the game. Because our goal is to offer a free and open source game similar to Minecraft, it is important that all contributions are original work licensed under a license that allows copying, the modification and distribution of either original or modified assets.
If you want to contribute assets based on existing work, make sure you honor their license and don't do minor tweaks to works released under restrictive licenses that prohibit modification and distribution. We will make a reasonable effort to determine if the contributed work is appropriate for our project and we ask you to do your part in creating and offering contributions that will not be subject to legal issues.
### Audio
We greatly appreciate contributions that enhance the game experience in a non-visual way and all we ask is that your contribution won't give anyone legal headaches. :)
### Visual
We mainly use the [Pixel Perfection texture pack](https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/resource-packs/1242533-pixel-perfection-now-with-polar-bears-1-11) created by XSSheep and its faithful continuation [Pixel Perfection Legacy](https://www.planetminecraft.com/texture-pack/pixel-perfection-chorus-edit/) by Nova_Wostra and other members of the Minecraft community.
The rest of the graphics were done in a similar style, for visual consistency reasons. If the graphics necessary for your contribution are not yet available, there are options:
- contacting Nova_Wostra, who is likely aware of the missing assets and can offer a time frame for their completion;
- create it yourself in a similar style and contribute it directly to their texture pack under the same permissive license that allows everyone, including us, to use it;
- contact us by opening a discussion in our issue tracker, and we'll find a solution.
## Reporting bugs
Report all bugs here:
<https://git.minetest.land/MineClone5/MineClone5/issues>
## Direct discussion
See contacts at the top of the page.

View File

@ -3,15 +3,15 @@
## Creator of MineClone
* davedevils
## Creator of MineClone2
* Wuzzy
## Creator of MineClone 2
* Wuzzy and the Community
## Maintainers
## Creators of MineClone 5
* kay27 and the Community
## The Community:
* Fleckenstein
* kay27
* jordan4ibanez
## Developers
* bzoss
* AFCMS
* epCode
@ -23,8 +23,6 @@
* aligator
* Code-Sploit
* NO11
## Contributors
* Laurent Rocher
* HimbeerserverDE
* TechDudie

View File

@ -25,7 +25,7 @@ The basic digging time groups determine by which tools a node can be dug.
* `handy=1`: Breakable by hand and this node gives it useful drop when dug by hand. All nodes which are breakable by pickaxe, axe, shovel, sword or shears are also automatically breakable by hand, but not neccess
* `creative_breakable=1`: Block is breakable by hand in creative mode. This group is implied if the node belongs to any other digging group
Please read <http://minecraft.gamepedia.com/Breaking> to learn how digging times work in Minecraft, as MineClone 2 is based on the same system.
Please read <http://minecraft.gamepedia.com/Breaking> to learn how digging times work in Minecraft, as MineClone 5 is based on the same system.
### Groups for interactions

View File

@ -5,10 +5,10 @@ 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 5 (by davedevils, Wuzzy, Oil_boi, EliasFleckenstein, kay27 and countless others)
is an imitation of Minecraft.
MineClone 2 is free software: you can redistribute it and/or modify
MineClone 5 is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
@ -22,15 +22,15 @@ details.
In the mods you might find in the read-me or license
text files a different license. This counts as dual-licensing.
You can choose which license applies to you: Either the
license of MineClone 2 (GNU GPLv3) or the mod's license.
license of MineClone 5 (GNU GPLv3) or the mod's license.
MineClone 2 is a direct continuation of the discontinued MineClone
MineClone 5 is a direct continuation of the discontinued MineClone
project by davedevils.
Mod credits:
See `README.txt` or `README.md` in each mod directory for information about other authors.
For mods that do not have such a file, the license is the source code license
of MineClone 2 and the author is Wuzzy.
of MineClone 5 and the author is Wuzzy.
## License of media (textures and sounds)
No non-free licenses are used anywhere.

View File

@ -1,4 +1,4 @@
# MineClone 2
# MineClone 5
An unofficial Minecraft-like game for Minetest. Forked from MineClone by davedevils.
Developed by many people. Not developed or endorsed by Mojang AB.
@ -69,44 +69,36 @@ an explanation.
This game requires [Minetest](http://minetest.net) to run (version 5.3.0 or
later). So you need to install Minetest first. Only stable versions of Minetest
are officially supported.
There is no support for running MineClone 2 in development versions of Minetest.
There is no support for running MineClone 5 in development versions of Minetest.
To install MineClone 2 (if you haven't already), move this directory into the
To install MineClone 5 (if you haven't already), move this directory into the
“games” directory of your Minetest data directory. Consult the help of
Minetest to learn more.
## Useful links
The MineClone2 repository is hosted at Mesehub. To contribute or report issues, head there.
The MineClone 5 repository is hosted at Mesehub. To contribute or report issues, head there.
* Mesehub: <https://git.minetest.land/MineClone2/MineClone2>
* Discord: <https://discord.gg/xE4z8EEpDC>
* YouTube <https://www.youtube.com/channel/UClI_YcsXMF3KNeJtoBfnk9A>
* Mesehub: <https://git.minetest.land/MineClone5/MineClone5>
* IRC: <https://web.libera.chat/#mineclone2>
* Matrix: <https://app.element.io/#/room/#mc2:matrix.org>
* Reddit: <https://www.reddit.com/r/MineClone2/>
* Minetest forums: <https://forum.minetest.net/viewtopic.php?f=50&t=16407>
## Project description
The main goal of **MineClone 2** is to be a clone of Minecraft and to be released as free software.
The main goal of **MineClone 5** is to be a clone of Minecraft and to be released as free software.
* **Target of development: Minecraft, PC Edition, version 1.12** (later known as “Java Edition”)
* MineClone2 also includes Optifine features supported by the Minetest
* **Target of development: Minecraft Java Edition latest version**
* MineClone5 also includes Optifine features supported by the Minetest
* In general, Minecraft is aimed to be cloned as good as possible
* Cloning the gameplay has highest priority
* MineClone 2 will use different assets, but with a similar style
* MineClone 5 will use different assets, but with a similar style
* Limitations found in Minetest will be documented in the course of development
* Features of later Minecraft versions are collected in the mineclone5 branch
## Using features from newer versions of Minecraft
For > 1.12 features, checkout MineClone5. It includes features from newer Minecraft versions.
Download it here: https://git.minetest.land/MineClone2/MineClone2/src/branch/mineclone5
## 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 git version of MineClone2 in production, consider using the production branch.
It is updated weekly and contains relatively stable code for servers.
The following main features are available:
@ -186,7 +178,7 @@ Technical differences from Minecraft:
* Different engine (Minetest)
* Different easter eggs
… and finally, MineClone 2 is free software (“free” as in “freedom”)!
… and finally, MineClone 5 is free software (“free” as in “freedom”)!
## Other readme files

View File

@ -1,2 +1,2 @@
name = MineClone 2
name = MineClone 5
description = A survival sandbox game. Survive, gather, hunt, build, explore, and do much more.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -1,3 +1,3 @@
name = mcl_autogroup
author = ryvnf
description = MineClone 2 core mod which automatically adds groups to all items. Very important for digging times.
description = MineClone 5 core mod which automatically adds groups to all items. Very important for digging times.

View File

@ -168,7 +168,7 @@ mcl_vars.mg_end_platform_pos = { x = 100, y = mcl_vars.mg_end_min + 74, z = 0 }
mcl_vars.mg_realm_barrier_overworld_end_max = mcl_vars.mg_end_max
mcl_vars.mg_realm_barrier_overworld_end_min = mcl_vars.mg_end_max - 11
-- Use MineClone 2-style dungeons
-- Use MineClone 5-style dungeons
mcl_vars.mg_dungeons = true
-- Set default stack sizes

View File

@ -1,3 +1,3 @@
name = mcl_sounds
author = Wuzzy
description = This mod contains the core sounds of MineClone 2 as well as helper function for mods to access them.
description = This mod contains the core sounds of MineClone 5 as well as helper function for mods to access them.

View File

@ -1,4 +1,4 @@
name = mcl_util
author = Wuzzy
description = Helper functions for MineClone 2.
description = Helper functions for MineClone 5.
depends = mcl_init

View File

@ -1,2 +1,2 @@
name = CORE
description = Meta-modpack containing the core mods for MineClone 2 for core APIs, variables and definitions
description = Meta-modpack containing the core mods for MineClone 5 for core APIs, variables and definitions

View File

@ -262,8 +262,8 @@ Quick transfer: You can quickly transfer an item stack to/from the player invent
Online help=Aide en ligne
You may want to check out these online resources related to MineClone 2.=Vous voudrez peut-être consulter ces ressources en ligne liées à MineClone 2.
MineClone 2 download and forum discussion: <https://forum.minetest.net/viewtopic.php?f@=50&t@=16407>=Téléchargement de MineClone 2 et discussion sur le forum: <https://forum.minetest.net/viewtopic.php?f@=50&t@=16407>
Here you find the most recent version of MineClone 2 and can discuss it.=Vous trouverez ici la version la plus récente de MineClone 2 et pouvez en discuter.
Bug tracker: <https://github.com/Wuzzy2/MineClone2-Bugs>=Suivi des bogues: <https://github.com/Wuzzy2/MineClone2-Bugs>
Here you find the most recent version of MineClone 5 and can discuss it.=Vous trouverez ici la version la plus récente de MineClone 2 et pouvez en discuter.
Bug tracker: <git.minetest.land/MineClone5/MineClone5/issues>=Suivi des bogues: <git.minetest.land/MineClone5/MineClone5/issues>
Report bugs here.=Signalez les bugs ici.
Minetest links:=Liens Minetest:
You may want to check out these online resources related to Minetest:=Vous voudrez peut-être consulter ces ressources en ligne liées à Minetest:

View File

@ -262,8 +262,8 @@ Quick transfer: You can quickly transfer an item stack to/from the player invent
Online help=Pomoc online
You may want to check out these online resources related to MineClone 2.=Możesz chcieć zobaczyć na te zasoby online powiązane z MineClone 2.
MineClone 2 download and forum discussion: <https://forum.minetest.net/viewtopic.php?f@=50&t@=16407>=MineClone 2 pobieranie oraz dyskusja na forum: <https://forum.minetest.net/viewtopic.php?f@=50&t@=16407>
Here you find the most recent version of MineClone 2 and can discuss it.=Tutaj możesz znaleźć najnowszą wersję MineClone 2 i porozmawiać o niej
Bug tracker: <https://github.com/Wuzzy2/MineClone2-Bugs>=Śledzenie błędów: <https://github.com/Wuzzy2/MineClone2-Bugs>
Here you find the most recent version of MineClone 5 and can discuss it.=Tutaj możesz znaleźć najnowszą wersję MineClone 2 i porozmawiać o niej
Bug tracker: <git.minetest.land/MineClone5/MineClone5/issues>=Śledzenie błędów: <git.minetest.land/MineClone5/MineClone5/issues>
Report bugs here.=Zgłaszaj tu zauważone błędy.
Minetest links:=Linki dotyczące Minetest:
You may want to check out these online resources related to Minetest:=Możesz chcieć zobaczyć te zasoby online dotyczące Minetest

View File

@ -262,8 +262,8 @@ Quick transfer: You can quickly transfer an item stack to/from the player invent
Online help=Онлайн-помощь
You may want to check out these online resources related to MineClone 2.=Возможно, вы захотите ознакомиться с этими онлайн-ресурсами, связанными с MineClone 2.
MineClone 2 download and forum discussion: <https://forum.minetest.net/viewtopic.php?f@=50&t@=16407>=Официальный форум MineClone 2: <https://forum.minetest.net/viewtopic.php?f@=50&t@=16407>
Here you find the most recent version of MineClone 2 and can discuss it.=Здесь вы найдете самую последнюю версию MineClone 2 и сможете обсудить её.
Bug tracker: <https://github.com/Wuzzy2/MineClone2-Bugs>=Баг-трекер: <https://github.com/Wuzzy2/MineClone2-Bugs>
Here you find the most recent version of MineClone 5 and can discuss it.=Здесь вы найдете самую последнюю версию MineClone 2 и сможете обсудить её.
Bug tracker: <git.minetest.land/MineClone5/MineClone5/issues>=Баг-трекер: <git.minetest.land/MineClone5/MineClone5/issues>
Report bugs here.=С помощью баг-трекера можно сообщить об ошибке, если вы её обнаружите.
Minetest links:=Ссылки Minetest:
You may want to check out these online resources related to Minetest:=Возможно, вы захотите посетить эти онлайн-ресурсы, связанные с Minetest:

View File

@ -262,8 +262,8 @@ Quick transfer: You can quickly transfer an item stack to/from the player invent
Online help=
You may want to check out these online resources related to MineClone 2.=
MineClone 2 download and forum discussion: <https://forum.minetest.net/viewtopic.php?f@=50&t@=16407>=
Here you find the most recent version of MineClone 2 and can discuss it.=
Bug tracker: <https://github.com/Wuzzy2/MineClone2-Bugs>=
Here you find the most recent version of MineClone 5 and can discuss it.=
Bug tracker: <git.minetest.land/MineClone5/MineClone5/issues>=
Report bugs here.=
Minetest links:=
You may want to check out these online resources related to Minetest:=

View File

@ -12,12 +12,13 @@ mcl_credits.people = {
{"Creator of MineClone2", 0xFBF837, {
"Wuzzy",
}},
{"Maintainers", 0xFF51D5, {
{"Creator of MineClone5", 0xFF51D5, {
"The Community",
}},
{"Developers", 0xF84355, {
"Fleckenstein",
"kay27",
"oilboi",
}},
{"Developers", 0xF84355, {
"bzoss",
"AFCMS",
"epCode",

View File

@ -1,6 +1,6 @@
MCL_Villages:
============================
A fork of Rochambeau's "Settlements" mod converted for use in MineClone2.
A fork of Rochambeau's "Settlements" mod converted for use in MineClone5.
--------------
Using the mod:

View File

@ -1,4 +1,4 @@
MineClone 2 mod: mcl_player
MineClone 5 mod: mcl_player
==========================
Adds the 3D player model, taken from Minetest Game 0.4.16.

View File

@ -1,4 +1,4 @@
# This file contains settings of MineClone 2 that can be changed in
# This file contains settings of MineClone 5 that can be changed in
# minetest.conf
[World]

View File

@ -1,10 +1,10 @@
# MineClone 2 Tools
This directory is for tools and scripts for MineClone 2.
# MineClone 5 Tools
This directory is for tools and scripts for MineClone 5.
Currently, the only tool is Texture Converter.
## Texture Converter (EXPERIMENTAL)
This is a Python script which converts a resource pack for Minecraft to
a texture pack for Minetest so it can be used with MineClone 2.
a texture pack for Minetest so it can be used with MineClone 5.
**WARNING**: This script is currently incomplete, not all textures will be
converted. Some texture conversions are even buggy!
@ -14,7 +14,7 @@ will be required afterwards.
Modes of operation:
- Can create a Minetest texture pack (default)
- Can update the MineClone 2 textures
- Can update the MineClone 5 textures
Requirements:
- Know how to use the console
@ -40,4 +40,4 @@ Requirements:
- Python 3
Usage:
- In the console, run `python3 ./tools/create_luacheck.py` in the MineClone2 directory
- In the console, run `python3 ./tools/create_luacheck.py` in the MineClone5 directory