Refactor mcl_portals
[MineClone/MineClone2.git] / GROUPS.md
blob07dd800e272346a02d5660ff86c3a8f5649bb0df
1 ## Groups
2 This document explains all the groups used in this subgame.
4 ### Special groups
6 * `not_in_creative_inventory=1`: Item will not be shown in creative inventory
7 * `not_in_craft_guide=1`: Item will not be shown as result or fuel item in crafting guide (but still may be shown as ingredient)
9 ### Digging time groups
11 The basic digging time groups determine by which tools a node can be dug.
13 * `pickaxey`: Diggable by pickaxe. The rating is for the possible tool materials in which the node will make its useful drop:
14     * `pickaxey=1`: Wood, gold, stone, iron and diamond
15     * `pickaxey=2`: Gold, stone, iron and diamond
16     * `pickaxey=3`: Stone, iron and diamond
17     * `pickaxey=4`: Iron and diamond
18     * `pickaxey=5`: Diamond
19 * `axey`: Axe. Rating is same as for `pickaxey`
20 * `shovely`: Shovel. Rating is same as for `pickaxey`
21 * `swordy=1`: Diggable by sword (any material), and this node is *not* a cobweb
22 * `swordy_cobweb=1`: Diggable by sword (any material), and this node is a cobweb
23 * `shearsy=1`: Diggable by shears, and this node is *not* wool
24 * `shearsy=wool=1`: Diggable by shears, and this node is wool
25 * `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
26 * `creative_breakable=1`: Block is breakable by hand in creative mode. This group is implied if the node belongs to any other digging group
28 Please read <http://minecraft.gamepedia.com/Breaking> to learn how digging times work in Minecraft, as MineClone 2 is based on the same system.
30 ### Groups for interactions
32 * `dig_by_water=1`: Blocks with this group will drop when they are near flowing water
33 * `destroy_by_lava_flow=1`: Blocks with this group will be destroyed by flowing lava
34 * `dig_by_piston=1`: Blocks which will drop as an item when pushed by a piston. They also cannot be pulled by sticky pistons
35 * `cultivatable=2`: Block will be turned into Farmland by using a hoe on it
36 * `cultivatable=1`: Block will be turned into Dirt by using a hoe on it
37 * `flammable`: Block helps spreading fire and gets destroyed by nearby fire (rating doesn't matter)
38 * `spreading_dirt_type=1`: A dirt-type block with a cover (e.g. grass) which may spread to neighbor dirt blocks
39 * `dirtifies_below_solid=1`: This node turns into dirt immediately when a solid node is placed on top
40 * `non_mycelium_plant=1`: A plant which can't grow on mycelium. Placing it on mycelium fails and if mycelium spreads below it, it uproots
41 * `soil=1`: Saplings and other small plants can grow on it
42 * `soil_sapling=2`: Soil for saplings. Intended to be natural soil. All saplings will grow on this
43 * `soil_sapling=1`: Artificial soil (such as farmland) for saplings. Some saplings will not grow on this
44 * `soil_sugarcane=1`: Sugar canes will grow on this near water
45 * `soil_nether_wart=1`: Nether wart will grow on this
46 * `enderman_takable=1`: Block can be taken and placed by endermen
47 * `disable_suffocation=1`: Disables suffocation for full solid cubes (1)
48 * `destroys_items=1`: If an item happens to be *inside* this node, the item will be destroyed
49 * `no_eat_delay=1`: Only for foodstuffs. When eating this, all eating delays are ignored.
50 * `can_eat_when_full=1`: Only for foodstuffs. This item can be eaten when the user has a full hunger bar
52 #### Footnotes
54 1. Normally, all walkable blocks with the default 1×1×1 cube as a collision box (e.g. sand,
55    gravel, stone, but not fences) will damage the players while their head is inside. This
56    is called “suffocation”. Setting this group disables this behaviour
58 ### Groups (mostly) used for crafting recipes
60 * `sand=1`: Sand (any color)
61 * `sandstone=1`: (Yellow) sandstone and related nodes (chiseled and the like) (only full blocks)
62 * `redsandstone=1`: Red sandstone and related nodes (chiseled and the like) (only full blocks)
63 * `quartz_block=1`: Quartz Block and variants (chiseled, pillar, etc.) (only full blocks)
64 * `stonebrick=1`: Stone Bricks and related nodes (only full blocks)
65 * `shulker_box=1`: Block is a shulker box
66 * `tree=1`: Oak Wood, Birch Wood, etc. (tree trunks)
67 * `wood=1`: Oak Wood Planks, Birch Wood Planks, etc. (only full blocks)
68 * `wood_slab=1`: Slabs made out of a kind of wooden planks
69 * `wood_stairs=1`: Stairs made out of a kind of wooden planks
70 * `coal=1`: Coal of any kind (lumps only, not blocks)
71 * `wool=1`: Wool (only full blocks)
72 * `carpet=1:` (Wool) carpet
73 * `stick=1`: Stick
75 ### Material groups
77 These groups correspond to the Minecraft materials. They classify the block into a type, indicating what the block is “made off”.
79 * `material_stone=1`: Stone
80 * `material_wood=1`: Wood
81 * `material_sand=1`: Sand
82 * `material_glass=1`: Glass
84 Currently, these groups are used for the note block.
85 Note that not all Minecraft materials are used so far. More Minecraft materials will lilely only be added when they are needed for a concrete use case.
87 ### Declarative groups
88 These groups are used mostly for informational purposes
90 * `solid=1`: Solid full-cube block (automatically assigned)
91 * `opaque=1`: Opaque block (automatically assigned)
92 * `not_solid=1`: Block is sold (only assign this group for nodes which are automatically detected as “solid” in error
93 * `fire=1`: Fire
94 * `water=1`: Water
95 * `lava=1`: Lava
96 * `torch`: Torch or torch-like node
97     * `torch=1`: Torch on floor
98     * `torch=2`: Torch at wall
99 * `liquid`: Block is a liquid
100     * `liquid=1`: Unspecified type
101     * `liquid=2`: Water
102     * `liquid=3`: Lava
103 * `fence=1`: Fence
104 * `fence_gate=1`: Fence gate
105 * `fence_wood=1`: Wooden fence
106 * `fence_nether_brick=1`: Nether brick fence
107 * `flower_pot`: Flower pot
108    * `flower_pot=1`: Empty flower pot
109    * `flower_pot=2`: Flower pot with a plant or flower
110 * `flower=1`: Flower
111 * `place_flowerlike=1`: Node has placement rules like that of a flower
112 * `place_flowerlike=2`: Node has placement rules like tall grass
113 * `cake`: Cake (rating = slices left)
114 * `book=1`: Book
115 * `pane=1`: Node is a “pane”-like node glass pane or iron bars
116 * `bed=1`: Bed
117 * `door=1`: Door
118 * `trapdoor=1`: Closed trapdoor
119 * `trapdoor=2`: Open trapdoor
120 * `glass=1`: Glass (full cubes only)
121 * `rail=1`: Rail
122 * `music_record`: Music Disc (rating is track ID)
123 * `tnt=1`: Block is TNT
124 * `boat=1`: Boat
125 * `minecart=1`: Minecart
126 * `food`: Item is a comestible item which can be consumed (healthy or unhealthy)
127     * `food=2`: Food
128     * `food=3`: Drink (including soups)
129     * `food=1`: Other/unsure
130 * `eatable`: Item can be *directly* eaten by wielding + right click (`on_use=item_eat`). Rating is the satiation gain
131 * `cocoa`: Node is a cocoa pod (rating is growth stage, ranging from 1 to 3)
132 * `ammo=1`: Item is used as ammo for a weapon
133 * `ammo_bow=1`: Item is used as ammo for bows
134 * `non_combat_armor=1`: Item can be equipped as armor, but is not made for combat (e.g. zombie head, pumpkin)
135 * `container`: Node is a container which physically stores items within and has at least 1 inventory
136    * `container=2`: Has one inventory with list name `"main"`. Items can be placed and taken freely
137    * `container=3`: Same as `container=2`, but shulker boxes can not be inserted
138    * `container=4`: Furnace-like, has lists `"src"`, `"fuel"` and `"dst"`.
139                     It is expected that this also reacts on `on_timer`;
140                     the node timer must be started from other mods when they add into `"src"` or `"fuel"`
141    * `container=5`: Left part of a 2-part horizontal connected container. Both parts have a `"main"` inventory
142                     list. Both inventories are considered to belong together. This is used for large chests.
143    * `container=6`: Same as above, but for the right part.
144    * `container=1`: Other/unspecified container type
145 * `spawn_egg=1`: Spawn egg
147 * `plant=1`: Plant or part of a plant
148 * `double_plant`: Part of a double-sized plant. 1 = lower part, 2 = upper part
150 * `weapon=1`: Item is primarily (!) a weapon
151 * `tool=1`: Item is primarily (!) a tool
152 * `craftitem=1`: Item is primarily (!) used for crafting
153 * `brewitem=1`: Item is primarily (!) used in brewing
154 * `transport=1`: Item is used for transportation
155 * `building_block=1`: Block is a building block
156 * `deco_block=1`: Block is a decorational block
158 ## Fake item groups
159 These groups put similar items together which should all be treated by the gameplay or the GUI as a single item.
160 You should not add custom items to these groups for no good reason, this is likely to cause a ton of conflicts.
162 * `clock`: Clock (rating indicates the “frame”)
163 * `compass`: Compass (rating indicates the “frame”)
165 This has the following implication: If you want to use a compass or clock in a crafting recipe, you *must*
166 use `group:compass` or `group:clock`, respectively.