Repixture/DEVELOPERS.md

67 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

2022-05-20 11:43:14 -07:00
# Developer information
This file explains information to document the code of Repixture and information for people
wanting to develop or mod Repixture.
Note the focus of Repixture is not to be a "base for modding", but to be a standalone
game in its own right. That having said, Repixture also doesn't actively oppose
modding.
2022-05-30 13:17:00 -07:00
## Core development
### Testing
There are some hidden testing/debug settings. Add them into `minetest.conf` to activate:
* `rp_testing_enable=true`: Enables Testing Mode. Performs some simple benchmarks on startup
(See the log file / console) and also enables testing the validity of crafting
recipes, gold trades, and more (printing errors if any errors were found).
This also enables a few helper chat commands (see `/help`).
* `hunger_debug=true`: Enables Hunger Debug. This displays the internal hunger values on
the screen.
2022-05-20 11:43:14 -07:00
## Some modding rules
* Crafting recipes (except cooking and fuel recipes) **MUST**
be registered through `rp_crafting`.
* Modifying player physics (like running speed)
**MUST** be done via `rp_player_effects`.
## Mod APIs
Some mods provide APIs to interact with. Check out the respective mod directories for a
file named `API.md`.
Mods with documented APIs:
* `rp_armor`: Armor information
2022-05-20 11:43:14 -07:00
* `rp_achievements`: Add and trigger achievements
2022-05-25 10:22:07 -07:00
* `rp_bed`: Get, set and unset (re)spwan position
* `rp_crafting`: Add crafting recipes
* `rp_default`: Sapling helpers, biome information
2022-05-20 11:43:14 -07:00
* `rp_door`: Add doors
* `rp_drop_items_on_die`: You only need this mod if you added an inventory list to the player
and you want its contents to be dropped on death.
* `rp_farming`: Add farmable plants
* `rp_formspec`: Build formspecs and inventory pages
* `rp_goodies`: Fill container nodes with random loot
* `rp_hunger`: Get and set hunger
2022-08-07 06:30:53 -07:00
* `rp_item_drop`: Add a function to simulate an item drop
* `rp_itemshow`: Needed when your item needs a custom appearance in the item frame / item showcase
2022-08-02 10:54:44 -07:00
* `rp_jewels`: Register jeweled tools, and more
2022-08-02 09:51:25 -07:00
* `rp_locks`: Get info about lockable nodes
* `rp_partialblocks`: Register partial blocks (slabs, stairs)
2022-08-07 11:14:05 -07:00
* `rp_player`: Player model handling, model animation, textures
* `rp_player_effects`: Add player effects (required if you want to modify player physics)
2022-08-07 11:23:28 -07:00
* `rp_sounds`: Node sounds
2022-06-07 11:37:46 -07:00
* `rp_util`: Helper functions for Repixture
2022-08-07 11:49:21 -07:00
* `rp_tnt`: Ignite and blow up TNT, also spawn TNT-less explosions
2022-05-20 11:43:14 -07:00
* `tt`: Custom tooltips
Beware: Calling functions that are not documented are NOT guaranted to be stable
in future versions, so use them with care.
## Groups
A reference of all groups used in this game can be found in `DEV_GROUPS.md`.