3 -- Node definitions of simple, non-interactive nodes
6 local S
= minetest
.get_translator("rp_default")
10 minetest
.register_node(
11 "rp_default:stone_with_sulfur",
13 description
= S("Stone with Sulfur"),
14 tiles
= {"default_stone.png^default_mineral_sulfur.png"},
15 groups
= {cracky
= 2, stone
= 1, not_in_craft_guide
= 1},
16 drop
= "rp_default:lump_sulfur",
17 sounds
= rp_sounds
.node_sound_stone_defaults(),
20 minetest
.register_node(
21 "rp_default:stone_with_graphite",
23 description
= S("Stone with Graphite"),
24 tiles
= {"default_stone.png^default_mineral_graphite.png"},
25 groups
= {cracky
= 2, stone
= 1, not_in_craft_guide
= 1},
26 drop
= "rp_default:sheet_graphite",
27 sounds
= rp_sounds
.node_sound_stone_defaults(),
30 minetest
.register_node(
31 "rp_default:stone_with_coal",
33 description
= S("Stone with Coal"),
34 tiles
= {"default_stone.png^default_mineral_coal.png"},
35 groups
= {cracky
= 2, stone
= 1, not_in_craft_guide
= 1},
36 drop
= "rp_default:lump_coal",
37 sounds
= rp_sounds
.node_sound_stone_defaults(),
40 minetest
.register_node(
41 "rp_default:stone_with_iron",
43 description
= S("Stone with Iron"),
44 tiles
= {"default_stone.png^default_mineral_iron.png"},
45 groups
= {cracky
= 2, stone
= 1, magnetic
= 1, not_in_craft_guide
= 1},
46 drop
= "rp_default:lump_iron",
47 sounds
= rp_sounds
.node_sound_stone_defaults(),
50 minetest
.register_node(
51 "rp_default:stone_with_tin",
53 description
= S("Stone with Tin"),
54 tiles
= {"default_stone.png^default_mineral_tin.png"},
55 groups
= {cracky
= 1, stone
= 1, not_in_craft_guide
= 1},
56 drop
= "rp_default:lump_tin",
57 sounds
= rp_sounds
.node_sound_stone_defaults(),
60 minetest
.register_node(
61 "rp_default:stone_with_copper",
63 description
= S("Stone with Copper"),
64 tiles
= {"default_stone.png^default_mineral_copper.png"},
65 groups
= {cracky
= 1, stone
= 1, not_in_craft_guide
= 1},
66 drop
= "rp_default:lump_copper",
67 sounds
= rp_sounds
.node_sound_stone_defaults(),
72 minetest
.register_node(
75 description
= S("Stone"),
76 tiles
= {"default_stone.png"},
77 groups
= {cracky
= 2, stone
= 1},
78 drop
= "rp_default:cobble",
79 sounds
= rp_sounds
.node_sound_stone_defaults(),
82 minetest
.register_node(
85 description
= S("Cobble"),
86 tiles
= {"default_cobbles.png"},
88 groups
= {cracky
= 3, stone
= 1},
89 sounds
= rp_sounds
.node_sound_stone_defaults(),
90 is_ground_content
= false,
93 minetest
.register_node(
94 "rp_default:reinforced_cobble",
96 description
= S("Reinforced Cobble"),
97 tiles
= {"default_reinforced_cobbles.png"},
98 is_ground_content
= false,
99 groups
= {cracky
= 1, stone
= 1},
100 sounds
= rp_sounds
.node_sound_stone_defaults(),
103 minetest
.register_node(
106 description
= S("Gravel"),
107 tiles
= {"default_gravel.png"},
108 groups
= {crumbly
= 2, falling_node
= 1},
109 sounds
= rp_sounds
.node_sound_dirt_defaults(
111 footstep
= {name
= "default_crunch_footstep", gain
= 0.45},
117 minetest
.register_node(
118 "rp_default:block_coal",
120 description
= S("Coal Block"),
121 tiles
= {"default_block_coal.png"},
122 groups
= {cracky
= 3, oddly_breakable_by_hand
= 3},
123 sounds
= rp_sounds
.node_sound_wood_defaults(),
126 minetest
.register_node(
127 "rp_default:block_wrought_iron",
129 description
= S("Wrought Iron Block"),
130 tiles
= {"default_block_wrought_iron.png"},
131 groups
= {cracky
= 2, magnetic
= 1},
132 sounds
= rp_sounds
.node_sound_stone_defaults(),
133 is_ground_content
= false,
136 minetest
.register_node(
137 "rp_default:block_steel",
139 description
= S("Steel Block"),
140 tiles
= {"default_block_steel.png"},
141 groups
= {cracky
= 2},
142 sounds
= rp_sounds
.node_sound_stone_defaults(),
143 is_ground_content
= false,
146 minetest
.register_node(
147 "rp_default:block_carbon_steel",
149 description
= S("Carbon Steel Block"),
150 tiles
= {"default_block_carbon_steel.png"},
151 groups
= {cracky
= 1},
152 sounds
= rp_sounds
.node_sound_stone_defaults(),
153 is_ground_content
= false,
156 minetest
.register_node(
157 "rp_default:block_bronze",
159 description
= S("Bronze Block"),
160 tiles
= {"default_block_bronze.png"},
161 groups
= {cracky
= 1},
162 sounds
= rp_sounds
.node_sound_stone_defaults(),
163 is_ground_content
= false,
166 minetest
.register_node(
167 "rp_default:block_copper",
169 description
= S("Copper Block"),
170 tiles
= {"default_block_copper.png"},
171 groups
= {cracky
= 2},
172 sounds
= rp_sounds
.node_sound_stone_defaults(),
173 is_ground_content
= false,
176 minetest
.register_node(
177 "rp_default:block_tin",
179 description
= S("Tin Block"),
180 tiles
= {"default_block_tin.png"},
181 groups
= {cracky
= 2},
182 sounds
= rp_sounds
.node_sound_stone_defaults(),
183 is_ground_content
= false,
188 minetest
.register_node(
191 description
= S("Dirt"),
192 tiles
= {"default_dirt.png"},
194 groups
= {crumbly
= 3, soil
= 1, dirt
= 1, normal_dirt
= 1, plantable_soil
= 1, fall_damage_add_percent
= -5},
195 sounds
= rp_sounds
.node_sound_dirt_defaults(),
198 minetest
.register_node(
199 "rp_default:dry_dirt",
201 description
= S("Dry Dirt"),
202 tiles
= {"default_dry_dirt.png"},
204 groups
= {crumbly
= 3, soil
= 1, dirt
= 1, dry_dirt
= 1, plantable_dry
= 1, fall_damage_add_percent
= -10},
205 sounds
= rp_sounds
.node_sound_dirt_defaults(),
208 minetest
.register_node(
209 "rp_default:swamp_dirt",
211 description
= S("Swamp Dirt"),
212 tiles
= {"default_swamp_dirt.png"},
214 groups
= {crumbly
= 3, soil
= 1, dirt
= 1, swamp_dirt
= 1, plantable_soil
= 1, fall_damage_add_percent
= -10},
215 sounds
= rp_sounds
.node_sound_dirt_defaults(),
218 minetest
.register_node(
219 "rp_default:dirt_with_dry_grass",
221 description
= S("Dirt with Dry Grass"),
223 "default_dry_grass.png",
225 "default_dirt.png^default_dry_grass_side.png"
227 groups
= {crumbly
= 3, soil
= 1, dirt
= 1, normal_dirt
= 1, plantable_sandy
= 1, grass_cover
= 1,
228 fall_damage_add_percent
= -5, not_in_craft_guide
= 1},
232 {items
= {"rp_default:dirt"}, rarity
= 1},
233 {items
= {"rp_default:dry_grass 4"}, rarity
= 12},
234 {items
= {"rp_default:dry_grass 2"}, rarity
= 6},
235 {items
= {"rp_default:dry_grass 1"}, rarity
= 2},
238 sounds
= rp_sounds
.node_sound_dirt_defaults(
240 footstep
= {name
= "default_soft_footstep", gain
= 0.3},
244 minetest
.register_node(
245 "rp_default:dirt_with_swamp_grass",
247 description
= S("Swamp Dirt with Swamp Grass"),
249 "default_swamp_grass.png",
250 "default_swamp_dirt.png",
251 "default_swamp_dirt.png^default_swamp_grass_side.png"
253 groups
= {crumbly
= 3, soil
= 1, dirt
= 1, swamp_dirt
= 1, plantable_soil
= 1, grass_cover
= 1,
254 fall_damage_add_percent
= -10, not_in_craft_guide
= 1},
258 {items
= {"rp_default:swamp_dirt"}, rarity
= 1},
259 {items
= {"rp_default:swamp_grass 6"}, rarity
= 14},
260 {items
= {"rp_default:swamp_grass 3"}, rarity
= 7},
261 {items
= {"rp_default:swamp_grass 2"}, rarity
= 3},
264 sounds
= rp_sounds
.node_sound_dirt_defaults(
266 footstep
= {name
= "default_soft_footstep", gain
= 0.5},
270 minetest
.register_node(
271 "rp_default:dirt_with_grass",
273 description
= S("Dirt with Grass"),
277 "default_dirt.png^default_grass_side.png"
279 groups
= {crumbly
= 3, soil
= 1, dirt
= 1, normal_dirt
= 1, plantable_soil
= 1, grass_cover
= 1,
280 fall_damage_add_percent
= -5, not_in_craft_guide
= 1},
284 {items
= {"rp_default:dirt"}, rarity
= 1},
285 {items
= {"rp_default:grass 10"}, rarity
= 30},
286 {items
= {"rp_default:grass 3"}, rarity
= 9},
287 {items
= {"rp_default:grass 2"}, rarity
= 6},
288 {items
= {"rp_default:grass 1"}, rarity
= 3},
291 sounds
= rp_sounds
.node_sound_dirt_defaults(
293 footstep
= {name
= "default_soft_footstep", gain
= 0.4},
297 minetest
.register_node(
298 "rp_default:dirt_with_grass_footsteps",
300 description
= S("Dirt with Grass and Footsteps"),
301 tiles
= {"default_grass_footstep.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
302 groups
= {crumbly
= 3, soil
= 1, dirt
= 1, normal_dirt
= 1, plantable_soil
= 1, grass_cover
= 1, fall_damage_add_percent
= -5, not_in_craft_guide
= 1},
306 {items
= {"rp_default:dirt"}, rarity
= 1},
307 {items
= {"rp_default:grass 10"}, rarity
= 30},
308 {items
= {"rp_default:grass 3"}, rarity
= 9},
309 {items
= {"rp_default:grass 2"}, rarity
= 6},
310 {items
= {"rp_default:grass 1"}, rarity
= 3},
313 sounds
= rp_sounds
.node_sound_dirt_defaults(
315 footstep
= {name
= "default_soft_footstep", gain
= 0.4},
321 minetest
.register_node(
322 "rp_default:dirt_path",
324 description
= S("Dirt Path"),
325 drawtype
= "nodebox",
329 fixed
= {-0.5, -0.5, -0.5, 0.5, 0.5-2/16, 0.5}
331 tiles
= {"default_dirt.png"},
332 groups
= {crumbly
= 3, path
= 1, fall_damage_add_percent
= -10},
333 is_ground_content
= false,
334 sounds
= rp_sounds
.node_sound_dirt_defaults(),
337 minetest
.register_node(
338 "rp_default:path_slab",
340 description
= S("Dirt Path Slab"),
341 drawtype
= "nodebox",
345 fixed
= {-0.5, -0.5, -0.5, 0.5, -2/16, 0.5}
347 tiles
= {"default_dirt.png"},
348 groups
= {crumbly
= 3, slab
= 2, fall_damage_add_percent
= -10},
349 is_ground_content
= false,
350 sounds
= rp_sounds
.node_sound_dirt_defaults(),
353 minetest
.register_node(
354 "rp_default:heated_dirt_path",
356 description
= S("Glowing Dirt Path"),
357 drawtype
= "nodebox",
362 fixed
= {-0.5, -0.5, -0.5, 0.5, 0.5-2/16, 0.5}
364 tiles
= {"default_dirt.png"},
365 groups
= {crumbly
= 3, path
= 1, fall_damage_add_percent
= -10},
366 is_ground_content
= false,
367 sounds
= rp_sounds
.node_sound_dirt_defaults(),
372 minetest
.register_node(
375 description
= S("Brick Block"),
376 tiles
= {"default_brick.png"},
377 is_ground_content
= false,
378 groups
= {cracky
= 2},
379 sounds
= rp_sounds
.node_sound_stone_defaults(),
384 minetest
.register_node(
387 description
= S("Sand"),
388 tiles
= {"default_sand.png"},
389 groups
= {crumbly
= 3, falling_node
= 1, sand
= 1, plantable_sandy
= 1, fall_damage_add_percent
= -10},
390 sounds
= rp_sounds
.node_sound_sand_defaults(),
393 minetest
.register_node(
394 "rp_default:sandstone",
396 description
= S("Sandstone"),
397 tiles
= {"default_sandstone.png"},
398 groups
= {crumbly
= 2, cracky
= 3, sandstone
= 1},
399 drop
= "rp_default:sand 2",
400 sounds
= rp_sounds
.node_sound_stone_defaults(),
403 minetest
.register_node(
404 "rp_default:compressed_sandstone",
406 description
= S("Compressed Sandstone"),
407 tiles
= {"default_compressed_sandstone_top.png", "default_compressed_sandstone_top.png", "default_compressed_sandstone.png"},
408 groups
= {cracky
= 2, sandstone
= 1},
409 is_ground_content
= false,
410 sounds
= rp_sounds
.node_sound_stone_defaults(),
415 minetest
.register_node(
416 "rp_default:sapling",
418 description
= S("Sapling"),
419 _tt_help
= S("Grows into an apple tree"),
420 drawtype
= "plantlike",
421 tiles
= {"default_sapling.png"},
422 inventory_image
= "default_sapling_inventory.png",
423 wield_image
= "default_sapling_inventory.png",
429 fixed
= {-0.4, -0.5, -0.4, 0.4, 0.4, 0.4},
431 groups
= {snappy
= 2, handy
= 1, attached_node
= 1, plant
= 1, sapling
= 1},
432 is_ground_content
= false,
433 sounds
= rp_sounds
.node_sound_defaults(),
435 on_timer
= function(pos
)
436 default
.grow_sapling(pos
)
439 on_construct
= function(pos
)
440 default
.begin_growing_sapling(pos
)
443 on_place
= default
.place_sapling
,
446 minetest
.register_node(
447 "rp_default:sapling_oak",
449 description
= S("Oak Sapling"),
450 _tt_help
= S("Grows into an oak tree"),
451 drawtype
= "plantlike",
452 tiles
= {"default_sapling_oak.png"},
453 inventory_image
= "default_sapling_oak_inventory.png",
454 wield_image
= "default_sapling_oak_inventory.png",
460 fixed
= {-0.4, -0.5, -0.4, 0.4, 0.4, 0.4},
462 groups
= {snappy
= 2, handy
= 1, attached_node
= 1, plant
= 1, sapling
= 1},
463 sounds
= rp_sounds
.node_sound_defaults(),
465 on_timer
= function(pos
)
466 default
.grow_sapling(pos
)
469 on_construct
= function(pos
)
470 default
.begin_growing_sapling(pos
)
473 on_place
= default
.place_sapling
,
476 minetest
.register_node(
477 "rp_default:sapling_birch",
479 description
= S("Birch Sapling"),
480 _tt_help
= S("Grows into a birch tree"),
481 drawtype
= "plantlike",
482 tiles
= {"default_sapling_birch.png"},
483 inventory_image
= "default_sapling_birch_inventory.png",
484 wield_image
= "default_sapling_birch_inventory.png",
490 fixed
= {-0.4, -0.5, -0.4, 0.4, 0.4, 0.4},
492 groups
= {snappy
= 2, handy
= 1, attached_node
= 1, plant
= 1, sapling
= 1},
493 is_ground_content
= false,
494 sounds
= rp_sounds
.node_sound_defaults(),
496 on_timer
= function(pos
)
497 default
.grow_sapling(pos
)
500 on_construct
= function(pos
)
501 default
.begin_growing_sapling(pos
)
504 on_place
= default
.place_sapling
,
507 minetest
.register_node(
508 "rp_default:sapling_dry_bush",
510 description
= S("Dry Bush Sapling"),
511 _tt_help
= S("Grows into a dry bush"),
512 drawtype
= "plantlike",
513 tiles
= {"default_sapling_dry_bush.png"},
514 inventory_image
= "default_sapling_dry_bush_inventory.png",
515 wield_image
= "default_sapling_dry_bush_inventory.png",
521 fixed
= {-0.4, -0.5, -0.4, 0.4, 0.4, 0.4},
523 groups
= {snappy
= 2, handy
= 1, attached_node
= 1, plant
= 1, sapling
= 1},
524 is_ground_content
= false,
525 sounds
= rp_sounds
.node_sound_defaults(),
527 on_timer
= function(pos
)
528 default
.grow_sapling(pos
)
531 on_construct
= function(pos
)
532 default
.begin_growing_sapling(pos
)
535 on_place
= default
.place_sapling
,
542 minetest
.register_node(
545 description
= S("Tree"),
546 tiles
= {"default_tree_top.png", "default_tree_top.png", "default_tree.png"},
547 groups
= {choppy
= 2,tree
= 1,oddly_breakable_by_hand
= 1},
548 sounds
= rp_sounds
.node_sound_wood_defaults(),
551 minetest
.register_node(
552 "rp_default:tree_oak",
554 description
= S("Oak Tree"),
555 tiles
= {"default_tree_oak_top.png", "default_tree_oak_top.png", "default_tree_oak.png"},
556 groups
= {choppy
= 1, tree
= 1, oddly_breakable_by_hand
= 1},
557 sounds
= rp_sounds
.node_sound_wood_defaults(),
560 minetest
.register_node(
561 "rp_default:tree_birch",
563 description
= S("Birch Tree"),
564 tiles
= {"default_tree_birch_top.png", "default_tree_birch_top.png", "default_tree_birch.png"},
565 groups
= {choppy
= 2, tree
= 1, oddly_breakable_by_hand
= 1},
566 sounds
= rp_sounds
.node_sound_wood_defaults(),
571 minetest
.register_node(
574 description
= S("Leaves"),
575 _tt_help
= S("Decays when not near a tree block"),
576 drawtype
= "allfaces_optional",
577 tiles
= {"default_leaves.png"},
580 groups
= {snappy
= 3, leafdecay
= 3, fall_damage_add_percent
= -10, leaves
= 1, lush_leaves
= 1},
585 items
= {"rp_default:sapling"},
589 items
= {"rp_default:leaves"},
593 sounds
= rp_sounds
.node_sound_leaves_defaults(),
596 minetest
.register_node(
597 "rp_default:leaves_oak",
599 description
= S("Oak Leaves"),
600 _tt_help
= S("Decays when not near a tree block"),
601 drawtype
= "allfaces_optional",
602 tiles
= {"default_leaves_oak.png"},
605 groups
= {snappy
= 3, leafdecay
= 4, fall_damage_add_percent
= -5, leaves
= 1, lush_leaves
= 1},
610 items
= {"rp_default:sapling_oak"},
614 items
= {"rp_default:leaves_oak"},
618 sounds
= rp_sounds
.node_sound_leaves_defaults(),
621 minetest
.register_node(
622 "rp_default:leaves_birch",
624 description
= S("Birch Leaves"),
625 _tt_help
= S("Decays when not near a tree block"),
626 drawtype
= "allfaces_optional",
627 tiles
= {"default_leaves_birch.png"},
630 groups
= {snappy
= 3, leafdecay
= 6, fall_damage_add_percent
= -5, leaves
= 1, lush_leaves
= 1},
635 items
= {"rp_default:sapling_birch"},
639 items
= {"rp_default:leaves_birch"},
643 sounds
= rp_sounds
.node_sound_leaves_defaults(),
646 minetest
.register_node(
647 "rp_default:dry_leaves",
649 description
= S("Dry Leaves"),
650 _tt_help
= S("Decays when not near a tree block"),
651 drawtype
= "allfaces_optional",
652 tiles
= {"default_dry_leaves.png"},
655 groups
= {snappy
= 3, leafdecay
= 3, fall_damage_add_percent
= -20, leaves
= 1, dry_leaves
= 1},
660 items
= {"rp_default:sapling_dry_bush"},
664 items
= {"rp_default:dry_leaves"},
668 sounds
= rp_sounds
.node_sound_leaves_defaults(),
673 minetest
.register_node(
676 description
= S("Cactus"),
677 _tt_help
= S("Grows on sand"),
680 _tt_food_satiation
= 5,
681 drawtype
= "nodebox",
686 {-0.5+(1/8), -0.5, -0.5+(1/8), 0.5-(1/8), 0.5, 0.5-(1/8)},
687 {-0.5, -0.5, -0.5+(1/3), 0.5, 0.5-(1/3), 0.5-(1/3)},
688 {-0.5+(1/3), -0.5, -0.5, 0.5-(1/3), 0.5-(1/3), 0.5},
694 {-0.5+(1/8), -0.5, -0.5+(1/8), 0.5-(1/8), 0.5, 0.5-(1/8)},
697 tiles
= {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_sides.png"},
698 -- damage_per_second = 1,
699 groups
= {snappy
= 2, choppy
= 2, fall_damage_add_percent
= 20, plant
= 1, food
= 2},
700 sounds
= rp_sounds
.node_sound_wood_defaults(),
701 after_dig_node
= function(pos
, node
, metadata
, digger
)
702 util
.dig_up(pos
, node
, digger
)
704 on_use
= minetest
.item_eat({hp
= 2, sat
= 5}),
709 minetest
.register_node(
712 description
= S("Rope"),
713 drawtype
= "nodebox",
714 tiles
= {"default_rope.png"},
715 inventory_image
= "default_rope_inventory.png",
716 wield_image
= "default_rope_inventory.png",
720 sunlight_propagates
= true,
723 fixed
= {-1/16, -0.5, -1/16, 1/16, 0.5, 1/16},
725 groups
= {snappy
= 3},
726 is_ground_content
= false,
727 sounds
= rp_sounds
.node_sound_leaves_defaults(),
728 after_dig_node
= function(pos
, node
, metadata
, digger
)
729 util
.dig_down(pos
, node
, digger
)
735 minetest
.register_node(
736 "rp_default:papyrus",
738 description
= S("Papyrus"),
739 _tt_help
= S("Grows on sand or dirt near water"),
740 drawtype
= "nodebox",
741 tiles
= {"default_papyrus_repixture.png"},
742 use_texture_alpha
= "clip",
743 inventory_image
= "default_papyrus_inventory.png",
744 wield_image
= "default_papyrus_inventory.png",
750 fixed
= {-0.5+(2/16), -0.5, -0.5+(2/16), 0.5-(2/16), 0.5, 0.5-(2/16)}
755 {-0.5+(2/16), -0.5, -0.5+(2/16), -0.5+(4/16), 0.5, -0.5+(4/16)},
756 {0.5-(2/16), -0.5, -0.5+(2/16), 0.5-(4/16), 0.5, -0.5+(4/16)},
757 {-0.5+(2/16), -0.5, 0.5-(2/16), -0.5+(4/16), 0.5, 0.5-(4/16)},
758 {0.5-(2/16), -0.5, 0.5-(2/16), 0.5-(4/16), 0.5, 0.5-(4/16)},
759 {-1/16, -0.5, -1/16, 1/16, 0.5, 1/16},
762 groups
= {snappy
= 3, plant
= 1},
763 sounds
= rp_sounds
.node_sound_leaves_defaults(),
764 after_dig_node
= function(pos
, node
, metadata
, digger
)
765 util
.dig_up(pos
, node
, digger
)
771 minetest
.register_node(
774 description
= S("Glass"),
775 drawtype
= "glasslike_framed_optional",
776 tiles
= {"default_glass_frame.png", "default_glass.png"},
778 sunlight_propagates
= true,
779 groups
= {snappy
= 2,cracky
= 3,oddly_breakable_by_hand
= 2, glass
=1},
780 is_ground_content
= false,
781 sounds
= rp_sounds
.node_sound_glass_defaults(),
786 minetest
.register_node(
789 description
= S("Wooden Planks"),
790 tiles
= {"default_wood.png"},
791 groups
= {planks
= 1, wood
= 1, snappy
= 3, choppy
= 3, oddly_breakable_by_hand
= 3},
792 is_ground_content
= false,
793 sounds
= rp_sounds
.node_sound_wood_defaults(),
796 minetest
.register_node(
797 "rp_default:planks_oak",
799 description
= S("Oak Planks"),
800 tiles
= {"default_wood_oak.png"},
801 groups
= {planks
= 1, wood
= 1, snappy
= 2, choppy
= 2, oddly_breakable_by_hand
= 3},
802 is_ground_content
= false,
803 sounds
= rp_sounds
.node_sound_wood_defaults(),
806 minetest
.register_node(
807 "rp_default:planks_birch",
809 description
= S("Birch Planks"),
810 tiles
= {"default_wood_birch.png"},
811 groups
= {planks
= 1, wood
= 1, snappy
= 2, choppy
= 2, oddly_breakable_by_hand
= 2},
812 is_ground_content
= false,
813 sounds
= rp_sounds
.node_sound_wood_defaults(),
818 minetest
.register_node(
821 description
= S("Frame"),
822 tiles
= {"default_frame.png"},
823 groups
= {wood
= 1, choppy
= 2, oddly_breakable_by_hand
= 1},
824 is_ground_content
= false,
825 sounds
= rp_sounds
.node_sound_wood_defaults(),
828 minetest
.register_node(
829 "rp_default:reinforced_frame",
831 description
= S("Reinforced Frame"),
832 tiles
= {"default_reinforced_frame.png"},
833 groups
= {wood
= 1, choppy
= 1},
834 is_ground_content
= false,
835 sounds
= rp_sounds
.node_sound_wood_defaults(),
839 minetest
.register_node(
840 "rp_default:reed_block",
842 description
= S("Reed Block"),
844 "rp_default_reed_block_top.png",
845 "rp_default_reed_block_top.png",
846 "rp_default_reed_block_side.png",
848 groups
= {snappy
=2, fall_damage_add_percent
=-10},
849 is_ground_content
= false,
850 sounds
= rp_sounds
.node_sound_leaves_defaults(),
852 minetest
.register_node(
853 "rp_default:dried_reed_block",
855 description
= S("Dried Reed Block"),
857 "rp_default_dried_reed_block_top.png",
858 "rp_default_dried_reed_block_top.png",
859 "rp_default_dried_reed_block_side.png",
861 groups
= {snappy
=2, fall_damage_add_percent
=-15},
862 is_ground_content
= false,
863 sounds
= rp_sounds
.node_sound_leaves_defaults(),
868 minetest
.register_node(
871 description
= S("Fern"),
872 drawtype
= "plantlike",
875 fixed
= {-0.5, -0.5, -0.5, 0.5, 0, 0.5}
878 tiles
= {"default_fern.png"},
879 inventory_image
= "default_fern_inventory.png",
880 wield_image
= "default_fern_inventory.png",
886 groups
= {snappy
= 2, dig_immediate
= 3, attached_node
= 1, fern
= 1, plant
= 1},
887 sounds
= rp_sounds
.node_sound_leaves_defaults(),
892 minetest
.register_node(
895 description
= S("Flower"),
896 _tt_help
= S("It looks beautiful"),
897 drawtype
= "nodebox",
900 fixed
= {-0.5, -0.5, -0.5, 0.5, -0.5 + (1 / 16), 0.5}
902 tiles
= {"default_flowers.png", "default_flowers.png^[transformFY", "blank.png"},
903 use_texture_alpha
= "clip",
904 inventory_image
= "default_flowers_inventory.png",
905 wield_image
= "default_flowers_inventory.png",
907 sunlight_propagates
= true,
911 groups
= {snappy
= 2, dig_immediate
= 3, attached_node
= 1, flower
= 1, plant
= 1},
912 sounds
= rp_sounds
.node_sound_leaves_defaults(),
917 minetest
.register_node(
918 "rp_default:swamp_grass",
920 description
= S("Swamp Grass Clump"),
921 drawtype
= "plantlike",
924 fixed
= {-0.5, -0.5, -0.5, 0.5, 0, 0.5}
927 tiles
= {"default_swamp_grass_clump.png"},
928 inventory_image
= "default_swamp_grass_clump_inventory.png",
929 wield_image
= "default_swamp_grass_clump_inventory.png",
935 groups
= {snappy
= 2, dig_immediate
= 3, attached_node
= 1, grass
= 1, swamp_grass
= 1, green_grass
= 1, plant
= 1},
936 sounds
= rp_sounds
.node_sound_leaves_defaults(),
939 minetest
.register_node(
940 "rp_default:dry_grass",
942 description
= S("Dry Grass Clump"),
943 drawtype
= "plantlike",
946 fixed
= {-0.5, -0.5, -0.5, 0.5, 0, 0.5}
949 tiles
= {"default_dry_grass_clump.png"},
950 inventory_image
= "default_dry_grass_clump_inventory.png",
951 wield_image
= "default_dry_grass_clump_inventory.png",
957 groups
= {snappy
= 2, dig_immediate
= 3, attached_node
= 1, grass
= 1, dry_grass
= 1, plant
= 1},
958 sounds
= rp_sounds
.node_sound_leaves_defaults(),
961 minetest
.register_node(
964 description
= S("Grass Clump"),
965 drawtype
= "plantlike",
968 fixed
= {-0.5, -0.5, -0.5, 0.5, 0, 0.5}
971 tiles
= {"default_grass_clump.png"},
972 inventory_image
= "default_grass_clump_inventory.png",
973 wield_image
= "default_grass_clump_inventory.png",
979 groups
= {snappy
= 2, dig_immediate
= 3, attached_node
= 1, grass
= 1, normal_grass
= 1, green_grass
= 1, plant
= 1},
980 sounds
= rp_sounds
.node_sound_leaves_defaults(),
983 minetest
.register_node(
984 "rp_default:tall_grass",
986 description
= S("Tall Grass Clump"),
987 drawtype
= "plantlike",
990 fixed
= {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}
993 tiles
= {"default_grass_clump_tall.png"},
994 inventory_image
= "default_grass_clump_tall_inventory.png",
995 wield_image
= "default_grass_clump_tall_inventory.png",
996 drop
= "rp_default:grass",
1000 buildable_to
= true,
1002 groups
= {snappy
= 2, dig_immediate
= 3, attached_node
= 1, grass
= 1, normal_grass
= 1, green_grass
= 1, plant
= 1},
1003 sounds
= rp_sounds
.node_sound_leaves_defaults(),
1004 -- Trim tall grass with shears
1005 _on_trim
= function(pos
, node
, player
, itemstack
)
1006 -- This turns it to a normal grass clump and drops one bonus grass clump
1007 minetest
.sound_play({name
= "default_shears_cut", gain
= 0.5}, {pos
= player
:get_pos(), max_hear_distance
= 8}, true)
1008 minetest
.set_node(pos
, {name
= "rp_default:grass"})
1010 item_drop
.drop_item(pos
, "rp_default:grass")
1013 if not minetest
.is_creative_enabled(player
:get_player_name()) then
1014 local def
= itemstack
:get_definition()
1015 itemstack
:add_wear(math
.ceil(65536 / def
.tool_capabilities
.groupcaps
.snappy
.uses
))
1023 minetest
.register_node(
1024 "rp_default:thistle",
1026 description
= S("Thistle"),
1027 _tt_help
= S("Careful, it stings!"),
1028 drawtype
= "plantlike",
1031 fixed
= {-6/16, -0.5, -6/16, 6/16, 0.5, 6/16}
1033 tiles
= {"default_thistle.png"},
1034 inventory_image
= "default_thistle_inventory.png",
1035 wield_image
= "default_thistle_inventory.png",
1036 paramtype
= "light",
1039 damage_per_second
= 1,
1040 groups
= {snappy
= 3, dig_immediate
= 3, falling_node
= 1, plant
= 1},
1041 sounds
= rp_sounds
.node_sound_leaves_defaults(),
1042 after_dig_node
= function(pos
, node
, metadata
, digger
)
1043 util
.dig_up(pos
, node
, digger
)
1045 on_flood
= function(pos
, oldnode
, newnode
)
1046 util
.dig_up(pos
, oldnode
)
1052 minetest
.register_node(
1055 description
= S("Apple"),
1058 _tt_food_satiation
= 10,
1059 drawtype
= "nodebox",
1060 tiles
= {"default_apple_top.png", "default_apple_bottom.png", "default_apple_side.png"},
1061 use_texture_alpha
= "clip",
1062 inventory_image
= "default_apple.png",
1063 wield_image
= "default_apple.png",
1064 paramtype
= "light",
1068 {-0.25, -0.25, -0.25, 0.25, 0.25, 0.25},
1069 {-1/8, 0.25, -1/8, 1/8, 0.5, 1/8},
1072 sunlight_propagates
= true,
1075 groups
= {snappy
= 3, handy
= 2, leafdecay
= 3, leafdecay_drop
= 1, food
= 2},
1076 on_use
= minetest
.item_eat({hp
= 2, sat
= 10}),
1077 sounds
= rp_sounds
.node_sound_defaults(),
1080 minetest
.register_node(
1083 description
= S("Clam"),
1086 _tt_food_satiation
= 40,
1087 drawtype
= "nodebox",
1088 tiles
= {"default_clam.png"},
1089 use_texture_alpha
= "clip",
1090 inventory_image
= "default_clam_inventory.png",
1091 wield_image
= "default_clam_inventory.png",
1092 paramtype
= "light",
1096 {-3/16, -0.5, -3/16, 3/16, -6/16, 3/16},
1099 sunlight_propagates
= true,
1105 {items
= {"rp_default:clam"}, rarity
= 1},
1106 {items
= {"rp_default:pearl"}, rarity
= 60},
1107 {items
= {"rp_default:pearl"}, rarity
= 20},
1110 groups
= {fleshy
= 3, oddly_breakable_by_hand
= 2, choppy
= 3, attached_node
= 1, food
= 2},
1111 on_use
= minetest
.item_eat({hp
= 4, sat
= 40}),
1112 sounds
= rp_sounds
.node_sound_defaults(),
1114 -- Place node as the 'nopearl' clam to make sure the player can't
1115 -- place the same clam over and over again to farm pearls.
1116 node_placement_prediction
= "rp_default:clam_nopearl",
1117 after_place_node
= function(pos
, placer
, itemstack
, pointed_thing
)
1118 minetest
.set_node(pos
, {name
="rp_default:clam_nopearl"})
1122 -- Same as clam, except it never drops pearls.
1123 -- To be used as node only, not for player inventory.
1124 minetest
.register_node(
1125 "rp_default:clam_nopearl",
1127 drawtype
= "nodebox",
1128 tiles
= {"default_clam.png"},
1129 use_texture_alpha
= "clip",
1130 inventory_image
= "default_clam_inventory.png^default_clam_nopearl_overlay.png",
1131 wield_image
= "default_clam_inventory.png",
1132 paramtype
= "light",
1136 {-3/16, -0.5, -3/16, 3/16, -6/16, 3/16},
1139 drop
= "rp_default:clam",
1140 sunlight_propagates
= true,
1143 groups
= {fleshy
= 3, oddly_breakable_by_hand
= 2, choppy
= 3, attached_node
= 1, not_in_creative_inventory
= 1},
1144 sounds
= rp_sounds
.node_sound_defaults(),
1150 minetest
.register_node(
1151 "rp_default:water_flowing",
1153 description
= S("Flowing Water"),
1154 drawtype
= "flowingliquid",
1155 tiles
= {"default_water.png"},
1158 name
= "default_water_animated.png",
1159 backface_culling
= false,
1160 animation
= {type = "vertical_frames", aspect_w
= 16, aspect_h
= 16, length
= 0.8}
1163 name
= "default_water_animated.png",
1164 backface_culling
= false,
1165 animation
= {type = "vertical_frames", aspect_w
= 16, aspect_h
= 16, length
= 0.8}
1168 use_texture_alpha
= "blend",
1170 paramtype
= "light",
1174 buildable_to
= true,
1176 is_ground_content
= true,
1177 liquidtype
= "flowing",
1178 liquid_alternative_flowing
= "rp_default:water_flowing",
1179 liquid_alternative_source
= "rp_default:water_source",
1180 liquid_viscosity
= default
.WATER_VISC
,
1181 post_effect_color
= {a
= 90, r
= 40, g
= 40, b
= 100},
1182 groups
= {water
= 1, flowing_water
= 1, liquid
= 1, not_in_creative_inventory
=1,},
1183 sounds
= rp_sounds
.node_sound_water_defaults(),
1186 minetest
.register_node(
1187 "rp_default:water_source",
1189 description
= S("Water Source"),
1190 drawtype
= "liquid",
1193 name
= "default_water.png",
1194 backface_culling
= false,
1197 name
= "default_water.png",
1198 backface_culling
= false,
1201 use_texture_alpha
= "blend",
1203 paramtype
= "light",
1207 buildable_to
= true,
1209 is_ground_content
= true,
1210 liquidtype
= "source",
1211 liquid_alternative_flowing
= "rp_default:water_flowing",
1212 liquid_alternative_source
= "rp_default:water_source",
1213 liquid_viscosity
= default
.WATER_VISC
,
1214 post_effect_color
= {a
=90, r
=40, g
=40, b
=100},
1215 groups
= {water
=1, liquid
=1},
1216 sounds
= rp_sounds
.node_sound_water_defaults(),
1219 minetest
.register_node(
1220 "rp_default:river_water_flowing",
1222 description
= S("Flowing River Water"),
1223 drawtype
= "flowingliquid",
1224 tiles
= {"default_river_water.png"},
1227 name
= "default_river_water_animated.png",
1228 backface_culling
= false,
1229 animation
= {type = "vertical_frames", aspect_w
= 16, aspect_h
= 16, length
= 0.8}
1232 name
= "default_river_water_animated.png",
1233 backface_culling
= false,
1234 animation
= {type = "vertical_frames", aspect_w
= 16, aspect_h
= 16, length
= 0.8}
1237 use_texture_alpha
= "blend",
1239 paramtype
= "light",
1243 buildable_to
= true,
1245 is_ground_content
= true,
1246 liquidtype
= "flowing",
1247 liquid_alternative_flowing
= "rp_default:river_water_flowing",
1248 liquid_alternative_source
= "rp_default:river_water_source",
1249 liquid_viscosity
= default
.RIVER_WATER_VISC
,
1250 liquid_renewable
= false,
1252 post_effect_color
= {a
=40, r
=40, g
=70, b
=100},
1253 groups
= {water
=1, flowing_water
= 1, river_water
= 1, liquid
=1, not_in_creative_inventory
=1,},
1254 sounds
= rp_sounds
.node_sound_water_defaults(),
1257 minetest
.register_node(
1258 "rp_default:river_water_source",
1260 description
= S("River Water Source"),
1261 drawtype
= "liquid",
1264 name
= "default_river_water.png",
1265 backface_culling
= false,
1268 name
= "default_river_water.png",
1269 backface_culling
= false,
1273 use_texture_alpha
= "blend",
1275 paramtype
= "light",
1279 buildable_to
= true,
1281 is_ground_content
= true,
1282 liquidtype
= "source",
1283 liquid_alternative_flowing
= "rp_default:river_water_flowing",
1284 liquid_alternative_source
= "rp_default:river_water_source",
1285 liquid_viscosity
= default
.RIVER_WATER_VISC
,
1286 liquid_renewable
= false,
1288 post_effect_color
= {a
=40, r
=40, g
=70, b
=100},
1289 groups
= {water
= 1, river_water
= 1, liquid
= 1},
1290 sounds
= rp_sounds
.node_sound_water_defaults(),
1293 minetest
.register_node(
1294 "rp_default:swamp_water_flowing",
1296 description
= S("Flowing Swamp Water"),
1297 drawtype
= "flowingliquid",
1298 tiles
= {"default_swamp_water.png"},
1301 name
= "default_swamp_water_animated.png",
1302 backface_culling
= false,
1303 animation
= {type = "vertical_frames", aspect_w
= 16, aspect_h
= 16, length
= 1.8}
1306 name
= "default_swamp_water_animated.png",
1307 backface_culling
= false,
1308 animation
= {type = "vertical_frames", aspect_w
= 16, aspect_h
= 16, length
= 1.8}
1311 use_texture_alpha
= "blend",
1313 paramtype
= "light",
1317 buildable_to
= true,
1319 is_ground_content
= true,
1320 liquidtype
= "flowing",
1321 liquid_alternative_flowing
= "rp_default:swamp_water_flowing",
1322 liquid_alternative_source
= "rp_default:swamp_water_source",
1323 liquid_viscosity
= default
.SWAMP_WATER_VISC
,
1324 liquid_renewable
= false,
1326 post_effect_color
= {a
=220, r
=50, g
=40, b
=70},
1327 groups
= {water
=1, flowing_water
= 1, swamp_water
= 1, liquid
=1, not_in_creative_inventory
=1,},
1328 sounds
= rp_sounds
.node_sound_water_defaults(),
1331 minetest
.register_node(
1332 "rp_default:swamp_water_source",
1334 description
= S("Swamp Water Source"),
1335 drawtype
= "liquid",
1338 name
= "default_swamp_water.png",
1339 backface_culling
= false,
1342 name
= "default_swamp_water.png",
1343 backface_culling
= false,
1346 use_texture_alpha
= "blend",
1348 paramtype
= "light",
1352 buildable_to
= true,
1354 is_ground_content
= true,
1355 liquidtype
= "source",
1356 liquid_alternative_flowing
= "rp_default:swamp_water_flowing",
1357 liquid_alternative_source
= "rp_default:swamp_water_source",
1358 liquid_viscosity
= default
.SWAMP_WATER_VISC
,
1359 liquid_renewable
= false,
1361 post_effect_color
= {a
=220, r
=50, g
=40, b
=70},
1362 groups
= {water
= 1, swamp_water
= 1, liquid
= 1},
1363 sounds
= rp_sounds
.node_sound_water_defaults(),