remove finished wood, add conifer tree wood, pine, and pine planks, change furniture crafting to use pine
Before Width: | Height: | Size: 443 B After Width: | Height: | Size: 765 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 810 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 788 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 764 B |
Before Width: | Height: | Size: 440 B After Width: | Height: | Size: 758 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 792 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 760 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 711 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 808 B |
Before Width: | Height: | Size: 432 B After Width: | Height: | Size: 764 B |
Before Width: | Height: | Size: 459 B After Width: | Height: | Size: 768 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 830 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 815 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 782 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 832 B |
Before Width: | Height: | Size: 456 B After Width: | Height: | Size: 768 B |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 851 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 842 B |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 844 B |
Before Width: | Height: | Size: 433 B After Width: | Height: | Size: 752 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 804 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 771 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 725 B |
Before Width: | Height: | Size: 452 B After Width: | Height: | Size: 774 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 840 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 835 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 815 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 819 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 839 B |
Before Width: | Height: | Size: 420 B After Width: | Height: | Size: 757 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 777 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 728 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 670 B |
Before Width: | Height: | Size: 144 B After Width: | Height: | Size: 195 B |
Before Width: | Height: | Size: 121 B After Width: | Height: | Size: 243 B |
After Width: | Height: | Size: 743 B |
After Width: | Height: | Size: 283 B |
Before Width: | Height: | Size: 293 B |
After Width: | Height: | Size: 736 B |
After Width: | Height: | Size: 812 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 661 B |
Before Width: | Height: | Size: 177 B After Width: | Height: | Size: 317 B |
|
@ -395,17 +395,11 @@ void set3Any3Recipe(u16 input1, u16 input2, u16 input3, u16 result)
|
|||
void setBedRecipe(u16 input, u16 result)
|
||||
{
|
||||
u16 r[9] = {
|
||||
CONTENT_CRAFTITEM_STICK, CONTENT_COTTON, CONTENT_CRAFTITEM_STICK,
|
||||
CONTENT_WOOD, input, CONTENT_WOOD,
|
||||
CONTENT_CRAFTITEM_STICK, input, CONTENT_CRAFTITEM_STICK
|
||||
CONTENT_CRAFTITEM_PLANK, CONTENT_COTTON, CONTENT_CRAFTITEM_PLANK,
|
||||
CONTENT_WOOD_PINE, input, CONTENT_WOOD_PINE,
|
||||
CONTENT_CRAFTITEM_PLANK, input, CONTENT_CRAFTITEM_PLANK
|
||||
};
|
||||
setRecipe(r,result,1);
|
||||
u16 r1[9] = {
|
||||
CONTENT_CRAFTITEM_STICK, CONTENT_COTTON, CONTENT_CRAFTITEM_STICK,
|
||||
CONTENT_JUNGLEWOOD, input, CONTENT_JUNGLEWOOD,
|
||||
CONTENT_CRAFTITEM_STICK, input, CONTENT_CRAFTITEM_STICK
|
||||
};
|
||||
setRecipe(r1,result,1);
|
||||
}
|
||||
// sign recipe, input is top six wood yields one result
|
||||
void setSignRecipe(u16 input, u16 result)
|
||||
|
|
|
@ -348,4 +348,13 @@ void content_craftitem_init()
|
|||
crafting::set1To4Recipe(CONTENT_WOOD,CONTENT_CRAFTITEM_STICK);
|
||||
crafting::set1To4Recipe(CONTENT_JUNGLEWOOD,CONTENT_CRAFTITEM_STICK);
|
||||
|
||||
i = CONTENT_CRAFTITEM_PLANK;
|
||||
f = &g_content_craftitem_features[i];
|
||||
f->content = CONTENT_CRAFTITEM_PLANK;
|
||||
f->texture = "pine_plank.png";
|
||||
f->name = "pine_plank";
|
||||
f->gui_name = "Pine Plank";
|
||||
f->fuel_time = 30/16;
|
||||
crafting::set1To4Recipe(CONTENT_WOOD_PINE,CONTENT_CRAFTITEM_PLANK);
|
||||
|
||||
}
|
||||
|
|
|
@ -74,5 +74,6 @@ CraftItemFeatures & content_craftitem_features(std::string subname);
|
|||
#define CONTENT_CRAFTITEM_GUNPOWDER (CONTENT_CRAFTITEM_MASK | 0x23)
|
||||
#define CONTENT_CRAFTITEM_SNOW_BALL (CONTENT_CRAFTITEM_MASK | 0x24)
|
||||
#define CONTENT_CRAFTITEM_STICK (CONTENT_CRAFTITEM_MASK | 0x25)
|
||||
#define CONTENT_CRAFTITEM_PLANK (CONTENT_CRAFTITEM_MASK | 0x26)
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1355,6 +1355,37 @@ void content_mapnode_init()
|
|||
f->fuel_time = 30;
|
||||
setWoodLikeDiggingProperties(f->digging_properties, 1.0);
|
||||
|
||||
i = CONTENT_CONIFER_TREE;
|
||||
f = &content_features(i);
|
||||
f->description = std::string("Conifer Tree");
|
||||
f->setAllTextures("conifer_tree.png");
|
||||
f->setTexture(0, "conifer_tree_top.png");
|
||||
f->setTexture(1, "conifer_tree_top.png");
|
||||
f->is_ground_content = true;
|
||||
f->flammable = 2; // can be set on fire
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||
f->cook_result = std::string("CraftItem lump_of_charcoal 1");
|
||||
f->fuel_time = 30;
|
||||
f->draw_type = CDT_NODEBOX;
|
||||
f->param_type = CPT_LIGHT;
|
||||
f->light_propagates = true;
|
||||
f->sunlight_propagates = true;
|
||||
f->is_ground_content = true;
|
||||
f->solidness = 0; // drawn separately, makes no faces
|
||||
f->visual_solidness = 0;
|
||||
f->fuel_time = 25;
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||
f->setNodeBox(core::aabbox3d<f32>(
|
||||
-0.4375*BS,
|
||||
-0.5*BS,
|
||||
-0.4375*BS,
|
||||
0.4375*BS,
|
||||
0.5*BS,
|
||||
0.4375*BS
|
||||
));
|
||||
f->setInventoryTextureNodeBox(i,"conifer_tree_top.png", "conifer_tree.png", "conifer_tree.png");
|
||||
setWoodLikeDiggingProperties(f->digging_properties, 0.8);
|
||||
|
||||
i = CONTENT_JUNGLEGRASS;
|
||||
f = &content_features(i);
|
||||
f->description = std::string("Jungle Grass");
|
||||
|
@ -1480,12 +1511,56 @@ void content_mapnode_init()
|
|||
f->setAllTextures("cactus_side.png");
|
||||
f->setTexture(0, "cactus_top.png");
|
||||
f->setTexture(1, "cactus_top.png");
|
||||
f->setInventoryTextureCube("cactus_top.png", "cactus_side.png", "cactus_side.png");
|
||||
f->draw_type = CDT_CUBELIKE;
|
||||
f->draw_type = CDT_NODEBOX;
|
||||
f->param_type = CPT_LIGHT;
|
||||
f->light_propagates = true;
|
||||
f->sunlight_propagates = true;
|
||||
f->is_ground_content = true;
|
||||
f->solidness = 0; // drawn separately, makes no faces
|
||||
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
||||
f->fuel_time = 30/4;
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||
f->setNodeBox(core::aabbox3d<f32>(
|
||||
-0.4375*BS,
|
||||
-0.5*BS,
|
||||
-0.4375*BS,
|
||||
0.4375*BS,
|
||||
0.5*BS,
|
||||
0.4375*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
-0.5*BS,
|
||||
0.3125*BS,
|
||||
-0.5*BS,
|
||||
-0.4375*BS,
|
||||
0.375*BS,
|
||||
-0.4375*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
0.4375*BS,
|
||||
0.125*BS,
|
||||
0.4375*BS,
|
||||
0.5*BS,
|
||||
0.1875*BS,
|
||||
0.5*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
0.4375*BS,
|
||||
-0.1875*BS,
|
||||
-0.5*BS,
|
||||
0.5*BS,
|
||||
-0.125*BS,
|
||||
-0.4375*BS
|
||||
));
|
||||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
-0.5*BS,
|
||||
-0.375*BS,
|
||||
0.4375*BS,
|
||||
-0.4375*BS,
|
||||
-0.3125*BS,
|
||||
0.5*BS
|
||||
));
|
||||
f->setInventoryTextureCube("cactus_top.png", "cactus_side.png", "cactus_side.png");
|
||||
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
||||
|
||||
i = CONTENT_PAPYRUS;
|
||||
|
@ -2053,19 +2128,18 @@ void content_mapnode_init()
|
|||
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
||||
crafting::set1To4Recipe(CONTENT_JUNGLETREE,CONTENT_JUNGLEWOOD);
|
||||
|
||||
i = CONTENT_WOOD_FINISHED;
|
||||
i = CONTENT_WOOD_PINE;
|
||||
f = &content_features(i);
|
||||
f->description = std::string("Finished Wood");
|
||||
f->setAllTextures("finished_wood.png");
|
||||
f->setInventoryTextureCube("finished_wood.png", "finished_wood.png", "finished_wood.png");
|
||||
f->description = std::string("Pine");
|
||||
f->setAllTextures("pine.png");
|
||||
f->setInventoryTextureCube("pine.png", "pine.png", "pine.png");
|
||||
f->draw_type = CDT_CUBELIKE;
|
||||
f->is_ground_content = true;
|
||||
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;
|
||||
setWoodLikeDiggingProperties(f->digging_properties, 0.5);
|
||||
crafting::setBlockRecipe(CONTENT_WOOD,CONTENT_WOOD_FINISHED);
|
||||
crafting::setBlockRecipe(CONTENT_JUNGLEWOOD,CONTENT_WOOD_FINISHED);
|
||||
crafting::set1To4Recipe(CONTENT_CONIFER_TREE,CONTENT_WOOD_PINE);
|
||||
|
||||
i = CONTENT_MESE;
|
||||
f = &content_features(i);
|
||||
|
@ -2689,6 +2763,7 @@ void content_mapnode_init()
|
|||
));
|
||||
f->setInventoryTextureNodeBox(i,"sign.png", "sign_front.png", "sign.png");
|
||||
crafting::setSignRecipe(CONTENT_WOOD,CONTENT_SIGN);
|
||||
crafting::setSignRecipe(CONTENT_WOOD_PINE,CONTENT_SIGN);
|
||||
crafting::setSignRecipe(CONTENT_JUNGLEWOOD,CONTENT_SIGN);
|
||||
|
||||
i = CONTENT_SIGN_UD;
|
||||
|
@ -5264,7 +5339,7 @@ void content_mapnode_init()
|
|||
i = CONTENT_CHAIR;
|
||||
f = &content_features(i);
|
||||
f->description = std::string("Chair");
|
||||
f->setAllTextures("finished_wood.png");
|
||||
f->setAllTextures("pine.png");
|
||||
f->param_type = CPT_LIGHT;
|
||||
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||
f->draw_type = CDT_NODEBOX;
|
||||
|
@ -5293,21 +5368,21 @@ void content_mapnode_init()
|
|||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
-0.2*BS, 0.1*BS, 0.25*BS, 0.2*BS, 0.4*BS, 0.26*BS
|
||||
));
|
||||
f->setInventoryTextureNodeBox(i,"finished_wood.png", "finished_wood.png", "finished_wood.png");
|
||||
f->setInventoryTextureNodeBox(i,"pine.png", "pine.png", "pine.png");
|
||||
setWoodLikeDiggingProperties(f->digging_properties, 0.25);
|
||||
{
|
||||
u16 r[9] = {
|
||||
CONTENT_CRAFTITEM_STICK, CONTENT_IGNORE, CONTENT_IGNORE,
|
||||
CONTENT_WOOD_FINISHED, CONTENT_WOOD_FINISHED, CONTENT_IGNORE,
|
||||
CONTENT_CRAFTITEM_STICK, CONTENT_CRAFTITEM_STICK, CONTENT_IGNORE
|
||||
CONTENT_CRAFTITEM_PLANK, CONTENT_IGNORE, CONTENT_IGNORE,
|
||||
CONTENT_WOOD_PINE, CONTENT_WOOD_PINE, CONTENT_IGNORE,
|
||||
CONTENT_CRAFTITEM_PLANK, CONTENT_CRAFTITEM_PLANK, CONTENT_IGNORE
|
||||
};
|
||||
crafting::setRecipe(r,CONTENT_CHAIR,1);
|
||||
crafting::setRecipe(r,CONTENT_CHAIR,2);
|
||||
}
|
||||
|
||||
i = CONTENT_TABLE;
|
||||
f = &content_features(i);
|
||||
f->description = std::string("Table");
|
||||
f->setAllTextures("finished_wood.png");
|
||||
f->setAllTextures("pine.png");
|
||||
f->param_type = CPT_LIGHT;
|
||||
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||
f->draw_type = CDT_NODEBOX;
|
||||
|
@ -5344,13 +5419,13 @@ void content_mapnode_init()
|
|||
f->addNodeBox(core::aabbox3d<f32>(
|
||||
-0.3*BS, -0.2*BS, 0.3*BS, 0.3*BS, -0.1*BS, 0.4*BS
|
||||
));
|
||||
f->setInventoryTextureNodeBox(i,"finished_wood.png", "finished_wood.png", "finished_wood.png");
|
||||
f->setInventoryTextureNodeBox(i,"pine.png", "pine.png", "pine.png");
|
||||
setWoodLikeDiggingProperties(f->digging_properties, 0.25);
|
||||
setWoodLikeDiggingProperties(f->digging_properties, 0.25);
|
||||
{
|
||||
u16 r[9] = {
|
||||
CONTENT_WOOD_FINISHED, CONTENT_WOOD_FINISHED, CONTENT_WOOD_FINISHED,
|
||||
CONTENT_CRAFTITEM_STICK, CONTENT_IGNORE, CONTENT_CRAFTITEM_STICK,
|
||||
CONTENT_WOOD_PINE, CONTENT_WOOD_PINE, CONTENT_WOOD_PINE,
|
||||
CONTENT_CRAFTITEM_PLANK, CONTENT_IGNORE, CONTENT_CRAFTITEM_PLANK,
|
||||
CONTENT_IGNORE, CONTENT_IGNORE, CONTENT_IGNORE,
|
||||
};
|
||||
crafting::setRecipe(r,CONTENT_TABLE,1);
|
||||
|
|
|
@ -328,7 +328,8 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version);
|
|||
#define CONTENT_ICE 0xC04
|
||||
#define CONTENT_CONIFER_LEAVES 0xC06
|
||||
#define CONTENT_CONIFER_SAPLING 0xC07
|
||||
#define CONTENT_WOOD_FINISHED 0xC08
|
||||
#define CONTENT_WOOD_PINE 0xC08
|
||||
#define CONTENT_CONIFER_TREE 0xC09
|
||||
|
||||
// beds
|
||||
#define CONTENT_BED_HEAD 0xC10
|
||||
|
|
|
@ -1839,6 +1839,7 @@ void ServerEnvironment::step(float dtime)
|
|||
testnode = m_map->getNodeNoEx(test_p);
|
||||
if (testnode.getContent() == CONTENT_TREE
|
||||
|| testnode.getContent() == CONTENT_JUNGLETREE
|
||||
|| testnode.getContent() == CONTENT_CONIFER_TREE
|
||||
|| testnode.getContent() == CONTENT_IGNORE)
|
||||
{
|
||||
found = true;
|
||||
|
|
|
@ -161,7 +161,7 @@ void make_tree(ManualMapVoxelManipulator &vmanip, v3s16 p0, bool is_apple_tree)
|
|||
|
||||
void make_conifertree(ManualMapVoxelManipulator &vmanip, v3s16 p0)
|
||||
{
|
||||
MapNode treenode(CONTENT_TREE);
|
||||
MapNode treenode(CONTENT_CONIFER_TREE);
|
||||
MapNode leavesnode(CONTENT_CONIFER_LEAVES);
|
||||
|
||||
s16 trunk_h = myrand_range(8, 11);
|
||||
|
|