forked from oerkki/voxelands
Merge branch 'next' of gitlab.com:voxelands/voxelands into next
This commit is contained in:
commit
24e4b61d16
Binary file not shown.
After Width: | Height: | Size: 530 B |
Binary file not shown.
Before Width: | Height: | Size: 657 B After Width: | Height: | Size: 708 B |
1538
po/da/voxelands.po
1538
po/da/voxelands.po
File diff suppressed because it is too large
Load Diff
1573
po/de/voxelands.po
1573
po/de/voxelands.po
File diff suppressed because it is too large
Load Diff
1567
po/es/voxelands.po
1567
po/es/voxelands.po
File diff suppressed because it is too large
Load Diff
1565
po/fr/voxelands.po
1565
po/fr/voxelands.po
File diff suppressed because it is too large
Load Diff
1566
po/it/voxelands.po
1566
po/it/voxelands.po
File diff suppressed because it is too large
Load Diff
1561
po/ja/voxelands.po
1561
po/ja/voxelands.po
File diff suppressed because it is too large
Load Diff
1582
po/jbo/voxelands.po
1582
po/jbo/voxelands.po
File diff suppressed because it is too large
Load Diff
1573
po/nl/voxelands.po
1573
po/nl/voxelands.po
File diff suppressed because it is too large
Load Diff
1556
po/pl/voxelands.po
1556
po/pl/voxelands.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1571
po/ru/voxelands.po
1571
po/ru/voxelands.po
File diff suppressed because it is too large
Load Diff
1563
po/vi/voxelands.po
1563
po/vi/voxelands.po
File diff suppressed because it is too large
Load Diff
1596
po/voxelands.pot
1596
po/voxelands.pot
File diff suppressed because it is too large
Load Diff
|
@ -206,14 +206,27 @@ void content_mapnode_init(bool repeat)
|
|||
f->draw_type = CDT_CUBELIKE;
|
||||
f->is_ground_content = true;
|
||||
f->often_contains_mineral = true;
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_LIMESTONE)+" 1";
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||
f->cook_result = std::string("MaterialItem2 ")+itos(CONTENT_MARBLE)+" 1";
|
||||
f->type = CMT_STONE;
|
||||
f->hardness = 0.6;
|
||||
if (invisible_stone)
|
||||
f->solidness = 0; // For debugging, hides regular stone
|
||||
lists::add("creative",i);
|
||||
lists::add("cooking",i);
|
||||
lists::add("decrafting",i);
|
||||
|
||||
i = CONTENT_MARBLE;
|
||||
f = &content_features(i);
|
||||
f->description = wgettext("Marble");
|
||||
f->setAllTextures("marble.png");
|
||||
f->setInventoryTextureCube("marble.png", "marble.png", "marble.png");
|
||||
f->draw_type = CDT_CUBELIKE;
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||
f->type = CMT_STONE;
|
||||
f->hardness = 1.0;
|
||||
lists::add("creative",i);
|
||||
|
||||
i = CONTENT_ROCK;
|
||||
f = &content_features(i);
|
||||
f->description = wgettext("Rock");
|
||||
|
|
|
@ -57,7 +57,8 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version);
|
|||
#define CONTENT_TABLE 0x008
|
||||
#define CONTENT_WATERSOURCE 0x009
|
||||
#define CONTENT_FORGE_FIRE 0x00A
|
||||
// FREE 0x00B-0x00C
|
||||
#define CONTENT_MARBLE 0x00B
|
||||
// FREE 0x00C
|
||||
#define CONTENT_SAFE 0x00D
|
||||
#define CONTENT_SIGN_WALL 0x00E
|
||||
#define CONTENT_CHEST 0x00F
|
||||
|
@ -95,7 +96,12 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version);
|
|||
#define CONTENT_LIMESTONE_WALL 0x02C
|
||||
// FREE 0x02D-0x07C
|
||||
// 0x7D-0x7F reserved values, air, ignore, etc
|
||||
// FREE 0x80-0x7F6
|
||||
#define CONTENT_CHAIR_CENTRE 0x080
|
||||
#define CONTENT_CHAIR_ENDL 0x081
|
||||
#define CONTENT_CHAIR_ENDR 0x082
|
||||
#define CONTENT_CHAIR_INNER 0x083
|
||||
#define CONTENT_CHAIR_OUTER 0x084
|
||||
// FREE 0x085-0x7F6
|
||||
#define CONTENT_LEAVES_SNOWY 0x7F7
|
||||
#define CONTENT_TRIMMED_LEAVES_AUTUMN 0x7F8
|
||||
#define CONTENT_TRIMMED_LEAVES_WINTER 0x7F9
|
||||
|
|
|
@ -160,6 +160,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDL;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_centre(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton.png", "cotton.png", "cotton.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -179,6 +180,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDR;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_left(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton.png", "cotton.png", "cotton.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -198,6 +200,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_INNER;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_right(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton.png", "cotton.png", "cotton.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -217,6 +220,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_OUTER;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_inner(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton.png", "cotton.png", "cotton.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -236,6 +240,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CHAIR;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_outer(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton.png", "cotton.png", "cotton.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -255,6 +260,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CENTRE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_chair(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton.png", "cotton.png", "cotton.png");
|
||||
crafting::setVRecipe(CONTENT_COTTON,CONTENT_COUCH_CHAIR,2);
|
||||
|
@ -284,6 +290,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDL_BLUE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_centre(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_blue.png", "cotton_blue.png", "cotton_blue.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -303,6 +310,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDR_BLUE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_left(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_blue.png", "cotton_blue.png", "cotton_blue.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -322,6 +330,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_INNER_BLUE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_right(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_blue.png", "cotton_blue.png", "cotton_blue.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -341,6 +350,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_OUTER_BLUE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_inner(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_blue.png", "cotton_blue.png", "cotton_blue.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -360,6 +370,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CHAIR_BLUE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_outer(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_blue.png", "cotton_blue.png", "cotton_blue.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -379,6 +390,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CENTRE_BLUE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_chair(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_blue.png", "cotton_blue.png", "cotton_blue.png");
|
||||
crafting::setVRecipe(CONTENT_COTTON_BLUE,CONTENT_COUCH_CHAIR_BLUE,2);
|
||||
|
@ -402,6 +414,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDL_GREEN;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_centre(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_green.png", "cotton_green.png", "cotton_green.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -421,6 +434,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDR_GREEN;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_left(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_green.png", "cotton_green.png", "cotton_green.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -440,6 +454,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_INNER_GREEN;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_right(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_green.png", "cotton_green.png", "cotton_green.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -459,6 +474,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_OUTER_GREEN;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_inner(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_green.png", "cotton_green.png", "cotton_green.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -478,6 +494,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CHAIR_GREEN;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_outer(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_green.png", "cotton_green.png", "cotton_green.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -497,6 +514,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CENTRE_GREEN;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_chair(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_green.png", "cotton_green.png", "cotton_green.png");
|
||||
crafting::setVRecipe(CONTENT_COTTON_GREEN,CONTENT_COUCH_CHAIR_GREEN,2);
|
||||
|
@ -520,6 +538,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDL_ORANGE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_centre(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_orange.png", "cotton_orange.png", "cotton_orange.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -539,6 +558,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDR_ORANGE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_left(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_orange.png", "cotton_orange.png", "cotton_orange.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -558,6 +578,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_INNER_ORANGE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_right(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_orange.png", "cotton_orange.png", "cotton_orange.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -577,6 +598,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_OUTER_ORANGE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_inner(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_orange.png", "cotton_orange.png", "cotton_orange.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -596,6 +618,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CHAIR_ORANGE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_outer(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_orange.png", "cotton_orange.png", "cotton_orange.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -615,6 +638,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CENTRE_ORANGE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_chair(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_orange.png", "cotton_orange.png", "cotton_orange.png");
|
||||
crafting::setVRecipe(CONTENT_COTTON_ORANGE,CONTENT_COUCH_CHAIR_ORANGE,2);
|
||||
|
@ -638,6 +662,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDL_PURPLE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_centre(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_purple.png", "cotton_purple.png", "cotton_purple.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -657,6 +682,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDR_PURPLE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_left(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_purple.png", "cotton_purple.png", "cotton_purple.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -676,6 +702,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_INNER_PURPLE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_right(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_purple.png", "cotton_purple.png", "cotton_purple.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -695,6 +722,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_OUTER_PURPLE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_inner(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_purple.png", "cotton_purple.png", "cotton_purple.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -714,6 +742,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CHAIR_PURPLE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_outer(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_purple.png", "cotton_purple.png", "cotton_purple.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -733,6 +762,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CENTRE_PURPLE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_chair(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_purple.png", "cotton_purple.png", "cotton_purple.png");
|
||||
crafting::setVRecipe(CONTENT_COTTON_PURPLE,CONTENT_COUCH_CHAIR_PURPLE,2);
|
||||
|
@ -756,6 +786,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDL_RED;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_centre(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_red.png", "cotton_red.png", "cotton_red.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -775,6 +806,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDR_RED;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_left(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_red.png", "cotton_red.png", "cotton_red.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -794,6 +826,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_INNER_RED;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_right(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_red.png", "cotton_red.png", "cotton_red.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -813,6 +846,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_OUTER_RED;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_inner(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_red.png", "cotton_red.png", "cotton_red.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -832,6 +866,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CHAIR_RED;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_outer(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_red.png", "cotton_red.png", "cotton_red.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -851,6 +886,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CENTRE_RED;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_chair(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_red.png", "cotton_red.png", "cotton_red.png");
|
||||
crafting::setVRecipe(CONTENT_COTTON_RED,CONTENT_COUCH_CHAIR_RED,2);
|
||||
|
@ -874,6 +910,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDL_YELLOW;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_centre(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_yellow.png", "cotton_yellow.png", "cotton_yellow.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -893,6 +930,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDR_YELLOW;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_left(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_yellow.png", "cotton_yellow.png", "cotton_yellow.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -912,6 +950,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_INNER_YELLOW;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_right(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_yellow.png", "cotton_yellow.png", "cotton_yellow.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -931,6 +970,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_OUTER_YELLOW;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_inner(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_yellow.png", "cotton_yellow.png", "cotton_yellow.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -950,6 +990,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CHAIR_YELLOW;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_outer(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_yellow.png", "cotton_yellow.png", "cotton_yellow.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -969,6 +1010,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CENTRE_YELLOW;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_chair(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_yellow.png", "cotton_yellow.png", "cotton_yellow.png");
|
||||
crafting::setVRecipe(CONTENT_COTTON_YELLOW,CONTENT_COUCH_CHAIR_YELLOW,2);
|
||||
|
@ -992,6 +1034,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDL_BLACK;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_centre(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_black.png", "cotton_black.png", "cotton_black.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -1011,6 +1054,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_ENDR_BLACK;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_left(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_black.png", "cotton_black.png", "cotton_black.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -1030,6 +1074,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_INNER_BLACK;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_right(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_black.png", "cotton_black.png", "cotton_black.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -1049,6 +1094,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_OUTER_BLACK;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_inner(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_black.png", "cotton_black.png", "cotton_black.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -1068,6 +1114,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CHAIR_BLACK;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_outer(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_black.png", "cotton_black.png", "cotton_black.png");
|
||||
f->suffocation_per_second = 0;
|
||||
|
@ -1087,6 +1134,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->type = CMT_DIRT;
|
||||
f->hardness = 1.0;
|
||||
f->onpunch_replace_node = CONTENT_COUCH_CENTRE_BLACK;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
content_nodebox_couch_chair(f);
|
||||
f->setInventoryTextureNodeBox(i,"cotton_black.png", "cotton_black.png", "cotton_black.png");
|
||||
crafting::setVRecipe(CONTENT_COTTON_BLACK,CONTENT_COUCH_CHAIR_BLACK,2);
|
||||
|
@ -1110,24 +1158,9 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
||||
f->fuel_time = 30/32;
|
||||
f->setNodeBox(NodeBox(
|
||||
v3s16(0,1,0),v3f(0,0,0),-0.3*BS, -0.5*BS, 0.20*BS, -0.2*BS, 0.5*BS, 0.30*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
v3s16(0,1,0),v3f(0,0,0),0.2*BS, -0.5*BS, 0.20*BS, 0.3*BS, 0.5*BS, 0.30*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
v3s16(0,1,0),v3f(0,0,0),-0.3*BS, -0.5*BS, -0.30*BS, -0.2*BS, -0.1*BS, -0.20*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
v3s16(0,1,0),v3f(0,0,0),0.2*BS, -0.5*BS, -0.30*BS, 0.3*BS, -0.1*BS, -0.20*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
v3s16(0,1,0),v3f(0,0,0),-0.3*BS, -0.1*BS, -0.30*BS, 0.3*BS, 0.0*BS, 0.20*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
v3s16(0,1,0),v3f(0,0,0),-0.2*BS, 0.1*BS, 0.25*BS, 0.2*BS, 0.4*BS, 0.26*BS
|
||||
));
|
||||
content_nodebox_chair(f);
|
||||
f->onpunch_replace_node = CONTENT_CHAIR_CENTRE;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
f->setInventoryTextureNodeBox(i,"pine.png", "pine.png", "pine.png");
|
||||
f->type = CMT_WOOD;
|
||||
f->hardness = 0.25;
|
||||
|
@ -1144,6 +1177,126 @@ void content_mapnode_furniture(bool repeat)
|
|||
lists::add("creative",i);
|
||||
f->suffocation_per_second = 0;
|
||||
|
||||
i = CONTENT_CHAIR_CENTRE;
|
||||
f = &content_features(i);
|
||||
f->description = wgettext("Chair");
|
||||
f->setAllTextures("pine.png");
|
||||
f->param_type = CPT_LIGHT;
|
||||
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||
f->draw_type = CDT_NODEBOX;
|
||||
f->light_propagates = true;
|
||||
f->air_equivalent = true;
|
||||
f->sunlight_propagates = true;
|
||||
f->rotate_tile_with_nodebox = true;
|
||||
f->solidness = 0; // drawn separately, makes no faces
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CHAIR)+" 1";
|
||||
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
||||
f->fuel_time = 30/32;
|
||||
content_nodebox_chair_centre(f);
|
||||
f->onpunch_replace_node = CONTENT_CHAIR_ENDL;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
f->setInventoryTextureNodeBox(i,"pine.png", "pine.png", "pine.png");
|
||||
f->type = CMT_WOOD;
|
||||
f->hardness = 0.25;
|
||||
f->pressure_type = CST_CRUSHABLE;
|
||||
f->suffocation_per_second = 0;
|
||||
|
||||
i = CONTENT_CHAIR_ENDL;
|
||||
f = &content_features(i);
|
||||
f->description = wgettext("Chair");
|
||||
f->setAllTextures("pine.png");
|
||||
f->param_type = CPT_LIGHT;
|
||||
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||
f->draw_type = CDT_NODEBOX;
|
||||
f->light_propagates = true;
|
||||
f->air_equivalent = true;
|
||||
f->sunlight_propagates = true;
|
||||
f->rotate_tile_with_nodebox = true;
|
||||
f->solidness = 0; // drawn separately, makes no faces
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CHAIR)+" 1";
|
||||
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
||||
f->fuel_time = 30/32;
|
||||
content_nodebox_chair_endl(f);
|
||||
f->onpunch_replace_node = CONTENT_CHAIR_ENDR;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
f->setInventoryTextureNodeBox(i,"pine.png", "pine.png", "pine.png");
|
||||
f->type = CMT_WOOD;
|
||||
f->hardness = 0.25;
|
||||
f->pressure_type = CST_CRUSHABLE;
|
||||
f->suffocation_per_second = 0;
|
||||
|
||||
i = CONTENT_CHAIR_ENDR;
|
||||
f = &content_features(i);
|
||||
f->description = wgettext("Chair");
|
||||
f->setAllTextures("pine.png");
|
||||
f->param_type = CPT_LIGHT;
|
||||
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||
f->draw_type = CDT_NODEBOX;
|
||||
f->light_propagates = true;
|
||||
f->air_equivalent = true;
|
||||
f->sunlight_propagates = true;
|
||||
f->rotate_tile_with_nodebox = true;
|
||||
f->solidness = 0; // drawn separately, makes no faces
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CHAIR)+" 1";
|
||||
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
||||
f->fuel_time = 30/32;
|
||||
content_nodebox_chair_endr(f);
|
||||
f->onpunch_replace_node = CONTENT_CHAIR_INNER;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
f->setInventoryTextureNodeBox(i,"pine.png", "pine.png", "pine.png");
|
||||
f->type = CMT_WOOD;
|
||||
f->hardness = 0.25;
|
||||
f->pressure_type = CST_CRUSHABLE;
|
||||
f->suffocation_per_second = 0;
|
||||
|
||||
i = CONTENT_CHAIR_INNER;
|
||||
f = &content_features(i);
|
||||
f->description = wgettext("Chair");
|
||||
f->setAllTextures("pine.png");
|
||||
f->param_type = CPT_LIGHT;
|
||||
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||
f->draw_type = CDT_NODEBOX;
|
||||
f->light_propagates = true;
|
||||
f->air_equivalent = true;
|
||||
f->sunlight_propagates = true;
|
||||
f->rotate_tile_with_nodebox = true;
|
||||
f->solidness = 0; // drawn separately, makes no faces
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CHAIR)+" 1";
|
||||
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
||||
f->fuel_time = 30/32;
|
||||
content_nodebox_chair_inner(f);
|
||||
f->onpunch_replace_node = CONTENT_CHAIR_OUTER;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
f->setInventoryTextureNodeBox(i,"pine.png", "pine.png", "pine.png");
|
||||
f->type = CMT_WOOD;
|
||||
f->hardness = 0.25;
|
||||
f->pressure_type = CST_CRUSHABLE;
|
||||
f->suffocation_per_second = 0;
|
||||
|
||||
i = CONTENT_CHAIR_OUTER;
|
||||
f = &content_features(i);
|
||||
f->description = wgettext("Chair");
|
||||
f->setAllTextures("pine.png");
|
||||
f->param_type = CPT_LIGHT;
|
||||
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||
f->draw_type = CDT_NODEBOX;
|
||||
f->light_propagates = true;
|
||||
f->air_equivalent = true;
|
||||
f->sunlight_propagates = true;
|
||||
f->rotate_tile_with_nodebox = true;
|
||||
f->solidness = 0; // drawn separately, makes no faces
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CHAIR)+" 1";
|
||||
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
||||
f->fuel_time = 30/32;
|
||||
content_nodebox_chair_outer(f);
|
||||
f->onpunch_replace_node = CONTENT_CHAIR;
|
||||
f->onpunch_replace_respects_borderstone = true;
|
||||
f->setInventoryTextureNodeBox(i,"pine.png", "pine.png", "pine.png");
|
||||
f->type = CMT_WOOD;
|
||||
f->hardness = 0.25;
|
||||
f->pressure_type = CST_CRUSHABLE;
|
||||
f->suffocation_per_second = 0;
|
||||
|
||||
i = CONTENT_TABLE;
|
||||
f = &content_features(i);
|
||||
f->description = wgettext("Table");
|
||||
|
@ -1158,33 +1311,7 @@ void content_mapnode_furniture(bool repeat)
|
|||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
||||
f->fuel_time = 30/16;
|
||||
f->setNodeBox(core::aabbox3d<f32>(
|
||||
-0.4*BS, -0.5*BS, -0.4*BS, -0.3*BS, 0.4*BS, -0.3*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
0.3*BS, -0.5*BS, -0.4*BS, 0.4*BS, 0.4*BS, -0.3*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
-0.4*BS, -0.5*BS, 0.3*BS, -0.3*BS, 0.4*BS, 0.4*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
0.3*BS, -0.5*BS, 0.3*BS, 0.4*BS, 0.4*BS, 0.4*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
-0.5*BS, 0.4*BS, -0.5*BS, 0.5*BS, 0.5*BS, 0.5*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
-0.4*BS, -0.2*BS, -0.3*BS, -0.3*BS, -0.1*BS, 0.3*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
0.3*BS, -0.2*BS, -0.4*BS, 0.4*BS, -0.1*BS, 0.3*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
-0.3*BS, -0.2*BS, -0.4*BS, 0.4*BS, -0.1*BS, -0.3*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
-0.3*BS, -0.2*BS, 0.3*BS, 0.3*BS, -0.1*BS, 0.4*BS
|
||||
));
|
||||
content_nodebox_table(f);
|
||||
f->setInventoryTextureNodeBox(i,"pine.png", "pine.png", "pine.png");
|
||||
f->type = CMT_WOOD;
|
||||
f->hardness = 0.25;
|
||||
|
|
|
@ -1623,3 +1623,220 @@ void content_nodebox_rock(ContentFeatures *f)
|
|||
-0.0625*BS,-0.5*BS,-0.25*BS,0.1875*BS,-0.375*BS,-0.125*BS
|
||||
));
|
||||
}
|
||||
|
||||
void content_nodebox_chair(ContentFeatures *f)
|
||||
{
|
||||
f->setNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.5*BS,0.21875*BS,-0.21875*BS,0.5*BS,0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.21875*BS,-0.5*BS,0.21875*BS,0.3125*BS,0.5*BS,0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.5*BS,-0.3125*BS,-0.21875*BS,-0.03125*BS,-0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.21875*BS,-0.5*BS,-0.3125*BS,0.3125*BS,-0.03125*BS,-0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.03125*BS,-0.3125*BS,0.3125*BS,0.03125*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.21875*BS,0.1875*BS,0.25*BS,0.21875*BS,0.4375*BS,0.28125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.28125*BS,-0.40625*BS,-0.21875*BS,-0.25*BS,-0.375*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.25*BS,-0.40625*BS,-0.21875*BS,0.28125*BS,-0.375*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.21875*BS,-0.40625*BS,0.25*BS,0.21875*BS,-0.375*BS,0.28125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.21875*BS,-0.40625*BS,-0.28125*BS,0.21875*BS,-0.375*BS,-0.25*BS
|
||||
));
|
||||
}
|
||||
void content_nodebox_chair_centre(ContentFeatures *f)
|
||||
{
|
||||
f->setNodeBox(NodeBox(
|
||||
-0.03125*BS,-0.5*BS,0.21875*BS,0.0625*BS,0.5*BS,0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.03125*BS,-0.5*BS,-0.3125*BS,0.0625*BS,-0.03125*BS,-0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.5*BS,-0.03125*BS,-0.3125*BS,0.5*BS,0.03125*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.5*BS,0.1875*BS,0.25*BS,0.5*BS,0.4375*BS,0.28125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.*BS,-0.40625*BS,-0.21875*BS,0.03125*BS,-0.375*BS,0.21875*BS
|
||||
));
|
||||
|
||||
}
|
||||
void content_nodebox_chair_endl(ContentFeatures *f)
|
||||
{
|
||||
f->setNodeBox(NodeBox(
|
||||
0.21875*BS,-0.5*BS,0.21875*BS,0.3125*BS,0.5*BS,0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.21875*BS,-0.5*BS,-0.3125*BS,0.3125*BS,-0.03125*BS,-0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.5*BS,-0.03125*BS,-0.3125*BS,0.3125*BS,0.03125*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.5*BS,0.1875*BS,0.25*BS,0.21875*BS,0.4375*BS,0.28125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.25*BS,-0.40625*BS,-0.21875*BS,0.28125*BS,-0.375*BS,0.21875*BS
|
||||
));
|
||||
|
||||
}
|
||||
void content_nodebox_chair_endr(ContentFeatures *f)
|
||||
{
|
||||
f->setNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.5*BS,0.21875*BS,-0.21875*BS,0.5*BS,0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.5*BS,-0.3125*BS,-0.21875*BS,-0.03125*BS,-0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.03125*BS,-0.3125*BS,0.5*BS,0.03125*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.21875*BS,0.1875*BS,0.25*BS,0.5*BS,0.4375*BS,0.28125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.28125*BS,-0.40625*BS,-0.21875*BS,-0.25*BS,-0.375*BS,0.21875*BS
|
||||
));
|
||||
}
|
||||
void content_nodebox_chair_inner(ContentFeatures *f)
|
||||
{
|
||||
f->setNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.5*BS,0.21875*BS,-0.21875*BS,0.5*BS,0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.21875*BS,-0.5*BS,0.21875*BS,0.3125*BS,0.5*BS,0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.5*BS,-0.3125*BS,-0.21875*BS,-0.03125*BS,-0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.21875*BS,-0.5*BS,-0.3125*BS,0.3125*BS,0.5*BS,-0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.5*BS,-0.03125*BS,-0.3125*BS,0.21875*BS,0.03125*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.21875*BS,0.1875*BS,0.25*BS,0.21875*BS,0.4375*BS,0.28125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.28125*BS,-0.40625*BS,-0.21875*BS,-0.25*BS,-0.375*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.25*BS,-0.40625*BS,-0.21875*BS,0.28125*BS,-0.375*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.21875*BS,-0.40625*BS,0.25*BS,0.21875*BS,-0.375*BS,0.28125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.21875*BS,-0.40625*BS,-0.28125*BS,0.21875*BS,-0.375*BS,-0.25*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.03125*BS,-0.5*BS,0.21875*BS,0.03125*BS,-0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.25*BS,0.1875*BS,-0.21875*BS,0.28125*BS,0.4375*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.25*BS,0.1875*BS,-0.5*BS,0.28125*BS,0.4375*BS,-0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.5*BS,0.1875*BS,0.25*BS,-0.3125*BS,0.4375*BS,0.28125*BS
|
||||
));
|
||||
}
|
||||
void content_nodebox_chair_outer(ContentFeatures *f)
|
||||
{
|
||||
f->setNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.5*BS,0.21875*BS,-0.21875*BS,-0.03125*BS,0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.21875*BS,-0.5*BS,0.21875*BS,0.3125*BS,0.5*BS,0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.5*BS,-0.3125*BS,-0.21875*BS,-0.03125*BS,-0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.21875*BS,-0.5*BS,-0.3125*BS,0.3125*BS,-0.03125*BS,-0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.03125*BS,-0.3125*BS,0.5*BS,0.03125*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.3125*BS,0.1875*BS,0.25*BS,0.5*BS,0.4375*BS,0.28125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.28125*BS,-0.40625*BS,-0.21875*BS,-0.25*BS,-0.375*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.25*BS,-0.40625*BS,-0.21875*BS,0.28125*BS,-0.375*BS,0.21875*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.21875*BS,-0.40625*BS,0.25*BS,0.21875*BS,-0.375*BS,0.28125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.21875*BS,-0.40625*BS,-0.28125*BS,0.21875*BS,-0.375*BS,-0.25*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.03125*BS,0.21875*BS,0.21875*BS,0.03125*BS,0.5*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.25*BS,0.1875*BS,0.3125*BS,0.28125*BS,0.4375*BS,0.5*BS
|
||||
));
|
||||
}
|
||||
|
||||
void content_nodebox_table(ContentFeatures *f)
|
||||
{
|
||||
f->setNodeBox(NodeBox(
|
||||
-0.5*BS,0.4375*BS,-0.5*BS,0.5*BS,0.5*BS,0.5*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.34375*BS,-0.5*BS,-0.34375*BS,-0.25*BS,0.4375*BS,-0.25*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.34375*BS,-0.5*BS,0.25*BS,-0.25*BS,0.4375*BS,0.34375*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.25*BS,-0.5*BS,0.25*BS,0.34375*BS,0.4375*BS,0.34375*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.25*BS,-0.5*BS,-0.34375*BS,0.34375*BS,0.4375*BS,-0.25*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.3125*BS,0.34375*BS,-0.25*BS,-0.28125*BS,0.4375*BS,0.25*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.28125*BS,0.34375*BS,-0.25*BS,0.3125*BS,0.4375*BS,0.25*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.25*BS,0.34375*BS,0.28125*BS,0.25*BS,0.4375*BS,0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.25*BS,0.34375*BS,-0.3125*BS,0.25*BS,0.4375*BS,-0.28125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.3125*BS,-0.375*BS,-0.25*BS,-0.28125*BS,-0.28125*BS,0.25*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
0.28125*BS,-0.375*BS,-0.25*BS,0.3125*BS,-0.28125*BS,0.25*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.25*BS,-0.375*BS,0.28125*BS,0.25*BS,-0.28125*BS,0.3125*BS
|
||||
));
|
||||
f->addNodeBox(NodeBox(
|
||||
-0.25*BS,-0.375*BS,-0.3125*BS,0.25*BS,-0.28125*BS,-0.28125*BS
|
||||
));
|
||||
}
|
||||
|
|
|
@ -72,5 +72,12 @@ void content_nodebox_furnace(ContentFeatures *f);
|
|||
void content_nodebox_lockedfurnace(ContentFeatures *f);
|
||||
void content_nodebox_incinerator(ContentFeatures *f);
|
||||
void content_nodebox_rock(ContentFeatures *f);
|
||||
void content_nodebox_chair(ContentFeatures *f);
|
||||
void content_nodebox_chair_centre(ContentFeatures *f);
|
||||
void content_nodebox_chair_endl(ContentFeatures *f);
|
||||
void content_nodebox_chair_endr(ContentFeatures *f);
|
||||
void content_nodebox_chair_inner(ContentFeatures *f);
|
||||
void content_nodebox_chair_outer(ContentFeatures *f);
|
||||
void content_nodebox_table(ContentFeatures *f);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -175,12 +175,18 @@ void ItemSAO::step(float dtime, bool send_recommended)
|
|||
|| m_content == CONTENT_JUNGLELEAVES
|
||||
|| m_content == CONTENT_APPLE_LEAVES
|
||||
|| m_content == CONTENT_CONIFER_LEAVES
|
||||
|| m_content == CONTENT_LEAVES_AUTUMN
|
||||
|| m_content == CONTENT_LEAVES_WINTER
|
||||
|| m_content == CONTENT_LEAVES_SNOWY
|
||||
)
|
||||
) { // leaves falling on grass become either saplings or wild grass
|
||||
if (
|
||||
un.getContent() == CONTENT_MUD
|
||||
|| un.getContent() == CONTENT_GRASS
|
||||
|| un.getContent() == CONTENT_GRASS_FOOTSTEPS
|
||||
|| un.getContent() == CONTENT_GRASS_AUTUMN
|
||||
|| un.getContent() == CONTENT_GRASS_FOOTSTEPS_AUTUMN
|
||||
|| un.getContent() == CONTENT_MUDSNOW
|
||||
) {
|
||||
content_t c = CONTENT_SAPLING;
|
||||
std::vector<content_t> search;
|
||||
|
|
|
@ -1046,6 +1046,7 @@ bool GUIMainMenu::OnEvent(const SEvent& event)
|
|||
case GUI_ID_JOIN_GAME_BUTTON: // Start game
|
||||
acceptInput();
|
||||
m_gamecallback->startGame();
|
||||
quitMenu();
|
||||
return true;
|
||||
case GUI_ID_CHARACTER_CREATOR:
|
||||
{
|
||||
|
|
|
@ -534,10 +534,11 @@ std::string http_request(char* host, char* url, char* post, int port)
|
|||
HTTPResponseHeaders headers;
|
||||
int s;
|
||||
char buff[2048];
|
||||
std::string h;
|
||||
|
||||
addr.setPort(port);
|
||||
if (!host || !host[0]) {
|
||||
std::string h = g_settings->get("api_server");
|
||||
h = g_settings->get("api_server");
|
||||
if (h == "")
|
||||
return "";
|
||||
host = (char*)h.c_str();
|
||||
|
|
|
@ -1312,6 +1312,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
if (character_creator)
|
||||
break;
|
||||
g_gamecallback->startgame_requested = false;
|
||||
|
||||
// Delete map if requested
|
||||
if (menudata.delete_map) {
|
||||
|
|
|
@ -395,6 +395,8 @@ struct ContentFeatures
|
|||
std::string ondig_special_tool_append;
|
||||
// when punched, this node will replace the punched node
|
||||
content_t onpunch_replace_node;
|
||||
// whether onpunch replace node works within borderstone
|
||||
bool onpunch_replace_respects_borderstone;
|
||||
|
||||
// when placed against a wall, this node should be placed instead
|
||||
content_t wallmount_alternate_node;
|
||||
|
@ -554,6 +556,7 @@ struct ContentFeatures
|
|||
ondig_special_tool = 0;
|
||||
ondig_special_tool_append = "";
|
||||
onpunch_replace_node = CONTENT_IGNORE;
|
||||
onpunch_replace_respects_borderstone = false;
|
||||
wallmount_alternate_node = CONTENT_IGNORE;
|
||||
floormount_alternate_node = CONTENT_IGNORE;
|
||||
roofmount_alternate_node = CONTENT_IGNORE;
|
||||
|
|
|
@ -2587,6 +2587,8 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
|
|||
selected_node_features.onpunch_replace_node != CONTENT_IGNORE
|
||||
&& !wielded_tool_features.has_rotate_effect
|
||||
) {
|
||||
if (selected_node_features.onpunch_replace_respects_borderstone && borderstone_locked)
|
||||
return;
|
||||
core::list<u16> far_players;
|
||||
core::map<v3s16, MapBlock*> modified_blocks;
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
bool parseConfigLine(const std::string &line)
|
||||
virtual bool parseConfigLine(const std::string &line)
|
||||
{
|
||||
JMutexAutoLock lock(m_mutex);
|
||||
|
||||
|
@ -674,6 +674,38 @@ public:
|
|||
// you'll find this in defaultsettings.cpp
|
||||
void setGameDefaults(std::string mode);
|
||||
|
||||
virtual bool parseConfigLine(const std::string &line)
|
||||
{
|
||||
std::string name;
|
||||
std::string value;
|
||||
{
|
||||
JMutexAutoLock lock(m_mutex);
|
||||
|
||||
std::string trimmedline = trim(line);
|
||||
|
||||
// Ignore comments
|
||||
if (trimmedline[0] == '#')
|
||||
return true;
|
||||
|
||||
Strfnd sf(trimmedline);
|
||||
|
||||
name = sf.next("=");
|
||||
name = trim(name);
|
||||
|
||||
if (name == "")
|
||||
return true;
|
||||
|
||||
value = sf.next("\n");
|
||||
value = trim(value);
|
||||
|
||||
m_settings[name] = value;
|
||||
}
|
||||
if (name == "game_mode")
|
||||
setGameDefaults(value);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual void set(std::string name, std::string value)
|
||||
{
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue