diff --git a/DEVELOPERS.md b/DEVELOPERS.md new file mode 100644 index 0000000..f7c53e2 --- /dev/null +++ b/DEVELOPERS.md @@ -0,0 +1,35 @@ +# 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. + +## 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_crafting`: Add crafting recipes +* `rp_achievements`: Add and trigger achievements +* `rp_door`: Add doors +* `rp_player_effects`: Add player effects (required if you want to modify player physics) +* `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`. diff --git a/DEV_GROUPS.md b/DEV_GROUPS.md new file mode 100644 index 0000000..063da1e --- /dev/null +++ b/DEV_GROUPS.md @@ -0,0 +1,128 @@ +# Group reference + +This file is developer documentation that documents all the groups used in this game. + +## Item groups + +## Interactive item groups +* `not_in_creative_inventory`: Item won't show up in Creative Inventory +* `not_in_craft_guide`: Item won't show up in crafting guide +* `no_item_drop`: This item can't exist as a dropped item on the ground. When dropping it, it is deleted instantly + +### Tools +* `axe`: Axe +* `shears`: Shears +* `shovel`: Shovel +* `sword`: Sword +* `spear`: Spear +* `supertool`: Super tool, i.e. a powerful tool for Creative Mode use only +* `sheep_cuts`: For shears. Rating specifies how often it can shear sheep + +## Armor +* `is_armor`: Item is an armor piece +* `armor`: Item is an armor piece and rating specifies armor percentage +* `armor_material`: Rating specifies armor material; number is assigned dynamically. Equal number means equal material. +* `armor_slot`: Which slots the armor piece belongs to. 1 = Helmet, 2 = Chestplate, 3 = Boots + +### Other item categorizations +* `stick`: Stick +* `bucket`: Any bucket +* `bucket_water`: Bucket with water +* `food`: Can be eaten. 2 = eatable. 3 = drinkable +* `nav_compass`: Is a compass. Rating = current pointing direction (1 to 8) +* `spawn_egg`: Item that spawns mobs + + + +## Node groups + +### Digging groups +* `choppy`: Can be dug by brute force, like wood +* `cracky`: Hard material like stone +* `crumbly`: Soft material like dirt +* `snappy`: Can be dug with fine tools like shears +* `fleshy`: Node represents some kind of (semi-)living organism +* `handy`: Can be dug with bare hand +* `oddly_breakable_by_hand`: Can be dug with bare hand + +### Interactive node groups: +* `soil`: For blocks that allow several plants to grow +* `leafdecay`: Node decays if not close to a `tree` group node (max. distance = rating). + Decaying will destroy the node and release the item drop except dropping itself. +* `leafdecay_drop`: Must be used in combination with `leafdecay`. + Decaying will release the item drop, and it can even drop itself. +* `magnetic`: Node is magnetic and can magnetize stuff (like compass) +* `unmagnetic`: Node is "unmagnetic", this means it can de-magnetize stuff +* `locked`: Node is considered to be locked + +### Node categorization + +* `dirt`: Any dirt (with or without cover) +* `normal_dirt`: Any "normal" common dirt found in most temperate biomes (i.e. not swamp dirt or dry dirt) (with or without cover) +* `dry_dirt`: Any dry dirt (with or without cover) +* `swamp_dirt`: Any swamp dirt (with or without cover) +* `grass_cover`: This node is covered with grass + +* `grass`: Any grass clump +* `green_grass`: Any grass clump that is lush (“green”) +* `normal_grass`: "Normal" grass clump +* `dry_grass`: Dry grass clump +* `swamp_grass`: Swamp grass clump + +* `plant`: Any node that is a plant +* `farming_plant`: Any plant used for farming +* `plant_cotton`: Cotton plant (rating = growth stage) +* `plant_wheat`: Wheat plant (rating = growth stage) +* `sapling`: Sapling +* `fern`: Fern +* `flower`: Flower +* `seed`: Seed + +* `leaves`: Any leaves +* `dry_leaves`: Dry leaves +* `lush_leaves`: Any non-dry leaves + +* `plantable_dry`: You can plant farming plants on it and this node is considered to be dry +* `plantable_sandy`: You can plant farming plants on it and this node is considered to be made out of sand +* `plantable_soil`: You can plant farming plants on it and this node is considered to be "normal" soil +* `plantable_fertilizer`: This node is fertilized + +#### Shaped + +* `slab`: Slab +* `stair`: Stair +* `path`: A path node like the Dirt Path +* `door`: Any door +* `door_wood`: Wooden door +* `fence`: Fence +* `sign`: Sign +* `bed`: Bed +* `torch`: Torch + +### Node material groups (used for full nodes only): + +* `planks`: Wooden planks +* `wood`: Made out of wood +* `tree`: Tree trunks +* `stone`: Stone +* `sand`: Sand +* `sandstone`: Sandstone +* `glass`: Glass +* `fuzzy`: Wool, cotton bale, etc. + +### Liquids +* `liquid`: Any liquid +* `water`: Any water +* `flowing_water`: Flowing water +* `river_water`: Any river water +* `swamp_water`: Any swamp water + +### Unused node groups + +* `flammable` + + + +## Damage groups + +* `fleshy`: The damage group used for everything that takes damage