Implement basic villager trading formspec
[MineClone/MineClone2.git] / MISSING_ENGINE_FEATURES.md
blobc3bb8a288a8a02f4bca70efd2895774ddf4459e3
1 # Missing features in Minetest to recreate Minecraft features
3 A side goal of the MineClone 2 project is to find any shortcomings of Minetest which make it impossible to recreate a Minecraft feature exactly.
4 This file lists some of the missing features in Minetest which MineClone 2 would require.MineClone 2 would require.MineClone 2 would require.MineClone 2 would require.
6 ## No workaround possible
7 For these features, no easy Lua workaround could be found.
9 ### Lua API
10 #### Tools/wielded item
11 - Allow **much** faster liquid flowing ([#2810](https://github.com/minetest/minetest/issues/2810))
13 - “Lock” hotbar for a brief time after using an item, making it impossible to switch item or to attach/mine/build until the delay is over (For eating with delay)
14 - Tool charging: Holding down the mouse and releasing it, applying a “power level” (For bow and arrows, more charge = higher arrow range) ([issue 5212](https://github.com/minetest/minetest/issues/5212))
15 - [Dual Wielding](http://minecraft.gamepedia.com/Dual_wield)
16 - Eating/drinking animation ([issue 2811](https://github.com/minetest/minetest/issues/2811))
18 #### Nodes
19 - Light level 15 for nodes (not sunlight)
20 - Nodes makes light level drop by 2 or or more per node ([issue 5209](https://github.com/minetest/minetest/issues/5209))
22 ## Interface
23 - Inventory: Hold down right mouse button while holding an item stack to drop items into the slots as you move the mouse. Makes crafting MUCH faster
24 - **Much** more informative item tooltips
25 - Sneak+Leftclick on crafting output crafts as many items as possible and immediately puts it into the player inventory ([issue 5211](https://github.com/minetest/minetest/issues/5211))
26 - Sneak+click on inventory slot should be able to put items into additional “fallback inventories” if the first inventory is full. Required for large chests
27 - Sneak+click puts items in different inventories depending on the item type (maybe group-based)? Required for sneak-clicking to armor slots
29 ## Workaround theoretically possible
30 For these features, a workaround (or hack ;-)) by using Lua is theoretically possible. But engine support would be clearly better, more performant, more reliable, etc.
32 ### Lua API
33 #### Nodes
34 - Change walking speed on block (soul sand)
35 - Change jumping height on block (soul sand), 
36 - Change object movement speed *through* a block, but for non-liquids (for cobweb)
37 - Add `on_walk_over` event
38 - Set frequency in which players lose breath. 2 seconds are hardcoded in Minetest, in Minecraft it's 1 second
39 - Set damage frequency of `damage_per_second`. In Minecraft many things damage players every half-second rather than every second
40 - Possible to damage players directly when they are with the head inside. This allows to add Minecraft-like suffocation
42 #### Crafting
43 - Require tools to be intact in crafting
45 #### Nice-to-haye
46 - Utility function to rotate pillar-like nodes, requiring only 3 possible orientations (X, Y, Z). Basically this is `minetest.rotate_node` but with less orientations; the purpur pillar would mess up if a mirrored rotation would be possible. This is already implemented in MCL2, See `mcl_util` for more infos