Add lots of random trades for villagers
[MineClone/MineClone2.git] / GROUPS.md
blob57c90eb43cb0bd98027891c5b5e5279a89890d15
1 ## Groups
2 This document explains all the groups used in this game.
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 * `crush_after_fall=1`: For falling nodes. These will crush whatever they hit after falling, not dropping as an item
33 * `falling_node_damage=1`: For falling nodes. Hurts any objects it hits while falling. Damage is based on anvils
34 * `dig_by_water=1`: Blocks with this group will drop when they are near flowing water
35 * `destroy_by_lava_flow=1`: Blocks with this group will be destroyed by flowing lava
36 * `dig_by_piston=1`: Blocks which will drop as an item when pushed by a piston. They also cannot be pulled by sticky pistons
37 * `cultivatable=2`: Block will be turned into Farmland by using a hoe on it
38 * `cultivatable=1`: Block will be turned into Dirt by using a hoe on it
39 * `flammable`: Block helps spreading fire and gets destroyed by nearby fire (rating doesn't matter)
40 * `spreading_dirt_type=1`: A dirt-type block with a cover (e.g. grass) which may spread to neighbor dirt blocks
41 * `dirtifies_below_solid=1`: This node turns into dirt immediately when a solid or dirtifier node is placed on top
42 * `dirtifier=1`: This node turns nodes the above group into dirt when placed above
43 * `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
44 * `soil=1`: Saplings and other small plants can grow on it
45 * `soil_sapling=2`: Soil for saplings. Intended to be natural soil. All saplings will grow on this
46 * `soil_sapling=1`: Artificial soil (such as farmland) for saplings. Some saplings will not grow on this
47 * `soil_sugarcane=1`: Sugar canes will grow on this near water
48 * `soil_nether_wart=1`: Nether wart will grow on this
49 * `enderman_takable=1`: Block can be taken and placed by endermen
50 * `disable_suffocation=1`: Disables suffocation for full solid cubes (1)
51 * `destroys_items=1`: If an item happens to be *inside* this node, the item will be destroyed
52 * `no_eat_delay=1`: Only for foodstuffs. When eating this, all eating delays are ignored.
53 * `can_eat_when_full=1`: Only for foodstuffs. This item can be eaten when the user has a full hunger bar
54 * `attached_node_facedir=1`: Like `attached_node`, but for facedir nodes
55 * `cauldron`: Cauldron. 1: Empty. 2-4: Water height
56 * `anvil`: Anvil. 1: No damage. 2-3: Higher damage levels
57 * `no_rename=1`: Item cannot be renamed by anvil
58 * `comparator_signal=X`: If set, this node outputs a constant (!) comparator signal output of strength X.
60 #### Footnotes
62 1. Normally, all walkable blocks with the default 1×1×1 cube as a collision box (e.g. sand,
63    gravel, stone, but not fences) will damage the players while their head is inside. This
64    is called “suffocation”. Setting this group disables this behaviour
66 ### Groups (mostly) used for crafting recipes
68 * `sand=1`: Sand (any color)
69 * `sandstone=1`: (Yellow) sandstone and related nodes (chiseled and the like) (only full blocks)
70 * `redsandstone=1`: Red sandstone and related nodes (chiseled and the like) (only full blocks)
71 * `quartz_block=1`: Quartz Block and variants (chiseled, pillar, etc.) (only full blocks)
72 * `stonebrick=1`: Stone Bricks and related nodes (only full blocks)
73 * `shulker_box=1`: Block is a shulker box
74 * `tree=1`: Oak Wood, Birch Wood, etc. (tree trunks)
75 * `wood=1`: Oak Wood Planks, Birch Wood Planks, etc. (only full blocks)
76 * `wood_slab=1`: Slabs made out of a kind of wooden planks
77 * `wood_stairs=1`: Stairs made out of a kind of wooden planks
78 * `coal=1`: Coal of any kind (lumps only, not blocks)
79 * `wool=1`: Wool (only full blocks)
80 * `carpet=1:` (Wool) carpet
81 * `stick=1`: Stick
82 * `water_bucket=1`: Bucket containing a liquid of group “water”
84 ### Material groups
86 These groups correspond to the Minecraft materials. They classify the block into a type, indicating what the block is “made off”.
88 * `material_stone=1`: Stone
89 * `material_wood=1`: Wood
90 * `material_sand=1`: Sand
91 * `material_glass=1`: Glass
93 Currently, these groups are used for the note block.
94 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.
96 ### Declarative groups
97 These groups are used mostly for informational purposes
99 * `solid=1`: Solid full-cube block (automatically assigned)
100 * `opaque=1`: Opaque block (automatically assigned)
101 * `not_solid=1`: Block is not solid (only assign this group for nodes which are automatically detected as “solid” in error
102 * `not_opaque=1`: Block is not opaque (only assign this group for nodes which are automatically detected as “opaque” in error
103 * `fire=1`: Fire
104 * `water=1`: Water
105 * `lava=1`: Lava
106 * `top_snow=X`: Top snow with X layers (1-8)
107 * `torch`: Torch or torch-like node
108     * `torch=1`: Torch on floor
109     * `torch=2`: Torch at wall
110 * `liquid`: Block is a liquid
111     * `liquid=1`: Unspecified type
112     * `liquid=2`: Water
113     * `liquid=3`: Lava
114 * `fence=1`: Fence
115 * `fence_gate=1`: Fence gate
116 * `fence_wood=1`: Wooden fence
117 * `fence_nether_brick=1`: Nether brick fence
118 * `flower_pot`: Flower pot
119    * `flower_pot=1`: Empty flower pot
120    * `flower_pot=2`: Flower pot with a plant or flower
121 * `flower=1`: Flower
122 * `place_flowerlike=1`: Node has placement rules like that of a flower
123 * `place_flowerlike=2`: Node has placement rules like tall grass
124 * `cake`: Cake (rating = slices left)
125 * `book=1`: Book
126 * `pane=1`: Node is a “pane”-like node glass pane or iron bars
127 * `bed=1`: Bed
128 * `door=1`: Door
129 * `trapdoor=1`: Closed trapdoor
130 * `trapdoor=2`: Open trapdoor
131 * `glass=1`: Glass (full cubes only)
132 * `rail=1`: Rail
133 * `music_record`: Music Disc (rating is track ID)
134 * `tnt=1`: Block is TNT
135 * `boat=1`: Boat
136 * `minecart=1`: Minecart
137 * `food`: Item is a comestible item which can be consumed (healthy or unhealthy)
138     * `food=2`: Food
139     * `food=3`: Drink (including soups)
140     * `food=1`: Other/unsure
141 * `eatable`: Item can be *directly* eaten by wielding + right click (`on_use=item_eat`). Rating is the satiation gain
142 * `cocoa`: Node is a cocoa pod (rating is growth stage, ranging from 1 to 3)
143 * `ammo=1`: Item is used as ammo for a weapon
144 * `ammo_bow=1`: Item is used as ammo for bows
145 * `non_combat_armor=1`: Item can be equipped as armor, but is not made for combat (e.g. zombie head, pumpkin)
146 * `container`: Node is a container which physically stores items within and has at least 1 inventory
147    * `container=2`: Has one inventory with list name `"main"`. Items can be placed and taken freely
148    * `container=3`: Same as `container=2`, but shulker boxes can not be inserted
149    * `container=4`: Furnace-like, has lists `"src"`, `"fuel"` and `"dst"`.
150                     It is expected that this also reacts on `on_timer`;
151                     the node timer must be started from other mods when they add into `"src"` or `"fuel"`
152    * `container=5`: Left part of a 2-part horizontal connected container. Both parts have a `"main"` inventory
153                     list. Both inventories are considered to belong together. This is used for large chests.
154    * `container=6`: Same as above, but for the right part.
155    * `container=7`: Has inventory list "`main`", no movement allowed
156    * `container=1`: Other/unspecified container type
157 * `spawn_egg=1`: Spawn egg
159 * `pressure_plate=1`: Pressure plate (off)
160 * `pressure_plate=2`: Wooden pressure (on)
161 * `button=1`: Button (off)
162 * `button=2`: Button (on)
163 * `redstone_torch=1`: Redstone Torch (lit)
164 * `redstone_torch=2`: Redstone Torch (unlit)
166 * `plant=1`: Plant or part of a plant
167 * `double_plant`: Part of a double-sized plant. 1 = lower part, 2 = upper part
169 * `weapon=1`: Item is primarily (!) a weapon
170 * `tool=1`: Item is primarily (!) a tool
171 * `craftitem=1`: Item is primarily (!) used for crafting
172 * `brewitem=1`: Item is primarily (!) used in brewing
173 * `transport=1`: Item is used for transportation
174 * `building_block=1`: Block is a building block
175 * `deco_block=1`: Block is a decorational block
177 ## Fake item groups
178 These groups put similar items together which should all be treated by the gameplay or the GUI as a single item.
179 You should not add custom items to these groups for no good reason, this is likely to cause a ton of conflicts.
181 * `clock`: Clock (rating indicates the “frame”)
182 * `compass`: Compass (rating indicates the “frame”)
184 This has the following implication: If you want to use a compass or clock in a crafting recipe, you *must*
185 use `group:compass` or `group:clock`, respectively.