Merge branch 'next' of git@gitlab.com:voxelands/voxelands.git into next

This commit is contained in:
sdzen 2016-02-12 15:48:52 -05:00
commit 36b29f8b80
26 changed files with 348 additions and 767 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 B

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -413,11 +413,18 @@ void Camera::wield(const InventoryItem* item)
m_wieldnode_baseposition = v3f(45, -35, 65);
// Try to make a MaterialItem cube.
if (std::string(item->getName()) == "MaterialItem") {
if ((((InventoryItem*)item)->getContent()&0xF000) == 0) {
// A block-type material
MaterialItem* mat_item = (MaterialItem*) item;
content_t content = mat_item->getMaterial();
if (content_features(content).solidness || content_features(content).visual_solidness) {
ContentFeatures *f = &content_features(content);
if (
f->draw_type == CDT_CUBELIKE
|| f->draw_type == CDT_GLASSLIKE
|| f->draw_type == CDT_DIRTLIKE
|| f->draw_type == CDT_LIQUID_SOURCE
|| f->draw_type == CDT_MELONLIKE
) {
if (content_features(content).param_type == CPT_MINERAL && mat_item->getData() != 0) {
static const v3s16 tile_dirs[6] = {
v3s16(0, 1, 0),
@ -443,12 +450,12 @@ void Camera::wield(const InventoryItem* item)
haveWield = true;
}else if (
(
content_features(content).draw_type == CDT_NODEBOX
|| content_features(content).draw_type == CDT_NODEBOX_META
|| content_features(content).draw_type == CDT_FENCELIKE
|| content_features(content).draw_type == CDT_WALLLIKE
|| content_features(content).draw_type == CDT_STAIRLIKE
|| content_features(content).draw_type == CDT_SLABLIKE
f->draw_type == CDT_NODEBOX
|| f->draw_type == CDT_NODEBOX_META
|| f->draw_type == CDT_FENCELIKE
|| f->draw_type == CDT_WALLLIKE
|| f->draw_type == CDT_STAIRLIKE
|| f->draw_type == CDT_SLABLIKE
)
&& content_features(content).wield_nodebox == true
) {

View File

@ -360,7 +360,7 @@ collisionMoveResult collisionMoveSimple(Map *map,
int loopcount = 0;
while (dtime > BS*1e-10) {
while (dtime > 0.00001) {
//TimeTaker tt3("collisionMoveSimple dtime loop");
ScopeProfiler sp(g_profiler, "collisionMoveSimple dtime loop avg", SPT_AVG);

View File

@ -912,48 +912,6 @@ static void meshgen_rooftri(MeshMakeData *data, MapNode &n, v3s16 p, v3f corners
}
}
static void meshgen_leaftri(MeshMakeData *data, MapNode &n, v3s16 p, v3f corners[3], v3f pos, TileSpec &tile, SelectedNode &selected, s16 rot)
{
if (selected.is_coloured || selected.has_crack) {
meshgen_rooftri(data,n,p,corners,pos,tile,selected,rot,v3s16(0,0,0));
return;
}
// vertices
v3f v[3];
// tex coords
v2f t[3];
for (int i=0; i<3; i++) {
v[i].X = (corners[i].X*data->m_BS);
v[i].Y = (corners[i].Y*data->m_BS);
v[i].Z = (corners[i].Z*data->m_BS);
t[i].X = (corners[i].X+0.5);
t[i].Y = (corners[i].Z+0.5);
if (rot)
t[i] = t[i].rotateBy(rot,v2f(0.5,0.5));
t[i].X = (t[i].X*tile.texture.size.X)+tile.texture.pos.X;
t[i].Y = (t[i].Y*tile.texture.size.Y)+tile.texture.pos.Y;
}
{
video::S3DVertex tri_v[3] = {
video::S3DVertex(v[0].X, v[0].Y, v[0].Z, 0,0,0, video::SColor(255,255,255,255), t[0].X, t[0].Y),
video::S3DVertex(v[1].X, v[1].Y, v[1].Z, 0,0,0, video::SColor(255,255,255,255), t[1].X, t[1].Y),
video::S3DVertex(v[2].X, v[2].Y, v[2].Z, 0,0,0, video::SColor(255,255,255,255), t[2].X, t[2].Y),
};
u16 indices[] = {0,1,2};
std::vector<u32> colours;
if (selected.is_coloured) {
meshgen_selected_lights(colours,255,3);
}else{
meshgen_lights(data,n,p,colours,255,v3s16(0,0,0),3,tri_v);
}
tri_v[0].Pos += pos;
tri_v[1].Pos += pos;
tri_v[2].Pos += pos;
data->append(tile.getMaterial(),tri_v, 3, indices, 3, colours);
}
}
void meshgen_preset_smooth_lights(MeshMakeData *data, v3s16 p)
{
v3s16 pos = data->m_blockpos_nodes+p;
@ -2660,7 +2618,11 @@ void meshgen_liquid(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &selec
ContentFeatures &n_feat = content_features(neighbor_content);
// Don't draw face if neighbor is blocking the view
if (n_feat.solidness == 2)
if (
n_feat.draw_type == CDT_CUBELIKE
|| n_feat.draw_type == CDT_DIRTLIKE
|| n_feat.draw_type == CDT_MELONLIKE
)
continue;
bool neighbor_is_same_liquid = false;
@ -4558,181 +4520,163 @@ void meshgen_rooflike(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &sel
void meshgen_leaflike(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &selected)
{
bool is_xp = false;
bool is_xm = false;
bool is_zp = false;
bool is_zm = false;
bool is_xpzm = false;
bool is_xmzp = false;
bool is_xmzm = false;
content_t thiscontent = n.getContent();
if (data->mesh_detail == 1) {
meshgen_glasslike(data,p,n,selected);
return;
}
content_t n_xp = data->m_vmanip.getNodeRO(data->m_blockpos_nodes + p + v3s16( 1,0, 0)).getContent();
content_t n_xm = data->m_vmanip.getNodeRO(data->m_blockpos_nodes + p + v3s16(-1,0, 0)).getContent();
content_t n_zp = data->m_vmanip.getNodeRO(data->m_blockpos_nodes + p + v3s16( 0,0, 1)).getContent();
content_t n_zm = data->m_vmanip.getNodeRO(data->m_blockpos_nodes + p + v3s16( 0,0,-1)).getContent();
content_t n_xpzm = data->m_vmanip.getNodeRO(data->m_blockpos_nodes + p + v3s16( 1,0,-1)).getContent();
content_t n_xmzp = data->m_vmanip.getNodeRO(data->m_blockpos_nodes + p + v3s16(-1,0, 1)).getContent();
content_t n_xmzm = data->m_vmanip.getNodeRO(data->m_blockpos_nodes + p + v3s16(-1,0,-1)).getContent();
if (n_xp == thiscontent || content_features(n_xp).special_alternate_node == thiscontent)
is_xp = true;
if (n_xm == thiscontent || content_features(n_xm).special_alternate_node == thiscontent)
is_xm = true;
if (n_zp == thiscontent || content_features(n_zp).special_alternate_node == thiscontent)
is_zp = true;
if (n_zm == thiscontent || content_features(n_zm).special_alternate_node == thiscontent)
is_zm = true;
if (n_xpzm == thiscontent || content_features(n_xpzm).special_alternate_node == thiscontent)
is_xpzm = true;
if (n_xmzp == thiscontent || content_features(n_xmzp).special_alternate_node == thiscontent)
is_xmzp = true;
if (n_xmzm == thiscontent || content_features(n_xmzm).special_alternate_node == thiscontent)
is_xmzm = true;
// get the tile, with crack if being dug
TileSpec tile = getNodeTile(n,p,v3s16(0,1,0),selected);
TileSpec toptile = getNodeTile(n,p,v3s16(0,-1,0),selected);
u8 type = 0;
s16 angle = 0;
s16 dir = 0;
s16 twist = 0;
v3f offset(0,0,0);
bool ground = true;
MapNode abv;
v3f pos = intToFloat(p, BS);
if (is_xp && is_xm) {
if (is_zm || (is_xpzm && is_xmzm) || content_features(n_zm).walkable)
angle = 180;
}else if (is_zp && is_zm) {
if (is_xm || (is_xmzp && is_xmzm) || content_features(n_xm).walkable) {
angle = 90;
}else{
angle = 270;
{
s16 distance = 1;
bool inv = false;
v3s16 tp;
for (; ground && distance<4; distance++) {
for (s16 x=-distance; ground && x<=distance; x++) {
for (s16 z=-distance; ground && z<=distance; z++) {
if (x == -distance || x == distance || z == -distance || z == distance) {
MapNode nn = data->m_vmanip.getNodeRO(data->m_blockpos_nodes+p+v3s16(x,0,z));
if (
nn.getContent() == CONTENT_TREE
|| nn.getContent() == CONTENT_JUNGLETREE
|| nn.getContent() == CONTENT_APPLE_TREE
|| nn.getContent() == CONTENT_CONIFER_TREE
|| nn.getContent() == CONTENT_YOUNG_TREE
|| nn.getContent() == CONTENT_YOUNG_JUNGLETREE
|| nn.getContent() == CONTENT_YOUNG_APPLE_TREE
|| nn.getContent() == CONTENT_YOUNG_CONIFER_TREE
) {
ground = false;
tp = v3s16(x,0,z);
}
}
}
}
}
}else if (is_xp && is_zp) {
type = 1;
angle = 270;
}else if (is_xp && is_zm) {
type = 1;
angle = 180;
}else if (is_xm && is_zp) {
type = 1;
}else if (is_xm && is_zm) {
type = 1;
angle = 90;
}else if (is_xp || is_xm) {
if (is_zm || (is_xp && is_xpzm) || (is_xm && is_xmzm) || content_features(n_zm).walkable)
angle = 180;
}else if (is_zp || is_zm) {
if (is_xm || (is_zp && is_xmzp) || (is_zm && is_xmzm) || content_features(n_xm).walkable) {
angle = 90;
}else{
angle = 270;
if (ground) {
inv = true;
for (distance=0; ground && distance<4; distance++) {
for (s16 x=-distance; ground && x<=distance; x++) {
for (s16 z=-distance; ground && z<=distance; z++) {
if (x == -distance || x == distance || z == -distance || z == distance) {
for (s16 y=-1; ground && y>-5; y--) {
MapNode nn = data->m_vmanip.getNodeRO(data->m_blockpos_nodes+p+v3s16(x,y,z));
if (
nn.getContent() == CONTENT_TREE
|| nn.getContent() == CONTENT_JUNGLETREE
|| nn.getContent() == CONTENT_APPLE_TREE
|| nn.getContent() == CONTENT_CONIFER_TREE
|| nn.getContent() == CONTENT_YOUNG_TREE
|| nn.getContent() == CONTENT_YOUNG_JUNGLETREE
|| nn.getContent() == CONTENT_YOUNG_APPLE_TREE
|| nn.getContent() == CONTENT_YOUNG_CONIFER_TREE
) {
ground = false;
tp = v3s16(x,0,z);
}
}
}
}
}
}
}
if (!ground) {
if (inv) {
offset.Y = (-0.2*BS)*(float)distance;
angle = 12*(5-distance);
}else{
angle = 12*distance;
}
v3f tv = intToFloat(tp,-1);
tv.normalize();
dir = 180./PI*atan2(tv.Z,tv.X);
dir -= 90;
twist = (tp.X*5)+(tp.Y*2);
}
}
v3f pos = intToFloat(p,BS);
if (selected.is_coloured || selected.has_crack) {
TileSpec tile = getNodeTile(n,p,v3s16(1,0,0),selected,NULL);
for (u16 k=0; k<2; k++) {
video::S3DVertex vertices[4] = {
video::S3DVertex( 0.75*data->m_BS, 0.,-0.75*data->m_BS, 0,1,0, video::SColor(255,255,255,255), tile.texture.x1(), tile.texture.y1()),
video::S3DVertex(-0.75*data->m_BS, 0.,-0.75*data->m_BS, 0,1,0, video::SColor(255,255,255,255), tile.texture.x0(), tile.texture.y1()),
video::S3DVertex(-0.75*data->m_BS, 0., 0.75*data->m_BS, 0,1,0, video::SColor(255,255,255,255), tile.texture.x0(), tile.texture.y0()),
video::S3DVertex( 0.75*data->m_BS, 0., 0.75*data->m_BS, 0,1,0, video::SColor(255,255,255,255), tile.texture.x1(), tile.texture.y0())
};
if (ground) {
for (u16 i=0; i<4; i++) {
vertices[i].Pos.Y = -0.49*data->m_BS;
vertices[i].Pos += offset;
}
}else{
for (u16 i=0; i<4; i++) {
vertices[i].Pos.rotateYZBy(angle);
vertices[i].Pos.rotateXYBy(twist);
vertices[i].Pos.rotateXZBy(dir);
vertices[i].Pos += offset;
}
}
u16 indices[6] = {0,1,2,2,3,0};
std::vector<u32> colours;
if (selected.is_coloured) {
meshgen_selected_lights(colours,255,4);
}else{
meshgen_lights(data,n,p,colours,255,v3s16(0,1,0),4,vertices);
}
for (u16 i=0; i<4; i++) {
vertices[i].Pos += pos;
if (k == 0) {
vertices[i].Pos += data->m_BSd;
}else{
vertices[i].Pos -= data->m_BSd;
}
}
data->append(tile.getMaterial(), vertices, 4, indices, 6, colours);
}
}else{
type = 2;
}
/*
0: slope
1: corner
2: top cap
*/
switch (type) {
case 0:
{
v3f cnr[2][3];
if (angle == 0) {
cnr[0][0] = v3f(-0.5,-0.5,-0.5);
cnr[0][1] = v3f(0.5,-0.5,-0.5);
cnr[0][2] = v3f(0.5,0.5,0.5);
cnr[1][0] = v3f(0.5,0.5,0.5);
cnr[1][1] = v3f(-0.5,0.5,0.5);
cnr[1][2] = v3f(-0.5,-0.5,-0.5);
}else if (angle == 90) {
cnr[0][0] = v3f(-0.5,0.5,-0.5);
cnr[0][1] = v3f(0.5,-0.5,-0.5);
cnr[0][2] = v3f(0.5,-0.5,0.5);
cnr[1][0] = v3f(0.5,-0.5,0.5);
cnr[1][1] = v3f(-0.5,0.5,0.5);
cnr[1][2] = v3f(-0.5,0.5,-0.5);
}else if (angle == 180) {
cnr[0][0] = v3f(-0.5,0.5,-0.5);
cnr[0][1] = v3f(0.5,0.5,-0.5);
cnr[0][2] = v3f(0.5,-0.5,0.5);
cnr[1][0] = v3f(0.5,-0.5,0.5);
cnr[1][1] = v3f(-0.5,-0.5,0.5);
cnr[1][2] = v3f(-0.5,0.5,-0.5);
}else if (angle == 270) {
cnr[0][0] = v3f(-0.5,-0.5,-0.5);
cnr[0][1] = v3f(0.5,0.5,-0.5);
cnr[0][2] = v3f(0.5,0.5,0.5);
cnr[1][0] = v3f(0.5,0.5,0.5);
cnr[1][1] = v3f(-0.5,-0.5,0.5);
cnr[1][2] = v3f(-0.5,-0.5,-0.5);
TileSpec tile = getNodeTile(n,p,v3s16(1,0,0),selected,NULL);
video::S3DVertex vertices[4] = {
video::S3DVertex( 0.75*data->m_BS, 0.,-0.75*data->m_BS, 0,1,0, video::SColor(255,255,255,255), tile.texture.x1(), tile.texture.y1()),
video::S3DVertex(-0.75*data->m_BS, 0.,-0.75*data->m_BS, 0,1,0, video::SColor(255,255,255,255), tile.texture.x0(), tile.texture.y1()),
video::S3DVertex(-0.75*data->m_BS, 0., 0.75*data->m_BS, 0,1,0, video::SColor(255,255,255,255), tile.texture.x0(), tile.texture.y0()),
video::S3DVertex( 0.75*data->m_BS, 0., 0.75*data->m_BS, 0,1,0, video::SColor(255,255,255,255), tile.texture.x1(), tile.texture.y0())
};
if (ground) {
for (u16 i=0; i<4; i++) {
vertices[i].Pos.Y = -0.49*data->m_BS;
vertices[i].Pos += offset;
}
}else{
for (u16 i=0; i<4; i++) {
vertices[i].Pos.rotateYZBy(angle);
vertices[i].Pos.rotateXYBy(twist);
vertices[i].Pos.rotateXZBy(dir);
vertices[i].Pos += offset;
}
}
s16 a = 180-angle;
if (a < 0)
a += 360;
for (int s=0; s<2; s++) {
meshgen_leaftri(data,n,p,cnr[s],pos,tile,selected,a);
u16 indices[6] = {0,1,2,2,3,0};
std::vector<u32> colours;
meshgen_lights(data,n,p,colours,255,v3s16(0,1,0),4,vertices);
for (u16 i=0; i<4; i++) {
vertices[i].Pos += pos;
}
}
break;
case 1:
{
v3f cnr[3];
s16 a = angle;
if (angle == 0) {
cnr[0] = v3f(-0.5,-0.5,-0.5);
cnr[1] = v3f(0.5,-0.5,0.5);
cnr[2] = v3f(-0.5,0.5,0.5);
a = 180;
}else if (angle == 90) {
cnr[0] = v3f(-0.5,-0.5,0.5);
cnr[1] = v3f(0.5,-0.5,-0.5);
cnr[2] = v3f(-0.5,0.5,-0.5);
a = 0;
}else if (angle == 180) {
cnr[0] = v3f(-0.5,-0.5,-0.5);
cnr[1] = v3f(0.5,0.5,-0.5);
cnr[2] = v3f(0.5,-0.5,0.5);
a = 270;
}else if (angle == 270) {
cnr[0] = v3f(-0.5,-0.5,0.5);
cnr[1] = v3f(0.5,0.5,0.5);
cnr[2] = v3f(0.5,-0.5,-0.5);
}
meshgen_leaftri(data,n,p,cnr,pos,tile,selected,a);
}
break;
case 2:
{
v3f cnr[4][3];
cnr[0][0] = v3f(0.,0.,0.);
cnr[0][1] = v3f(-0.5,-0.5,-0.5);
cnr[0][2] = v3f(-0.5,-0.5,0.5);
cnr[1][0] = v3f(0.,0.,0.);
cnr[1][1] = v3f(-0.5,-0.5,-0.5);
cnr[1][2] = v3f(0.5,-0.5,-0.5);
cnr[2][0] = v3f(0.,0.,0.);
cnr[2][1] = v3f(0.5,-0.5,-0.5);
cnr[2][2] = v3f(0.5,-0.5,0.5);
cnr[3][0] = v3f(0.,0.,0.);
cnr[3][1] = v3f(-0.5,-0.5,0.5);
cnr[3][2] = v3f(0.5,-0.5,0.5);
for (int s=0; s<4; s++) {
meshgen_leaftri(data,n,p,cnr[s],pos,toptile,selected,(90*s)+90+(180*(!(s%2))));
}
}
break;
default:;
data->append(tile.getMaterial(), vertices, 4, indices, 6, colours);
}
}

View File

@ -207,7 +207,6 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version)
void content_mapnode_init(bool repeat)
{
// Read some settings
bool invisible_stone = g_settings->getBool("invisible_stone");
#ifndef SERVER
bool opaque_water = g_settings->getBool("opaque_water");
#endif
@ -227,8 +226,6 @@ void content_mapnode_init(bool repeat)
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_ROUGHSTONE)+" 1";
f->type = CMT_STONE;
f->hardness = 1.0;
if (invisible_stone)
f->solidness = 0; // For debugging, hides regular stone
lists::add("creative",i);
lists::add("decrafting",i);
@ -245,8 +242,6 @@ void content_mapnode_init(bool repeat)
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);
@ -263,8 +258,6 @@ void content_mapnode_init(bool repeat)
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_STONE;
f->hardness = 1.1;
if (invisible_stone)
f->solidness = 0; // For debugging, hides regular stone
i = CONTENT_MARBLE;
f = &content_features(i);
@ -290,7 +283,6 @@ void content_mapnode_init(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->buildable_to = true;
f->solidness = 0; // drawn separately, makes no faces
f->suffocation_per_second = 0;
content_nodebox_rock(f);
f->setInventoryTextureNodeBox(i,"stone.png", "stone.png", "stone.png");
@ -563,6 +555,25 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->pressure_type = CST_DROPABLE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->extra_dug_item = std::string("CraftItem2 ")+itos(CONTENT_CRAFTITEM_SALT)+" 1";
f->extra_dug_item_rarity = 30;
f->extra_dug_item_min_level = 3;
f->cook_result = std::string("MaterialItem2 ")+itos(CONTENT_GLASS)+" 1";
f->type = CMT_DIRT;
f->hardness = 1.0;
lists::add("creative",i);
lists::add("cooking",i);
lists::add("decrafting",i);
i = CONTENT_DESERT_SAND;
f = &content_features(i);
f->description = wgettext("Desert Sand");
f->setAllTextures("sand_desert.png");
f->setInventoryTextureCube("sand_desert.png", "sand_desert.png", "sand_desert.png");
f->draw_type = CDT_CUBELIKE;
f->is_ground_content = true;
f->pressure_type = CST_DROPABLE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->extra_dug_item = std::string("CraftItem2 ")+itos(CONTENT_CRAFTITEM_SALTPETER)+" 1";
f->extra_dug_item_rarity = 30;
f->extra_dug_item_min_level = 3;
@ -845,7 +856,6 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->suffocation_per_second = 0;
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"terracotta_tile.png", "terracotta_tile.png", "terracotta_tile.png");
@ -862,8 +872,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_GLASSLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("glass.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_BLEND);
@ -882,8 +890,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_GLASSLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("glass_blue.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_BLEND);
@ -904,8 +910,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_GLASSLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("glass_green.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_BLEND);
@ -926,8 +930,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_GLASSLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("glass_orange.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_BLEND);
@ -948,8 +950,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_GLASSLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("glass_purple.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_BLEND);
@ -970,8 +970,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_GLASSLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("glass_red.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_BLEND);
@ -992,8 +990,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_GLASSLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("glass_yellow.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_BLEND);
@ -1014,8 +1010,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_GLASSLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("glass_black.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_BLEND);
@ -1037,7 +1031,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_pane_side.png");
f->setTexture(4,"glass.png");
f->setTexture(5,"glass.png");
@ -1071,7 +1064,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_pane_blue_side.png");
f->setTexture(4,"glass_blue.png");
f->setTexture(5,"glass_blue.png");
@ -1106,7 +1098,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_pane_green_side.png");
f->setTexture(4,"glass_green.png");
f->setTexture(5,"glass_green.png");
@ -1141,7 +1132,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_pane_orange_side.png");
f->setTexture(4,"glass_orange.png");
f->setTexture(5,"glass_orange.png");
@ -1176,7 +1166,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_pane_purple_side.png");
f->setTexture(4,"glass_purple.png");
f->setTexture(5,"glass_purple.png");
@ -1211,7 +1200,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_pane_red_side.png");
f->setTexture(4,"glass_red.png");
f->setTexture(5,"glass_red.png");
@ -1246,7 +1234,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_pane_yellow_side.png");
f->setTexture(4,"glass_yellow.png");
f->setTexture(5,"glass_yellow.png");
@ -1281,7 +1268,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_pane_black_side.png");
f->setTexture(4,"glass_black.png");
f->setTexture(5,"glass_black.png");
@ -1315,8 +1301,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_GLASSLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("glasslight.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_BLEND);
@ -1467,7 +1451,6 @@ void content_mapnode_init(bool repeat)
f->walkable = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->cook_result = std::string("MaterialItem2 ")+itos(CONTENT_APPLE_PIE)+" 1";
content_nodebox_pie(f);
@ -1496,7 +1479,6 @@ void content_mapnode_init(bool repeat)
f->walkable = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
content_nodebox_pie(f);
f->setInventoryTextureNodeBox(i, "apple_pie.png", "apple_pie.png", "apple_pie.png");
f->dug_item = std::string("CraftItem apple_pie_slice 1");
@ -1522,7 +1504,6 @@ void content_mapnode_init(bool repeat)
f->walkable = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
content_nodebox_pie_3(f);
f->dug_item = std::string("CraftItem apple_pie_slice 1");
f->ondig_replace_node=CONTENT_APPLE_PIE_2;
@ -1545,7 +1526,6 @@ void content_mapnode_init(bool repeat)
f->walkable = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
content_nodebox_pie_2(f);
f->dug_item = std::string("CraftItem apple_pie_slice 1");
f->ondig_replace_node=CONTENT_APPLE_PIE_1;
@ -1568,7 +1548,6 @@ void content_mapnode_init(bool repeat)
f->walkable = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
content_nodebox_pie_1(f);
f->dug_item = std::string("CraftItem apple_pie_slice 1");
f->type = CMT_DIRT;
@ -1591,7 +1570,6 @@ void content_mapnode_init(bool repeat)
f->walkable = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->cook_result = std::string("MaterialItem2 ")+itos(CONTENT_PUMPKIN_PIE)+" 1";
content_nodebox_pie(f);
@ -1620,7 +1598,6 @@ void content_mapnode_init(bool repeat)
f->walkable = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
content_nodebox_pie(f);
f->setInventoryTextureNodeBox(i, "pumpkin_pie.png", "pumpkin_pie.png", "pumpkin_pie.png");
f->dug_item = std::string("CraftItem pumpkin_pie_slice 1");
@ -1646,7 +1623,6 @@ void content_mapnode_init(bool repeat)
f->walkable = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
content_nodebox_pie_3(f);
f->dug_item = std::string("CraftItem pumpkin_pie_slice 1");
f->ondig_replace_node=CONTENT_PUMPKIN_PIE_2;
@ -1669,7 +1645,6 @@ void content_mapnode_init(bool repeat)
f->walkable = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
content_nodebox_pie_2(f);
f->dug_item = std::string("CraftItem pumpkin_pie_slice 1");
f->ondig_replace_node=CONTENT_PUMPKIN_PIE_1;
@ -1692,7 +1667,6 @@ void content_mapnode_init(bool repeat)
f->walkable = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
content_nodebox_pie_1(f);
f->dug_item = std::string("CraftItem pumpkin_pie_slice 1");
f->type = CMT_DIRT;
@ -1720,7 +1694,6 @@ void content_mapnode_init(bool repeat)
f = &content_features(i);
f->description = wgettext("Snowman");
f->param2_type = CPT_FACEDIR_SIMPLE;
f->solidness = 0;
f->setAllTextures("snowman.png");
f->setTexture(0,"snowman_top.png");
f->setTexture(1,"snowman_top.png");
@ -1791,7 +1764,6 @@ void content_mapnode_init(bool repeat)
f->walkable = false;
f->material_pointable = false;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("CraftItem snow_ball 1");
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"snow.png", "snow.png", "snow.png");
@ -1962,7 +1934,6 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"cotton.png", "cotton.png", "cotton.png");
@ -1985,7 +1956,6 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"cotton_blue.png", "cotton_blue.png", "cotton_blue.png");
@ -2009,7 +1979,6 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"cotton_green.png", "cotton_green.png", "cotton_green.png");
@ -2033,7 +2002,6 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"cotton_orange.png", "cotton_orange.png", "cotton_orange.png");
@ -2057,7 +2025,6 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"cotton_purple.png", "cotton_purple.png", "cotton_purple.png");
@ -2081,7 +2048,6 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"cotton_red.png", "cotton_red.png", "cotton_red.png");
@ -2105,7 +2071,6 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"cotton_yellow.png", "cotton_yellow.png", "cotton_yellow.png");
@ -2129,7 +2094,6 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"cotton_black.png", "cotton_black.png", "cotton_black.png");
@ -2151,7 +2115,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_AIRLIKE;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0;
f->walkable = false;
f->pointable = false;
f->diggable = false;
@ -2167,7 +2130,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_AIRLIKE;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0;
f->walkable = false;
f->pointable = false;
f->diggable = false;
@ -2186,8 +2148,6 @@ void content_mapnode_init(bool repeat)
f->param2_type = CPT_LIQUID;
f->draw_type = CDT_LIQUID;
f->light_propagates = true;
f->solidness = 0; // Drawn separately, makes no faces
f->visual_solidness = 1;
f->walkable = false;
f->pointable = false;
f->diggable = false;
@ -2212,7 +2172,6 @@ void content_mapnode_init(bool repeat)
f->description = wgettext("Water");
f->setAllTextures("water.png");
f->setInventoryTextureCube("water.png", "water.png", "water.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_LIQUID;
f->draw_type = CDT_LIQUID_SOURCE;
@ -2247,8 +2206,6 @@ void content_mapnode_init(bool repeat)
f->draw_type = CDT_LIQUID;
f->light_propagates = false;
f->light_source = LIGHT_MAX-1;
f->solidness = 0; // Drawn separately, makes no faces
f->visual_solidness = 1; // Does not completely cover block boundaries
f->walkable = false;
f->pointable = false;
f->diggable = false;
@ -2270,7 +2227,6 @@ void content_mapnode_init(bool repeat)
f->description = wgettext("Lava");
f->setAllTextures("lava.png");
f->setInventoryTextureCube("lava.png", "lava.png", "lava.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_LIQUID;
f->draw_type = CDT_LIQUID_SOURCE;
@ -2478,7 +2434,6 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"stone_tile.png", "stone_tile.png", "stone_tile.png");
@ -2500,7 +2455,6 @@ void content_mapnode_init(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"wood_tile.png", "wood_tile.png", "wood_tile.png");

View File

@ -77,7 +77,7 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version);
#define CONTENT_STEEL_FENCE 0x01C
#define CONTENT_STEEL_BARS 0x01D
#define CONTENT_RAIL 0x01E
// FREE 0x01F
#define CONTENT_DESERT_SAND 0x01F
#define CONTENT_LAVA 0x020
#define CONTENT_LAVASOURCE 0x021
#define CONTENT_LADDER_WALL 0x022

View File

@ -43,7 +43,6 @@ void content_mapnode_circuit(bool repeat)
f->light_propagates = true;
f->sunlight_propagates = true;
f->air_equivalent = true; // grass grows underneath
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("CraftItem2 ")+itos(CONTENT_CRAFTITEM_MITHRILDUST)+" 1";
f->type = CMT_DIRT;
f->hardness = 1.0;
@ -67,7 +66,6 @@ void content_mapnode_circuit(bool repeat)
f->light_propagates = true;
f->sunlight_propagates = true;
f->air_equivalent = true; // grass grows underneath
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ") + itos(i)+" 1";
f->type = CMT_DIRT;
f->hardness = 1.0;
@ -97,7 +95,6 @@ void content_mapnode_circuit(bool repeat)
f->energy_type = CET_SOURCE;
f->energy_drop = 0;
f->light_source = 10;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_WOOD;
f->hardness = 0.10;
@ -121,7 +118,6 @@ void content_mapnode_circuit(bool repeat)
f->energy_drop = 0;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_WOOD;
f->hardness = 0.10;
@ -155,7 +151,6 @@ void content_mapnode_circuit(bool repeat)
f->light_propagates = 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(i)+" 1";
f->type = CMT_WOOD;
f->hardness = 0.10;
@ -190,7 +185,6 @@ void content_mapnode_circuit(bool repeat)
f->is_ground_content = true;
f->energy_type = CET_SWITCH;
f->energy_drop = 0;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_STONE;
f->hardness = 1.0;
@ -222,7 +216,6 @@ void content_mapnode_circuit(bool repeat)
f->light_propagates = true;
f->energy_type = CET_SWITCH;
f->energy_drop = 0;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_STONE;
f->hardness = 1.0;
@ -251,7 +244,6 @@ void content_mapnode_circuit(bool repeat)
f->is_ground_content = true;
f->energy_type = CET_SWITCH;
f->energy_drop = 0;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_STONE;
f->hardness = 1.0;
@ -280,7 +272,6 @@ void content_mapnode_circuit(bool repeat)
f->is_ground_content = true;
f->energy_type = CET_SWITCH;
f->energy_drop = 0;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_WOOD;
f->hardness = 1.0;
@ -312,7 +303,6 @@ void content_mapnode_circuit(bool repeat)
f->energy_type = CET_GATE;
f->energy_drop = 0;
f->light_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_STONE;
f->hardness = 1.0;
@ -344,7 +334,6 @@ void content_mapnode_circuit(bool repeat)
f->energy_type = CET_GATE;
f->energy_drop = 0;
f->light_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_STONE;
f->hardness = 1.0;
@ -368,13 +357,11 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Electric Lamp");
f->is_ground_content = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_CUBELIKE;
f->light_propagates = true;
f->sunlight_propagates = true;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->light_source = LIGHT_MAX-1;
f->unpowered_node = CONTENT_CIRCUIT_LAMP_OFF;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CIRCUIT_LAMP_OFF)+" 1";
@ -389,13 +376,11 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Electric Lamp");
f->is_ground_content = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_GLASSLIKE;
f->light_propagates = true;
f->sunlight_propagates = true;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->powered_node = CONTENT_CIRCUIT_LAMP;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->setAllTextures("circuit_lamp.png");
@ -423,10 +408,9 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Piston");
f->is_ground_content = true;
f->visual_solidness = 1;
f->param_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_CUBELIKE;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->floormount_alternate_node = CONTENT_CIRCUIT_PISTON_UP_OFF;
f->roofmount_alternate_node = CONTENT_CIRCUIT_PISTON_DOWN_OFF;
f->special_alternate_node = CONTENT_CIRCUIT_PISTON_ARM;
@ -458,11 +442,9 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Piston");
f->is_ground_content = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->param_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->special_alternate_node = CONTENT_CIRCUIT_PISTON_ARM;
f->rotate_tile_with_nodebox = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CIRCUIT_PISTON_OFF)+" 1";
@ -485,8 +467,6 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Piston Arm");
f->is_ground_content = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->param_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
f->rotate_tile_with_nodebox = true;
@ -512,9 +492,8 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Piston");
f->is_ground_content = true;
f->visual_solidness = 1;
f->draw_type = CDT_CUBELIKE;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->wallmount_alternate_node = CONTENT_CIRCUIT_PISTON_OFF;
f->roofmount_alternate_node = CONTENT_CIRCUIT_PISTON_DOWN_OFF;
f->special_alternate_node = CONTENT_CIRCUIT_PISTON_UP_ARM;
@ -533,10 +512,8 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Piston");
f->is_ground_content = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->draw_type = CDT_NODEBOX;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->special_alternate_node = CONTENT_CIRCUIT_PISTON_UP_ARM;
f->rotate_tile_with_nodebox = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CIRCUIT_PISTON_OFF)+" 1";
@ -557,8 +534,6 @@ void content_mapnode_circuit(bool repeat)
f->description = wgettext("Piston Arm");
f->is_ground_content = true;
f->air_equivalent = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->draw_type = CDT_NODEBOX;
f->special_alternate_node = CONTENT_CIRCUIT_PISTON_UP;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CIRCUIT_PISTON_OFF)+" 1";
@ -578,9 +553,8 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Piston");
f->is_ground_content = true;
f->visual_solidness = 1;
f->draw_type = CDT_CUBELIKE;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->floormount_alternate_node = CONTENT_CIRCUIT_PISTON_UP_OFF;
f->wallmount_alternate_node = CONTENT_CIRCUIT_PISTON_OFF;
f->special_alternate_node = CONTENT_CIRCUIT_PISTON_DOWN_ARM;
@ -599,10 +573,8 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Piston");
f->is_ground_content = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->draw_type = CDT_NODEBOX;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->special_alternate_node = CONTENT_CIRCUIT_PISTON_DOWN_ARM;
f->rotate_tile_with_nodebox = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CIRCUIT_PISTON_OFF)+" 1";
@ -623,8 +595,6 @@ void content_mapnode_circuit(bool repeat)
f->description = wgettext("Piston Arm");
f->is_ground_content = true;
f->air_equivalent = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->draw_type = CDT_NODEBOX;
f->special_alternate_node = CONTENT_CIRCUIT_PISTON_DOWN;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CIRCUIT_PISTON_OFF)+" 1";
@ -644,10 +614,9 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Sticky Piston");
f->is_ground_content = true;
f->visual_solidness = 1;
f->param_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_CUBELIKE;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->floormount_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_UP_OFF;
f->roofmount_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_DOWN_OFF;
f->special_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_ARM;
@ -672,11 +641,9 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Sticky Piston");
f->is_ground_content = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->param_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->special_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_ARM;
f->rotate_tile_with_nodebox = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CIRCUIT_STICKYPISTON_OFF)+" 1";
@ -700,8 +667,6 @@ void content_mapnode_circuit(bool repeat)
f->description = wgettext("Sticky Piston Arm");
f->is_ground_content = true;
f->air_equivalent = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->param_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
f->rotate_tile_with_nodebox = true;
@ -726,9 +691,8 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Sticky Piston");
f->is_ground_content = true;
f->visual_solidness = 1;
f->draw_type = CDT_CUBELIKE;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->wallmount_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_OFF;
f->roofmount_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_DOWN_OFF;
f->special_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_UP_ARM;
@ -747,10 +711,8 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Sticky Piston");
f->is_ground_content = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->draw_type = CDT_NODEBOX;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->special_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_UP_ARM;
f->rotate_tile_with_nodebox = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CIRCUIT_STICKYPISTON_OFF)+" 1";
@ -771,8 +733,6 @@ void content_mapnode_circuit(bool repeat)
f->description = wgettext("Sticky Piston Arm");
f->is_ground_content = true;
f->air_equivalent = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->draw_type = CDT_NODEBOX;
f->special_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_UP;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CIRCUIT_STICKYPISTON_OFF)+" 1";
@ -792,9 +752,8 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Sticky Piston");
f->is_ground_content = true;
f->visual_solidness = 1;
f->draw_type = CDT_CUBELIKE;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->floormount_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_UP_OFF;
f->wallmount_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_OFF;
f->special_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_DOWN_ARM;
@ -813,10 +772,8 @@ void content_mapnode_circuit(bool repeat)
f = &content_features(i);
f->description = wgettext("Sticky Piston");
f->is_ground_content = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->draw_type = CDT_NODEBOX;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->special_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_DOWN_ARM;
f->rotate_tile_with_nodebox = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CIRCUIT_STICKYPISTON_OFF)+" 1";
@ -837,8 +794,6 @@ void content_mapnode_circuit(bool repeat)
f->description = wgettext("Sticky Piston Arm");
f->is_ground_content = true;
f->air_equivalent = true;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->draw_type = CDT_NODEBOX;
f->special_alternate_node = CONTENT_CIRCUIT_STICKYPISTON_DOWN;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CIRCUIT_STICKYPISTON_OFF)+" 1";

View File

@ -46,7 +46,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -73,7 +72,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_WOOD_DOOR_RT;
@ -105,7 +103,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -116,7 +113,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_DOOR_LT;
@ -133,7 +130,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_STEEL_DOOR_RT;
@ -145,7 +141,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
crafting::set1over1Recipe(CONTENT_STEEL_HATCH,CONTENT_STEEL_HATCH,CONTENT_STEEL_DOOR_LT);
@ -167,7 +163,6 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -193,7 +188,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_GLASS_DOOR_RT;
@ -224,7 +218,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -252,7 +245,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_WOOD_W_DOOR_RT;
@ -286,7 +278,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -297,7 +288,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_W_DOOR_LT;
@ -315,7 +306,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_STEEL_W_DOOR_RT;
@ -327,7 +317,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
crafting::set1over1Recipe(CONTENT_STEEL_W_HATCH,CONTENT_STEEL_HATCH,CONTENT_STEEL_W_DOOR_LT);
@ -350,7 +340,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -377,7 +366,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_WOOD_DOOR_LT;
@ -408,7 +396,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -435,7 +422,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_GLASS_DOOR_LT;
@ -464,7 +450,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -475,7 +460,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_DOOR_RT;
@ -492,7 +477,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_STEEL_DOOR_LT;
@ -504,7 +488,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
lists::add("creative",i);
@ -524,7 +508,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -552,7 +535,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_WOOD_W_DOOR_LT;
@ -583,7 +565,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -594,7 +575,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_W_DOOR_RT;
@ -612,7 +593,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_STEEL_W_DOOR_LT;
@ -624,7 +604,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
crafting::set1To1Recipe(CONTENT_STEEL_W_DOOR_LT,CONTENT_STEEL_W_DOOR_RT);
@ -646,7 +626,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -672,7 +651,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
@ -699,7 +677,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -724,7 +701,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
@ -750,7 +726,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -761,7 +736,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_DOOR_LT_OPEN;
@ -777,7 +752,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
@ -788,7 +762,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
@ -805,7 +779,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_W_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -831,7 +804,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_W_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
@ -858,7 +830,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_W_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -869,7 +840,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_W_DOOR_LT_OPEN;
@ -885,7 +856,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_W_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
@ -896,7 +866,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
@ -916,7 +886,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -944,7 +913,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
@ -973,7 +941,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -1000,7 +967,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
@ -1028,7 +994,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -1039,7 +1004,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_DOOR_RT_OPEN;
@ -1057,7 +1022,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
@ -1068,7 +1032,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
@ -1087,7 +1051,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_W_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -1115,7 +1078,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_W_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
@ -1144,7 +1106,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_W_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
@ -1155,7 +1116,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_W_DOOR_RT_OPEN;
@ -1173,7 +1134,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_W_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
@ -1184,7 +1144,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
@ -1199,7 +1159,6 @@ void content_mapnode_door(bool repeat)
f->wield_nodebox = false;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onpunch_replace_node = CONTENT_WOOD_HATCH_OPEN;
@ -1226,7 +1185,6 @@ void content_mapnode_door(bool repeat)
f->wield_nodebox = false;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_HATCH_OPEN;
@ -1236,7 +1194,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
crafting::setSoftBlockRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_STEEL_HATCH);
@ -1256,7 +1214,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onpunch_replace_node = CONTENT_WOOD_W_HATCH_OPEN;
@ -1285,7 +1242,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_W_HATCH_OPEN;
@ -1295,7 +1251,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
crafting::set1over1Recipe(CONTENT_GLASS,CONTENT_STEEL_HATCH,CONTENT_STEEL_W_HATCH);
@ -1317,7 +1273,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onpunch_replace_node = CONTENT_WOOD_GATE_OPEN;
@ -1350,7 +1305,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_GATE_OPEN;
@ -1360,7 +1314,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
crafting::setGateRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_STEEL,CONTENT_STEEL_GATE);
@ -1383,7 +1337,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->climbable = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_HATCH)+" 1";
f->onpunch_replace_node = CONTENT_WOOD_HATCH;
@ -1411,7 +1364,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->climbable = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_HATCH)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_HATCH;
@ -1421,7 +1373,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
@ -1440,7 +1392,6 @@ void content_mapnode_door(bool repeat)
f->light_propagates = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->climbable = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_W_HATCH)+" 1";
f->onpunch_replace_node = CONTENT_WOOD_W_HATCH;
@ -1468,7 +1419,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->climbable = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_W_HATCH)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_W_HATCH;
@ -1478,7 +1428,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
@ -1496,7 +1446,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_GATE)+" 1";
f->onpunch_replace_node = CONTENT_WOOD_GATE;
@ -1522,7 +1471,6 @@ void content_mapnode_door(bool repeat)
f->air_equivalent = true;
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_GATE)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_GATE;
@ -1532,7 +1480,7 @@ void content_mapnode_door(bool repeat)
f->hardness = 5.0;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
}

View File

@ -54,7 +54,6 @@ void content_mapnode_farm(bool repeat)
f->is_ground_content = true;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("CraftItem2 ")+itos(CONTENT_CRAFTITEM_FERTILIZER)+" 1";
content_nodebox_carpet(f);
f->setInventoryTextureNodeBox(i,"fertilizer.png", "fertilizer.png", "fertilizer.png");
@ -70,7 +69,6 @@ void content_mapnode_farm(bool repeat)
f->setAllTextureFlags(0);
f->draw_type = CDT_PLANTLIKE;
f->param_type = CPT_LIGHT;
f->solidness = 0;
f->light_propagates = true;
f->sunlight_propagates = true;
f->is_ground_content = true;
@ -98,11 +96,11 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->special_alternate_node = CONTENT_FARM_WHEAT;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_PLANT;
f->hardness = 0.4;
f->pressure_type = CST_CRUSHABLE;
f->fuel_time = 2;
f->suffocation_per_second = 0;
lists::add("creative",i);
@ -118,11 +116,11 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->special_alternate_node = CONTENT_FARM_MELON;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_PLANT;
f->hardness = 0.4;
f->pressure_type = CST_CRUSHABLE;
f->fuel_time = 2;
f->suffocation_per_second = 0;
crafting::set1To1Recipe(CONTENT_CRAFTITEM_MELONSLICE,CONTENT_SEEDS_MELON);
lists::add("craftguide",i);
@ -140,11 +138,11 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->special_alternate_node = CONTENT_FARM_PUMPKIN;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_PLANT;
f->hardness = 0.4;
f->pressure_type = CST_CRUSHABLE;
f->fuel_time = 2;
f->suffocation_per_second = 0;
crafting::set1To1Recipe(CONTENT_CRAFTITEM_PUMPKINSLICE,CONTENT_SEEDS_PUMPKIN);
lists::add("craftguide",i);
@ -162,11 +160,11 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->special_alternate_node = CONTENT_FARM_POTATO;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_PLANT;
f->hardness = 0.4;
f->pressure_type = CST_CRUSHABLE;
f->fuel_time = 2;
f->suffocation_per_second = 0;
crafting::set1To2Recipe(CONTENT_CRAFTITEM_POTATO,CONTENT_SEEDS_POTATO);
lists::add("craftguide",i);
@ -184,11 +182,11 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->special_alternate_node = CONTENT_FARM_CARROT;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_PLANT;
f->hardness = 0.4;
f->pressure_type = CST_CRUSHABLE;
f->fuel_time = 2;
f->suffocation_per_second = 0;
crafting::set1To2Recipe(CONTENT_CRAFTITEM_CARROT,CONTENT_SEEDS_CARROT);
lists::add("craftguide",i);
@ -206,11 +204,11 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->special_alternate_node = CONTENT_FARM_BEETROOT;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_PLANT;
f->hardness = 0.4;
f->pressure_type = CST_CRUSHABLE;
f->fuel_time = 2;
f->suffocation_per_second = 0;
crafting::set1To2Recipe(CONTENT_CRAFTITEM_BEETROOT,CONTENT_SEEDS_BEETROOT);
lists::add("craftguide",i);
@ -228,11 +226,11 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->special_alternate_node = CONTENT_FARM_GRAPEVINE;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_PLANT;
f->hardness = 0.4;
f->pressure_type = CST_CRUSHABLE;
f->fuel_time = 2;
f->suffocation_per_second = 0;
crafting::set1To2Recipe(CONTENT_CRAFTITEM_GRAPE,CONTENT_SEEDS_GRAPE);
lists::add("craftguide",i);
@ -250,11 +248,11 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->special_alternate_node = CONTENT_FARM_COTTON;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_PLANT;
f->hardness = 0.4;
f->pressure_type = CST_CRUSHABLE;
f->fuel_time = 2;
f->suffocation_per_second = 0;
lists::add("creative",i);
@ -272,7 +270,6 @@ void content_mapnode_farm(bool repeat)
f->air_equivalent = true;
f->flammable = 1;
f->plantgrowth_max_height = 2; // maximum growth height;
f->solidness = 0; // drawn separately, makes no faces
f->plantgrowth_small_dug_node = CONTENT_SEEDS_WHEAT;
f->plantgrowth_large_dug_node = CONTENT_CRAFTITEM_WHEAT;
f->plantgrowth_large_gives_small = true;
@ -326,7 +323,6 @@ void content_mapnode_farm(bool repeat)
f->setTexture(5, "farm_pumpkin_jack.png"); // Z-
f->setInventoryTextureCube("farm_pumpkin_top.png","farm_pumpkin_jack.png","farm_pumpkin.png");
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
content_nodebox_jackolantern(f);
f->setInventoryTextureNodeBox(i,"farm_pumpkin_top.png","farm_pumpkin_jack.png","farm_pumpkin.png");
}else{
@ -337,8 +333,6 @@ void content_mapnode_farm(bool repeat)
f->draw_type = CDT_GLASSLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("glasslight.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_BLEND);
@ -368,7 +362,6 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->flammable = 1;
f->solidness = 0; // drawn separately, makes no faces
f->plantgrowth_small_dug_node = CONTENT_SEEDS_POTATO;
f->plantgrowth_large_dug_node = CONTENT_CRAFTITEM_POTATO;
f->type = CMT_PLANT;
@ -389,7 +382,6 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->flammable = 1;
f->solidness = 0; // drawn separately, makes no faces
f->plantgrowth_small_dug_node = CONTENT_SEEDS_CARROT;
f->plantgrowth_large_dug_node = CONTENT_CRAFTITEM_CARROT;
f->type = CMT_PLANT;
@ -410,7 +402,6 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->flammable = 1;
f->solidness = 0; // drawn separately, makes no faces
f->plantgrowth_small_dug_node = CONTENT_SEEDS_BEETROOT;
f->plantgrowth_large_dug_node = CONTENT_CRAFTITEM_BEETROOT;
f->type = CMT_PLANT;
@ -431,7 +422,6 @@ void content_mapnode_farm(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->flammable = 1;
f->solidness = 0; // drawn separately, makes no faces
f->plantgrowth_small_dug_node = CONTENT_SEEDS_GRAPE;
f->plantgrowth_large_dug_node = CONTENT_CRAFTITEM_GRAPE;
f->plantgrowth_trellis_node = CONTENT_FARM_TRELLIS_GRAPE;
@ -454,7 +444,6 @@ void content_mapnode_farm(bool repeat)
f->air_equivalent = true;
f->flammable = 1;
f->plantgrowth_max_height = 2; // maximum growth height;
f->solidness = 0; // drawn separately, makes no faces
f->plantgrowth_small_dug_node = CONTENT_SEEDS_COTTON;
f->plantgrowth_large_dug_node = CONTENT_CRAFTITEM_STRING;
f->plantgrowth_large_count = 6;
@ -472,7 +461,6 @@ void content_mapnode_farm(bool repeat)
f->draw_type = CDT_PLANTLIKE;
f->param_type = CPT_LIGHT;
f->param2_type = CPT_PLANTGROWTH;
f->solidness = 0;
f->light_propagates = true;
f->sunlight_propagates = true;
f->is_ground_content = true;
@ -496,7 +484,6 @@ void content_mapnode_farm(bool repeat)
f->setAllTextureFlags(0);
f->draw_type = CDT_PLANTLIKE;
f->param_type = CPT_LIGHT;
f->solidness = 0;
f->light_propagates = true;
f->sunlight_propagates = true;
f->is_ground_content = true;
@ -515,7 +502,6 @@ void content_mapnode_farm(bool repeat)
f->setAllTextureFlags(0);
f->draw_type = CDT_PLANTLIKE;
f->param_type = CPT_LIGHT;
f->solidness = 0;
f->light_propagates = true;
f->sunlight_propagates = true;
f->is_ground_content = true;

View File

@ -51,7 +51,6 @@ void content_mapnode_furniture(bool repeat)
f->fuel_time = 30/4;
f->type = CMT_WOOD;
f->hardness = 0.75;
f->solidness = 0;
content_nodebox_bookshelf(f);
f->setInventoryTextureNodeBox(i,"bookshelf_top.png", "bookshelf_front.png", "bookshelf_side.png");
if (f->initial_metadata == NULL)
@ -89,7 +88,6 @@ void content_mapnode_furniture(bool repeat)
f->fuel_time = 30/4;
f->type = CMT_WOOD;
f->hardness = 0.75;
f->solidness = 0;
content_nodebox_bookshelf(f);
f->setInventoryTextureNodeBox(i,"bookshelf_jungle_top.png", "bookshelf_jungle_front.png", "bookshelf_jungle_side.png");
if (f->initial_metadata == NULL)
@ -127,7 +125,6 @@ void content_mapnode_furniture(bool repeat)
f->fuel_time = 30/4;
f->type = CMT_WOOD;
f->hardness = 0.75;
f->solidness = 0;
content_nodebox_bookshelf(f);
f->setInventoryTextureNodeBox(i,"bookshelf_pine_top.png", "bookshelf_pine_front.png", "bookshelf_pine_side.png");
if (f->initial_metadata == NULL)
@ -149,7 +146,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Couch");
f->setAllTextures("cotton.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -169,7 +165,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Couch");
f->setAllTextures("cotton.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -189,7 +184,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Couch");
f->setAllTextures("cotton.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -209,7 +203,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Couch");
f->setAllTextures("cotton.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -229,7 +222,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Couch");
f->setAllTextures("cotton.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -249,7 +241,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Couch");
f->setAllTextures("cotton.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -279,7 +270,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Blue Couch");
f->setAllTextures("cotton_blue.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -299,7 +289,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Blue Couch");
f->setAllTextures("cotton_blue.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -319,7 +308,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Blue Couch");
f->setAllTextures("cotton_blue.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -339,7 +327,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Blue Couch");
f->setAllTextures("cotton_blue.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -359,7 +346,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Blue Couch");
f->setAllTextures("cotton_blue.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -379,7 +365,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Blue Couch");
f->setAllTextures("cotton_blue.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -403,7 +388,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Green Couch");
f->setAllTextures("cotton_green.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -423,7 +407,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Green Couch");
f->setAllTextures("cotton_green.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -443,7 +426,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Green Couch");
f->setAllTextures("cotton_green.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -463,7 +445,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Green Couch");
f->setAllTextures("cotton_green.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -483,7 +464,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Green Couch");
f->setAllTextures("cotton_green.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -503,7 +483,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Green Couch");
f->setAllTextures("cotton_green.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -527,7 +506,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Orange Couch");
f->setAllTextures("cotton_orange.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -547,7 +525,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Orange Couch");
f->setAllTextures("cotton_orange.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -567,7 +544,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Orange Couch");
f->setAllTextures("cotton_orange.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -587,7 +563,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Orange Couch");
f->setAllTextures("cotton_orange.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -607,7 +582,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Orange Couch");
f->setAllTextures("cotton_orange.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -627,7 +601,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Orange Couch");
f->setAllTextures("cotton_orange.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -651,7 +624,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Purple Couch");
f->setAllTextures("cotton_purple.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -671,7 +643,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Purple Couch");
f->setAllTextures("cotton_purple.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -691,7 +662,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Purple Couch");
f->setAllTextures("cotton_purple.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -711,7 +681,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Purple Couch");
f->setAllTextures("cotton_purple.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -731,7 +700,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Purple Couch");
f->setAllTextures("cotton_purple.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -751,7 +719,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Purple Couch");
f->setAllTextures("cotton_purple.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -775,7 +742,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Red Couch");
f->setAllTextures("cotton_red.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -795,7 +761,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Red Couch");
f->setAllTextures("cotton_red.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -815,7 +780,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Red Couch");
f->setAllTextures("cotton_red.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -835,7 +799,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Red Couch");
f->setAllTextures("cotton_red.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -855,7 +818,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Red Couch");
f->setAllTextures("cotton_red.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -875,7 +837,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Red Couch");
f->setAllTextures("cotton_red.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -899,7 +860,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Yellow Couch");
f->setAllTextures("cotton_yellow.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -919,7 +879,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Yellow Couch");
f->setAllTextures("cotton_yellow.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -939,7 +898,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Yellow Couch");
f->setAllTextures("cotton_yellow.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -959,7 +917,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Yellow Couch");
f->setAllTextures("cotton_yellow.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -979,7 +936,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Yellow Couch");
f->setAllTextures("cotton_yellow.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -999,7 +955,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Yellow Couch");
f->setAllTextures("cotton_yellow.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -1023,7 +978,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Black Couch");
f->setAllTextures("cotton_black.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -1043,7 +997,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Black Couch");
f->setAllTextures("cotton_black.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -1063,7 +1016,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Black Couch");
f->setAllTextures("cotton_black.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -1083,7 +1035,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Black Couch");
f->setAllTextures("cotton_black.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -1103,7 +1054,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Black Couch");
f->setAllTextures("cotton_black.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -1123,7 +1073,6 @@ void content_mapnode_furniture(bool repeat)
f = &content_features(i);
f->description = wgettext("Black Couch");
f->setAllTextures("cotton_black.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
@ -1154,7 +1103,6 @@ void content_mapnode_furniture(bool repeat)
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(i)+" 1";
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1188,7 +1136,6 @@ void content_mapnode_furniture(bool repeat)
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;
@ -1212,7 +1159,6 @@ void content_mapnode_furniture(bool repeat)
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;
@ -1236,7 +1182,6 @@ void content_mapnode_furniture(bool repeat)
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;
@ -1260,7 +1205,6 @@ void content_mapnode_furniture(bool repeat)
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;
@ -1284,7 +1228,6 @@ void content_mapnode_furniture(bool repeat)
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;
@ -1307,7 +1250,6 @@ void content_mapnode_furniture(bool repeat)
f->light_propagates = true;
f->sunlight_propagates = true;
f->air_equivalent = true;
f->solidness = 0; // drawn separately, makes no faces
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;
@ -1344,7 +1286,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1377,7 +1318,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1405,7 +1345,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1438,7 +1377,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1466,7 +1404,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1499,7 +1436,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1527,7 +1463,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1560,7 +1495,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1588,7 +1522,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1621,7 +1554,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1649,7 +1581,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1682,7 +1613,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1710,7 +1640,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1743,7 +1672,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1771,7 +1699,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1804,7 +1731,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1827,7 +1753,6 @@ void content_mapnode_furniture(bool repeat)
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1862,7 +1787,6 @@ void content_mapnode_furniture(bool repeat)
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->rotate_tile_with_nodebox = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1887,7 +1811,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->air_equivalent = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1922,7 +1845,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->air_equivalent = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1957,7 +1879,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->air_equivalent = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1992,7 +1913,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->air_equivalent = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -2027,7 +1947,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->air_equivalent = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -2064,7 +1983,6 @@ void content_mapnode_furniture(bool repeat)
f->draw_type = CDT_NODEBOX_META;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->air_equivalent = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire

View File

@ -126,7 +126,6 @@ void content_mapnode_plants(bool repeat)
f->setTexture(0, "tree_top.png");
f->setTexture(1, "tree_top.png");
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->light_propagates = true;
content_nodebox_youngtree(f);
@ -147,7 +146,6 @@ void content_mapnode_plants(bool repeat)
f->setTexture(0, "jungletree_top.png");
f->setTexture(1, "jungletree_top.png");
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->light_propagates = true;
content_nodebox_youngtree(f);
@ -168,7 +166,6 @@ void content_mapnode_plants(bool repeat)
f->setTexture(0, "apple_tree_top.png");
f->setTexture(1, "apple_tree_top.png");
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->light_propagates = true;
content_nodebox_youngtree(f);
@ -189,7 +186,6 @@ void content_mapnode_plants(bool repeat)
f->setTexture(0, "conifer_tree_top.png");
f->setTexture(1, "conifer_tree_top.png");
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->light_propagates = true;
content_nodebox_youngtree(f);
@ -215,7 +211,6 @@ void content_mapnode_plants(bool repeat)
f->draw_type = CDT_PLANTLIKE_FERN;
f->air_equivalent = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -237,7 +232,6 @@ void content_mapnode_plants(bool repeat)
f->draw_type = CDT_PLANTLIKE_FERN;
f->air_equivalent = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -256,7 +250,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_LEAFLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("leaves.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -289,7 +282,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_LEAFLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("leaves_autumn.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -322,7 +314,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_LEAFLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("leaves_winter.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -355,7 +346,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_LEAFLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("leaves_snowy.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -389,7 +379,6 @@ void content_mapnode_plants(bool repeat)
f->param_type = CPT_LIGHT;
f->special_alternate_node = CONTENT_APPLE_BLOSSOM;
f->draw_type = CDT_LEAFLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("apple_leaves.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -422,7 +411,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_LEAFLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("jungleleaves.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -455,7 +443,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_LEAFLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("conifer_leaves.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -488,8 +475,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_GLASSLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("leaves.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -515,8 +500,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_GLASSLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("leaves_autumn.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -542,8 +525,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_GLASSLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("leaves_winter.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -569,8 +550,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_GLASSLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("apple_leaves.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -596,8 +575,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_GLASSLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("jungleleaves.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -623,8 +600,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_GLASSLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("conifer_leaves.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -651,8 +626,6 @@ void content_mapnode_plants(bool repeat)
f->param_type = CPT_LIGHT;
f->special_alternate_node = CONTENT_APPLE_LEAVES;
f->draw_type = CDT_LEAFLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("apple_leaves.png^apple_blossom.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -677,8 +650,6 @@ void content_mapnode_plants(bool repeat)
f->climbable = true;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_GLASSLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->visual_solidness = 1;
f->setAllTextures("apple_leaves.png^apple_blossom.png");
#ifndef SERVER
f->setAllTextureTypes(MATERIAL_ALPHA_SIMPLE);
@ -703,7 +674,6 @@ void content_mapnode_plants(bool repeat)
f->draw_type = CDT_PLANTLIKE;
f->air_equivalent = false; // grass grows underneath
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -724,7 +694,6 @@ void content_mapnode_plants(bool repeat)
f->draw_type = CDT_PLANTLIKE;
f->air_equivalent = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CACTUS_BLOSSOM)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -746,7 +715,6 @@ void content_mapnode_plants(bool repeat)
f->draw_type = CDT_PLANTLIKE;
f->air_equivalent = true;
f->dug_item = std::string("CraftItem cactus_fruit 1");
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -767,7 +735,6 @@ void content_mapnode_plants(bool repeat)
f->light_propagates = true;
f->sunlight_propagates = true;
f->damage_per_second = 10;
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";
@ -833,7 +800,6 @@ void content_mapnode_plants(bool repeat)
f->plantgrowth_large_dug_node = CONTENT_PAPYRUS;
f->plantgrowth_large_count = 1;
f->plantgrowth_max_height = 5;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -854,7 +820,6 @@ void content_mapnode_plants(bool repeat)
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->light_propagates = true;
f->air_equivalent = false;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 1;
@ -876,7 +841,6 @@ void content_mapnode_plants(bool repeat)
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->light_propagates = true;
f->air_equivalent = false;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 1;
@ -898,7 +862,6 @@ void content_mapnode_plants(bool repeat)
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->light_propagates = true;
f->air_equivalent = false;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 1;
@ -920,7 +883,6 @@ void content_mapnode_plants(bool repeat)
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->light_propagates = true;
f->air_equivalent = false;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 1;
@ -941,7 +903,6 @@ void content_mapnode_plants(bool repeat)
f->draw_type = CDT_PLANTLIKE;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->air_equivalent = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -968,7 +929,6 @@ void content_mapnode_plants(bool repeat)
f->draw_type = CDT_PLANTLIKE;
f->air_equivalent = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->material_pointable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -992,7 +952,6 @@ void content_mapnode_plants(bool repeat)
f->draw_type = CDT_PLANTLIKE;
f->air_equivalent = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WILDGRASS_SHORT)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->material_pointable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1015,7 +974,6 @@ void content_mapnode_plants(bool repeat)
f->param_type = CPT_LIGHT;
f->draw_type = CDT_PLANTLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->material_pointable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1038,7 +996,6 @@ void content_mapnode_plants(bool repeat)
f->param_type = CPT_LIGHT;
f->draw_type = CDT_PLANTLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->material_pointable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1061,7 +1018,6 @@ void content_mapnode_plants(bool repeat)
f->param_type = CPT_LIGHT;
f->draw_type = CDT_PLANTLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->material_pointable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1085,7 +1041,6 @@ void content_mapnode_plants(bool repeat)
f->param_type = CPT_LIGHT;
f->draw_type = CDT_PLANTLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->material_pointable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1109,7 +1064,6 @@ void content_mapnode_plants(bool repeat)
f->param_type = CPT_LIGHT;
f->draw_type = CDT_PLANTLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->material_pointable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1133,7 +1087,6 @@ void content_mapnode_plants(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->special_alternate_node = CONTENT_TEA;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_PLANT;
f->hardness = 0.4;
@ -1154,7 +1107,6 @@ void content_mapnode_plants(bool repeat)
f->plantgrowth_small_dug_node = CONTENT_SEEDS_TEA;
f->plantgrowth_large_dug_node = CONTENT_CRAFTITEM_TEA_LEAVES;
f->plantgrowth_large_gives_small = true;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;
@ -1177,7 +1129,6 @@ void content_mapnode_plants(bool repeat)
f->sunlight_propagates = true;
f->air_equivalent = true;
f->special_alternate_node = CONTENT_COFFEE;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->cook_result = std::string("CraftItem2 ")+itos(CONTENT_CRAFTITEM_COFFEE_BEANS)+" 1";
f->type = CMT_PLANT;
@ -1198,7 +1149,6 @@ void content_mapnode_plants(bool repeat)
f->draw_type = CDT_PLANTLIKE;
f->plantgrowth_small_dug_node = CONTENT_BEANS_COFFEE;
f->plantgrowth_large_dug_node = CONTENT_BEANS_COFFEE;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 30/32;

View File

@ -38,7 +38,6 @@ void content_mapnode_slab(bool repeat)
f->setAllTextures("roughstone.png");
f->param_type = CPT_NONE;
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_ROUGHSTONE;
@ -57,7 +56,6 @@ void content_mapnode_slab(bool repeat)
f->setAllTextures("cobble.png");
f->param_type = CPT_NONE;
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_COBBLE;
@ -76,7 +74,6 @@ void content_mapnode_slab(bool repeat)
f->setAllTextures("mossycobble.png");
f->param_type = CPT_NONE;
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_MOSSYCOBBLE;
@ -94,7 +91,6 @@ void content_mapnode_slab(bool repeat)
f->description = wgettext("Stone Slab");
f->setAllTextures("stone.png");
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_STONE;
@ -112,7 +108,6 @@ void content_mapnode_slab(bool repeat)
f->description = wgettext("Wood Slab");
f->setAllTextures("wood.png");
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_WOOD;
@ -132,7 +127,6 @@ void content_mapnode_slab(bool repeat)
f->description = wgettext("Jungle Wood Slab");
f->setAllTextures("junglewood.png");
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
//f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_JUNGLEWOOD;
@ -156,7 +150,6 @@ void content_mapnode_slab(bool repeat)
f->setTexture(2,"brick_side.png");
f->setTexture(3,"brick_side.png");
f->draw_type = CDT_NODEBOX;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("CraftItem clay_brick 4");
f->special_alternate_node = CONTENT_BRICK;
@ -174,7 +167,6 @@ void content_mapnode_slab(bool repeat)
f->description = wgettext("Sand Stone Slab");
f->setAllTextures("sandstone.png");
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_SAND)+" 4";
f->special_alternate_node = CONTENT_SANDSTONE;
@ -197,7 +189,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab.png");
f->setTexture(0,"glass.png");
f->setTexture(1,"glass.png");
@ -223,7 +214,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_BLUE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_blue.png");
f->setTexture(0,"glass_blue.png");
f->setTexture(1,"glass_blue.png");
@ -250,7 +240,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_GREEN;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_green.png");
f->setTexture(0,"glass_green.png");
f->setTexture(1,"glass_green.png");
@ -277,7 +266,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_ORANGE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_orange.png");
f->setTexture(0,"glass_orange.png");
f->setTexture(1,"glass_oange.png");
@ -304,7 +292,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_PURPLE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_purple.png");
f->setTexture(0,"glass_purple.png");
f->setTexture(1,"glass_purple.png");
@ -331,7 +318,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_RED;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_red.png");
f->setTexture(0,"glass_red.png");
f->setTexture(1,"glass_red.png");
@ -358,7 +344,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_YELLOW;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_yellow.png");
f->setTexture(0,"glass_yellow.png");
f->setTexture(1,"glass_yellow.png");
@ -385,7 +370,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_BLACK;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_black.png");
f->setTexture(0,"glass_black.png");
f->setTexture(1,"glass_black.png");
@ -408,7 +392,6 @@ void content_mapnode_slab(bool repeat)
f->setAllTextures("limestone.png");
f->param_type = CPT_NONE;
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_LIMESTONE;
@ -427,7 +410,6 @@ void content_mapnode_slab(bool repeat)
f->setAllTextures("roughstone.png");
f->param_type = CPT_NONE;
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_ROUGHSTONE_SLAB)+" 1";
f->special_alternate_node = CONTENT_ROUGHSTONE;
@ -443,7 +425,6 @@ void content_mapnode_slab(bool repeat)
f->setAllTextures("cobble.png");
f->param_type = CPT_NONE;
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_COBBLE;
@ -458,7 +439,6 @@ void content_mapnode_slab(bool repeat)
f->setAllTextures("mossycobble.png");
f->param_type = CPT_NONE;
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_MOSSYCOBBLE_SLAB)+" 1";
f->special_alternate_node = CONTENT_MOSSYCOBBLE;
@ -472,7 +452,6 @@ void content_mapnode_slab(bool repeat)
f = &content_features(i);
f->setAllTextures("stone.png");
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STONE_SLAB)+" 1";
f->special_alternate_node = CONTENT_STONE;
@ -486,7 +465,6 @@ void content_mapnode_slab(bool repeat)
f = &content_features(i);
f->setAllTextures("wood.png");
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_SLAB)+" 1";
f->special_alternate_node = CONTENT_WOOD;
@ -502,7 +480,6 @@ void content_mapnode_slab(bool repeat)
f = &content_features(i);
f->setAllTextures("junglewood.png");
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
//f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_JUNGLE_SLAB)+" 1";
f->special_alternate_node = CONTENT_JUNGLEWOOD;
@ -522,7 +499,6 @@ void content_mapnode_slab(bool repeat)
f->setTexture(2,"brick_side.png^[transformfy");
f->setTexture(3,"brick_side.png^[transformfy");
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("CraftItem clay_brick 4");
f->special_alternate_node = CONTENT_BRICK;
@ -536,7 +512,6 @@ void content_mapnode_slab(bool repeat)
f = &content_features(i);
f->setAllTextures("sandstone.png");
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_SAND)+" 4";
f->special_alternate_node = CONTENT_SANDSTONE;
@ -556,7 +531,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab.png");
f->setTexture(0,"glass.png");
f->setTexture(1,"glass.png");
@ -579,7 +553,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_BLUE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_blue.png");
f->setTexture(0,"glass_blue.png");
f->setTexture(1,"glass_blue.png");
@ -602,7 +575,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_GREEN;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_green.png");
f->setTexture(0,"glass_green.png");
f->setTexture(1,"glass_green.png");
@ -625,7 +597,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_ORANGE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_orange.png");
f->setTexture(0,"glass_orange.png");
f->setTexture(1,"glass_orange.png");
@ -648,7 +619,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_PURPLE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_purple.png");
f->setTexture(0,"glass_purple.png");
f->setTexture(1,"glass_purple.png");
@ -671,7 +641,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_RED;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_red.png");
f->setTexture(0,"glass_red.png");
f->setTexture(1,"glass_red.png");
@ -694,7 +663,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_YELLOW;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_yellow.png");
f->setTexture(0,"glass_yellow.png");
f->setTexture(1,"glass_yellow.png");
@ -717,7 +685,6 @@ void content_mapnode_slab(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->special_alternate_node = CONTENT_GLASS_BLACK;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("glass_slab_black.png");
f->setTexture(0,"glass_black.png");
f->setTexture(1,"glass_black.png");
@ -735,7 +702,6 @@ void content_mapnode_slab(bool repeat)
f->setAllTextures("limestone.png");
f->param_type = CPT_NONE;
f->draw_type = CDT_SLABLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_LIMESTONE_SLAB)+" 1";
f->special_alternate_node = CONTENT_LIMESTONE;

View File

@ -45,7 +45,6 @@ void content_mapnode_special(bool repeat)
f->is_ground_content = true;
f->jumpable = false;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 15;
@ -74,7 +73,6 @@ void content_mapnode_special(bool repeat)
f->is_ground_content = true;
f->jumpable = false;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
f->special_alternate_node = CONTENT_STEEL;
f->type = CMT_STONE;
@ -102,7 +100,6 @@ void content_mapnode_special(bool repeat)
f->is_ground_content = true;
f->jumpable = false;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 15;
@ -131,7 +128,6 @@ void content_mapnode_special(bool repeat)
f->is_ground_content = true;
f->jumpable = false;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = 15;
@ -156,7 +152,6 @@ void content_mapnode_special(bool repeat)
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
f->special_alternate_node = CONTENT_STEEL;
f->type = CMT_STONE;
@ -188,7 +183,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_RAILLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
f->type = CMT_DIRT;
f->hardness = 0.75;
@ -217,7 +211,6 @@ void content_mapnode_special(bool repeat)
f->setAllTextureFlags(0);
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_DIRT;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -234,7 +227,6 @@ void content_mapnode_special(bool repeat)
f->setAllTextureFlags(0);
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_WOOD;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -252,7 +244,6 @@ void content_mapnode_special(bool repeat)
f->setAllTextureFlags(0);
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_DIRT;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -276,7 +267,6 @@ void content_mapnode_special(bool repeat)
f->setAllTextureFlags(0);
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_DIRT;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -299,7 +289,6 @@ void content_mapnode_special(bool repeat)
f->light_propagates = true;
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_GLASS;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -322,7 +311,6 @@ void content_mapnode_special(bool repeat)
f->light_propagates = true;
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_GLASS;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -346,7 +334,6 @@ void content_mapnode_special(bool repeat)
f->light_propagates = true;
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_GLASS;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -370,7 +357,6 @@ void content_mapnode_special(bool repeat)
f->light_propagates = true;
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_GLASS;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -394,7 +380,6 @@ void content_mapnode_special(bool repeat)
f->light_propagates = true;
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_GLASS;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -418,7 +403,6 @@ void content_mapnode_special(bool repeat)
f->light_propagates = true;
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_GLASS;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -442,7 +426,6 @@ void content_mapnode_special(bool repeat)
f->light_propagates = true;
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_GLASS;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -466,7 +449,6 @@ void content_mapnode_special(bool repeat)
f->light_propagates = true;
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_GLASS;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -484,7 +466,6 @@ void content_mapnode_special(bool repeat)
f->setAllTextureFlags(0);
f->draw_type = CDT_ROOFLIKE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->type = CMT_DIRT;
f->hardness = 0.75;
f->pressure_type = CST_CRUSHABLE;
@ -506,7 +487,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem ")+itos(i)+" 1";
f->solidness = 0;
f->floormount_alternate_node = CONTENT_LADDER_FLOOR;
f->roofmount_alternate_node = CONTENT_LADDER_ROOF;
f->rotate_tile_with_nodebox = true;
@ -566,7 +546,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem ")+itos(CONTENT_LADDER_WALL)+" 1";
f->solidness = 0;
f->wallmount_alternate_node = CONTENT_LADDER_WALL;
f->roofmount_alternate_node = CONTENT_LADDER_ROOF;
f->rotate_tile_with_nodebox = true;
@ -601,7 +580,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem ")+itos(CONTENT_LADDER_WALL)+" 1";
f->solidness = 0;
f->floormount_alternate_node = CONTENT_LADDER_FLOOR;
f->wallmount_alternate_node = CONTENT_LADDER_WALL;
f->rotate_tile_with_nodebox = true;
@ -671,7 +649,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_BOOK_OPEN;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0;
content_nodebox_book(f);
f->setFaceText(0,FaceText(0.45,0.3,0.9875,0.7375));
f->setInventoryTextureNodeBox(i, "book_cover.png", "book_end.png^[transformFX", "book_side.png^[transformFY");
@ -703,7 +680,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_COOK_BOOK_OPEN;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0;
content_nodebox_book(f);
f->setInventoryTextureNodeBox(i, "book_cook_cover.png", "book_cook_end.png^[transformFX", "book_cook_side.png^[transformFY");
f->type = CMT_DIRT;
@ -735,7 +711,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_DECRAFT_BOOK_OPEN;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0;
content_nodebox_book(f);
f->setInventoryTextureNodeBox(i, "book_decraft_cover.png", "book_decraft_end.png^[transformFX", "book_decraft_side.png^[transformFY");
f->type = CMT_DIRT;
@ -766,7 +741,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_DIARY_BOOK_OPEN;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0;
content_nodebox_book(f);
f->setFaceText(0,FaceText(0.45,0.3,0.9875,0.7375));
f->setInventoryTextureNodeBox(i, "book_diary_cover.png", "book_diary_end.png^[transformFX", "book_diary_side.png^[transformFY");
@ -798,7 +772,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_CRAFT_BOOK_OPEN;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0;
content_nodebox_book(f);
f->setInventoryTextureNodeBox(i, "book_craft_cover.png", "book_craft_end.png^[transformFX", "book_craft_side.png^[transformFY");
f->type = CMT_DIRT;
@ -838,7 +811,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_RCRAFT_BOOK_OPEN;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0;
content_nodebox_book(f);
f->setInventoryTextureNodeBox(i, "book_rcraft_cover.png", "book_rcraft_end.png^[transformFX", "book_rcraft_side.png^[transformFY");
f->type = CMT_DIRT;
@ -875,7 +847,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_BOOK;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_BOOK)+" 1";
f->solidness = 0;
content_nodebox_guide(f);
f->setFaceText(0,FaceText(0.15,0.35,0.85,0.85,FTT_BOOKCONTENT));
f->setInventoryTextureNodeBox(i, "guide_top.png", "guide_end.png", "guide_side.png");
@ -904,7 +875,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_COOK_BOOK;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_COOK_BOOK)+" 1";
f->solidness = 0;
content_nodebox_guide(f);
f->setInventoryTextureNodeBox(i, "guide_cook_top.png", "guide_cook_end.png", "guide_cook_side.png");
f->type = CMT_DIRT;
@ -932,7 +902,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_DECRAFT_BOOK;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_DECRAFT_BOOK)+" 1";
f->solidness = 0;
content_nodebox_guide(f);
f->setInventoryTextureNodeBox(i, "guide_decraft_top.png", "guide_decraft_end.png", "guide_decraft_side.png");
f->type = CMT_DIRT;
@ -960,7 +929,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_DIARY_BOOK;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_DIARY_BOOK)+" 1";
f->solidness = 0;
content_nodebox_guide(f);
f->setFaceText(0,FaceText(0.15,0.35,0.85,0.85,FTT_BOOKCONTENT));
f->setInventoryTextureNodeBox(i, "guide_diary_top.png", "guide_diary_end.png", "guide_diary_side.png");
@ -989,7 +957,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_CRAFT_BOOK;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_CRAFT_BOOK)+" 1";
f->solidness = 0;
content_nodebox_guide(f);
f->setInventoryTextureNodeBox(i, "guide_craft_top.png", "guide_craft_end.png", "guide_craft_side.png");
f->type = CMT_DIRT;
@ -1017,7 +984,6 @@ void content_mapnode_special(bool repeat)
f->onpunch_replace_node = CONTENT_RCRAFT_BOOK;
f->flammable = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_RCRAFT_BOOK)+" 1";
f->solidness = 0;
content_nodebox_guide(f);
f->setInventoryTextureNodeBox(i, "guide_rcraft_top.png", "guide_rcraft_end.png", "guide_rcraft_side.png");
f->type = CMT_DIRT;
@ -1037,7 +1003,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_FIRELIKE;
f->light_propagates = true;
f->light_source = LIGHT_MAX-1;
f->solidness = 0; // Drawn separately, makes no faces
f->walkable = false;
f->pointable = false;
f->diggable = false;
@ -1058,7 +1023,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_FIRELIKE;
f->light_propagates = true;
f->light_source = LIGHT_MAX-1;
f->solidness = 0; // Drawn separately, makes no faces
f->walkable = false;
f->pointable = false;
f->diggable = false;
@ -1080,7 +1044,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_TORCHLIKE;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->air_equivalent = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1108,7 +1071,6 @@ void content_mapnode_special(bool repeat)
f->sunlight_propagates = true;
f->floormount_alternate_node = CONTENT_SIGN;
f->roofmount_alternate_node = CONTENT_SIGN_UD;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->air_equivalent = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1138,7 +1100,6 @@ void content_mapnode_special(bool repeat)
f->roofmount_alternate_node = CONTENT_SIGN_UD;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
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 = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
@ -1172,7 +1133,6 @@ void content_mapnode_special(bool repeat)
f->floormount_alternate_node = CONTENT_SIGN;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
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 = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_SIGN)+" 1";
@ -1201,7 +1161,6 @@ void content_mapnode_special(bool repeat)
f->air_equivalent = true;
f->floormount_alternate_node = CONTENT_LOCKABLE_SIGN;
f->roofmount_alternate_node = CONTENT_LOCKABLE_SIGN_UD;
f->solidness = 0; // drawn separately, makes no faces
f->walkable = false;
f->air_equivalent = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -1232,7 +1191,6 @@ void content_mapnode_special(bool repeat)
f->roofmount_alternate_node = CONTENT_LOCKABLE_SIGN_UD;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
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 = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
@ -1265,7 +1223,6 @@ void content_mapnode_special(bool repeat)
f->floormount_alternate_node = CONTENT_LOCKABLE_SIGN;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
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 = 1;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_LOCKABLE_SIGN)+" 1";
@ -1394,7 +1351,6 @@ void content_mapnode_special(bool repeat)
content_nodebox_furnace(f);
f->setInventoryTextureNodeBox(i,"furnace_top.png^[transformR90", "furnace_front.png", "furnace_side.png^[transformFX");
f->rotate_tile_with_nodebox = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
if(f->initial_metadata == NULL)
f->initial_metadata = new FurnaceNodeMetadata();
@ -1439,7 +1395,6 @@ void content_mapnode_special(bool repeat)
content_nodebox_lockedfurnace(f);
f->setInventoryTextureNodeBox(i,"furnace_top.png^[transformR90", "furnace_lock.png", "furnace_side.png^[transformFX");
f->rotate_tile_with_nodebox = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
if(f->initial_metadata == NULL)
f->initial_metadata = new LockingFurnaceNodeMetadata();
@ -1485,7 +1440,6 @@ void content_mapnode_special(bool repeat)
content_nodebox_incinerator(f);
f->setInventoryTextureNodeBox(i,"incinerator_top.png^[transformR90", "incinerator_front.png", "incinerator_side.png^[transformFX");
f->rotate_tile_with_nodebox = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
if(f->initial_metadata == NULL)
f->initial_metadata = new IncineratorNodeMetadata();
@ -1549,7 +1503,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->cook_result = std::string("MaterialItem2 ")+itos(CONTENT_FLOWER_POT)+" 1";
f->type = CMT_STONE;
@ -1571,7 +1524,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->solidness = 0; // drawn separately, makes no faces
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->type = CMT_STONE;
f->hardness = 0.75;
@ -1591,7 +1543,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_WALLLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_wall_inv(f);
content_nodebox_wall(f);
@ -1615,7 +1566,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_WALLLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_wall_inv(f);
content_nodebox_wall(f);
@ -1639,7 +1589,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_WALLLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_wall_inv(f);
content_nodebox_wall(f);
@ -1663,7 +1612,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_WALLLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_wall_inv(f);
content_nodebox_wall(f);
@ -1687,7 +1635,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_WALLLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_wall_inv(f);
content_nodebox_wall(f);
@ -1711,7 +1658,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_WALLLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_wall_inv(f);
content_nodebox_wall(f);
@ -1733,7 +1679,7 @@ void content_mapnode_special(bool repeat)
f->setInventoryTextureCube("tnt_top.png", "tnt.png", "tnt.png");
f->draw_type = CDT_CUBELIKE;
f->is_ground_content = true;
f->energy_type = CET_CONDUCTIVE;
f->energy_type = CET_DEVICE;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
if(f->initial_metadata == NULL)
f->initial_metadata = new TNTNodeMetadata();
@ -1748,7 +1694,6 @@ void content_mapnode_special(bool repeat)
f = &content_features(i);
f->description = wgettext("In-Progress explosion - how did you get this???");
f->setAllTextures("flash.png");
f->solidness = 0; // drawn separately, makes no faces
f->param_type = CPT_LIGHT;
f->draw_type = CDT_GLASSLIKE;
f->light_propagates = true;
@ -1768,7 +1713,6 @@ void content_mapnode_special(bool repeat)
f = &content_features(i);
f->description = wgettext("Steam");
f->setAllTextures("steam.png");
f->solidness = 0;
f->param_type = CPT_LIGHT;
f->draw_type = CDT_GLASSLIKE;
f->light_propagates = true;
@ -1797,7 +1741,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_FLAGLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_flag(f);
f->home_node = PLAYERFLAG_WHITE;
@ -1843,7 +1786,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_FLAGLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_flag(f);
f->home_node = PLAYERFLAG_BLUE;
@ -1868,7 +1810,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_FLAGLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_flag(f);
f->home_node = PLAYERFLAG_GREEN;
@ -1893,7 +1834,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_FLAGLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_flag(f);
f->home_node = PLAYERFLAG_ORANGE;
@ -1918,7 +1858,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_FLAGLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_flag(f);
f->home_node = PLAYERFLAG_PURPLE;
@ -1943,7 +1882,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_FLAGLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_flag(f);
f->home_node = PLAYERFLAG_RED;
@ -1968,7 +1906,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_FLAGLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_flag(f);
f->home_node = PLAYERFLAG_YELLOW;
@ -1993,7 +1930,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_FLAGLIKE;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
content_nodebox_flag(f);
f->home_node = PLAYERFLAG_BLACK;
@ -2045,7 +1981,6 @@ void content_mapnode_special(bool repeat)
f->is_ground_content = true;
f->buildable_to = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->solidness = 0; // drawn separately, makes no faces
f->air_equivalent = true; // grass grows underneath
f->borderstone_diggable = true;
content_nodebox_parcel(f);
@ -2065,7 +2000,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_NODEBOX_META;
f->type = CMT_STONE;
f->hardness = 3.0;
f->solidness = 0;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_cauldron(f);
f->setInventoryTextureNodeBox(i,"cauldron_outer.png", "cauldron_outer.png", "cauldron_outer.png");
@ -2086,7 +2020,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_NODEBOX;
f->type = CMT_STONE;
f->hardness = 3.0;
f->solidness = 0;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_forge(f);
f->setInventoryTextureNodeBox(i,"forge_top.png", "forge_side.png", "forge_side.png");
@ -2114,7 +2047,6 @@ void content_mapnode_special(bool repeat)
f->draw_type = CDT_PLANTLIKE;
f->light_propagates = true;
f->light_source = LIGHT_MAX-4;
f->solidness = 0; // Drawn separately, makes no faces
f->walkable = false;
f->pointable = false;
f->diggable = false;

View File

@ -38,7 +38,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("roughstone.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_stair(f);
@ -55,7 +54,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("cobble.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_stair(f);
@ -72,7 +70,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("mossycobble.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_stair(f);
@ -89,7 +86,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("stone.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->often_contains_mineral = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
@ -106,7 +102,6 @@ void content_mapnode_stair(bool repeat)
f->description = wgettext("Wood Stair");
f->param_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->setAllTextures("wood.png");
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
@ -126,7 +121,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("junglewood.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
//f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_stair(f);
@ -150,7 +144,6 @@ void content_mapnode_stair(bool repeat)
f->setTexture(3,"brick_side.png");
f->setTexture(5,"brick_stair_front.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("CraftItem clay_brick 4");
content_nodebox_stair(f);
@ -167,7 +160,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("sandstone.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_SAND)+" 4";
content_nodebox_stair(f);
@ -184,7 +176,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("limestone.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
content_nodebox_stair(f);
@ -201,7 +192,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("roughstone.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_ROUGHSTONE_STAIR)+" 1";
content_nodebox_stairud(f);
@ -215,7 +205,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("cobble.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_COBBLE_STAIR)+" 1";
content_nodebox_stairud(f);
@ -229,7 +218,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("mossycobble.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_MOSSYCOBBLE_STAIR)+" 1";
content_nodebox_stairud(f);
@ -243,7 +231,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("stone.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STONE_STAIR)+" 1";
content_nodebox_stairud(f);
@ -257,7 +244,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("wood.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_WOOD_STAIR)+" 1";
content_nodebox_stairud(f);
@ -273,7 +259,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("junglewood.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
//f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_JUNGLE_STAIR)+" 1";
content_nodebox_stairud(f);
@ -294,7 +279,6 @@ void content_mapnode_stair(bool repeat)
f->setTexture(3,"brick_side.png^[transformfy");
f->setTexture(5,"brick_stair_front.png^[transformfy");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("CraftItem clay_brick 4");
content_nodebox_stairud(f);
@ -308,7 +292,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("sandstone.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_SAND)+" 4";
content_nodebox_stairud(f);
@ -322,7 +305,6 @@ void content_mapnode_stair(bool repeat)
f->param_type = CPT_FACEDIR_SIMPLE;
f->setAllTextures("limestone.png");
f->draw_type = CDT_STAIRLIKE;
f->solidness = 0; // drawn separately, makes no faces
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_LIMESTONE_STAIR)+" 1";
content_nodebox_stairud(f);

View File

@ -28,7 +28,6 @@ void content_nodedef_knob(content_t nodeid, content_t source_node, ContentMateri
features->param2_type = CPT_FACEDIR_WALLMOUNT;
features->draw_type = CDT_NODEBOX;
features->is_ground_content = false;
features->solidness = 0;
features->light_propagates = true;
features->dug_item = std::string("MaterialItem2 ")+itos(nodeid)+" 1";
features->type = CMT_STONE;

View File

@ -3532,6 +3532,9 @@ NodeMetadata* CircuitNodeMetadata::create(std::istream &is)
NodeMetadata* CircuitNodeMetadata::clone()
{
CircuitNodeMetadata *d = new CircuitNodeMetadata();
d->m_energy = m_energy;
d->m_ptime = m_ptime;
d->m_sources = m_sources;
return d;
}
void CircuitNodeMetadata::serializeBody(std::ostream &os)
@ -3627,6 +3630,9 @@ NodeMetadata* SwitchNodeMetadata::create(std::istream &is)
NodeMetadata* SwitchNodeMetadata::clone()
{
SwitchNodeMetadata *d = new SwitchNodeMetadata();
d->m_energy = m_energy;
d->m_ptime = m_ptime;
d->m_sources = m_sources;
return d;
}
bool SwitchNodeMetadata::stepCircuit(float dtime, v3s16 pos, ServerEnvironment *env)
@ -3719,6 +3725,9 @@ NodeMetadata* ButtonNodeMetadata::create(std::istream &is)
NodeMetadata* ButtonNodeMetadata::clone()
{
ButtonNodeMetadata *d = new ButtonNodeMetadata();
d->m_energy = m_energy;
d->m_ptime = m_ptime;
d->m_sources = m_sources;
return d;
}
bool ButtonNodeMetadata::stepCircuit(float dtime, v3s16 pos, ServerEnvironment *env)
@ -3794,6 +3803,9 @@ NodeMetadata* SolarPanelNodeMetadata::create(std::istream &is)
NodeMetadata* SolarPanelNodeMetadata::clone()
{
SolarPanelNodeMetadata *d = new SolarPanelNodeMetadata();
d->m_energy = m_energy;
d->m_ptime = m_ptime;
d->m_sources = m_sources;
return d;
}
bool SolarPanelNodeMetadata::stepCircuit(float dtime, v3s16 pos, ServerEnvironment *env)
@ -3868,6 +3880,9 @@ NodeMetadata* WaterWheelNodeMetadata::create(std::istream &is)
NodeMetadata* WaterWheelNodeMetadata::clone()
{
WaterWheelNodeMetadata *d = new WaterWheelNodeMetadata();
d->m_energy = m_energy;
d->m_ptime = m_ptime;
d->m_sources = m_sources;
return d;
}
bool WaterWheelNodeMetadata::stepCircuit(float dtime, v3s16 pos, ServerEnvironment *env)
@ -3970,6 +3985,9 @@ NodeMetadata* SourceNodeMetadata::create(std::istream &is)
NodeMetadata* SourceNodeMetadata::clone()
{
SourceNodeMetadata *d = new SourceNodeMetadata();
d->m_energy = m_energy;
d->m_ptime = m_ptime;
d->m_sources = m_sources;
return d;
}
@ -4017,6 +4035,9 @@ NodeMetadata* NotGateNodeMetadata::create(std::istream &is)
NodeMetadata* NotGateNodeMetadata::clone()
{
NotGateNodeMetadata *d = new NotGateNodeMetadata();
d->m_energy = m_energy;
d->m_ptime = m_ptime;
d->m_sources = m_sources;
return d;
}
bool NotGateNodeMetadata::stepCircuit(float dtime, v3s16 pos, ServerEnvironment *env)
@ -4107,6 +4128,9 @@ NodeMetadata* RepeaterNodeMetadata::create(std::istream &is)
NodeMetadata* RepeaterNodeMetadata::clone()
{
RepeaterNodeMetadata *d = new RepeaterNodeMetadata();
d->m_energy = m_energy;
d->m_ptime = m_ptime;
d->m_sources = m_sources;
return d;
}
void RepeaterNodeMetadata::serializeBody(std::ostream &os)
@ -4217,6 +4241,10 @@ NodeMetadata* DoorNodeMetadata::create(std::istream &is)
NodeMetadata* DoorNodeMetadata::clone()
{
DoorNodeMetadata *d = new DoorNodeMetadata();
d->m_energy = m_energy;
d->m_ptime = m_ptime;
d->m_otime = m_otime;
d->m_sources = m_sources;
return d;
}
void DoorNodeMetadata::serializeBody(std::ostream &os)

View File

@ -1473,12 +1473,12 @@ void ServerEnvironment::step(float dtime)
search.push_back(CONTENT_AIR);
if (!searchNearInv(p,v3s16(0,0,0),v3s16(0,32,0),search,NULL)) {
n.param1 = 0x04;
m_map->addNodeWithEvent(p, n);
m_map->updateNodeWithEvent(p, n);
}
// footsteps fade out
}else if ((n.param1&0x10) == 0x10 && n.envticks > 3) {
n.param1 &= ~0x10;
m_map->addNodeWithEvent(p,n);
m_map->updateNodeWithEvent(p,n);
// autumn grass in autumn/winter
}else if (
(
@ -1496,7 +1496,7 @@ void ServerEnvironment::step(float dtime)
) {
n.param1 &= ~0x0F;
n.param1 |= 0x02;
m_map->addNodeWithEvent(p,n);
m_map->updateNodeWithEvent(p,n);
// green grass in spring/summer
}else if (
(
@ -1514,7 +1514,7 @@ void ServerEnvironment::step(float dtime)
) {
n.param1 &= ~0x0F;
n.param1 |= 0x01;
m_map->addNodeWithEvent(p,n);
m_map->updateNodeWithEvent(p,n);
// melt snow out of the coldzone
}else if (
(n.param1&0x0F) == 0x04
@ -1527,7 +1527,7 @@ void ServerEnvironment::step(float dtime)
n.param1 |= 0x02;
}
n.param2 = 0;
m_map->addNodeWithEvent(p,n);
m_map->updateNodeWithEvent(p,n);
// grow
}else if (
(n.param1&0x0F) != 0x04
@ -1538,11 +1538,11 @@ void ServerEnvironment::step(float dtime)
}else{
if (n.param1 == 0x01) {
n.param1 = 0x02;
m_map->addNodeWithEvent(p,n);
m_map->updateNodeWithEvent(p,n);
}else if (n.param1 != 0) {
n.param1 = 0;
n.param2 = 0;
m_map->addNodeWithEvent(p,n);
m_map->updateNodeWithEvent(p,n);
}
}
break;
@ -3129,10 +3129,18 @@ bool ServerEnvironment::propogateEnergy(u8 level, v3s16 powersrc, v3s16 signalsr
m_map->addNodeAndUpdate(pos, n, modified_blocks, st);
}
}
if (f.energy_type == CET_DEVICE) {
// devices receive power, but don't propogate it further
return false;
}
if (f.energy_type != CET_SOURCE && f.energy_type != CET_SWITCH)
level -= f.energy_drop;
if (level < 1) {
return false;
}
MapNode n_plus_y = m_map->getNodeNoEx(pos + v3s16(0,1,0));
MapNode n_minus_x = m_map->getNodeNoEx(pos + v3s16(-1,0,0));
MapNode n_plus_x = m_map->getNodeNoEx(pos + v3s16(1,0,0));

View File

@ -1143,6 +1143,23 @@ bool Map::removeNodeWithEvent(v3s16 p)
return succeeded;
}
bool Map::updateNodeWithEvent(v3s16 p, MapNode n)
{
MapEditEvent event;
event.type = MEET_ADDNODE;
event.p = p;
event.n = n;
MapNode nn = getNodeNoEx(p);
if (nn.getContent() != n.getContent())
return false;
setNode(p, n);
dispatchEvent(&event);
return true;
}
bool Map::dayNightDiffed(v3s16 blockpos)
{
try{
@ -2386,49 +2403,13 @@ MapBlock * ServerMap::emergeBlock(v3s16 p, bool allow_generate)
s16 ServerMap::findGroundLevel(v2s16 p2d)
{
#if 0
/*
Uh, just do something random...
*/
// Find existing map from top to down
s16 max=63;
s16 min=-64;
v3s16 p(p2d.X, max, p2d.Y);
for(; p.Y>min; p.Y--)
{
MapNode n = getNodeNoEx(p);
if(n.getContent() != CONTENT_IGNORE)
break;
}
if(p.Y == min)
goto plan_b;
// If this node is not air, go to plan b
if(getNodeNoEx(p).getContent() != CONTENT_AIR)
goto plan_b;
// Search existing walkable and return it
for(; p.Y>min; p.Y--)
{
MapNode n = getNodeNoEx(p);
if(content_walkable(n.d) && n.getContent() != CONTENT_IGNORE)
return p.Y;
}
// Move to plan b
plan_b:
#endif
/*
Determine from map generator noise functions
*/
/* determine from map generator noise functions */
mapgen::BlockMakeData d;
d.type = m_type;
d.seed = m_seed;
s16 level = mapgen::find_ground_level_from_noise(&d, p2d, 1);
return level;
//double level = base_rock_level_2d(m_seed, p2d) + AVERAGE_MUD_AMOUNT;
//return (s16)level;
}
void ServerMap::createDatabase() {
@ -3160,19 +3141,18 @@ static bool isOccluded(Map *map, v3s16 p0, v3s16 p1, float step, float stepfac,
uf.normalize();
v3f p0f = v3f(p0.X, p0.Y, p0.Z) * BS;
u32 count = 0;
for(float s=start_off; s<d0+end_off; s+=step){
for (float s=start_off; s<d0+end_off; s+=step){
v3f pf = p0f + uf * s;
v3s16 p = floatToInt(pf, BS);
MapNode n = map->getNodeNoEx(p);
bool is_transparent = false;
ContentFeatures &f = content_features(n);
if(f.solidness == 0)
is_transparent = (f.visual_solidness != 2);
else
is_transparent = (f.solidness != 2);
if(!is_transparent){
if (
f.draw_type == CDT_CUBELIKE
|| f.draw_type == CDT_DIRTLIKE
|| f.draw_type == CDT_MELONLIKE
) {
count++;
if(count >= needed_count)
if (count >= needed_count)
return true;
}
step *= stepfac;
@ -3779,9 +3759,13 @@ void ClientMap::renderPostFx()
// - If the player is in a solid node, make everything black.
// - If the player is in liquid, draw a semi-transparent overlay.
ContentFeatures& features = content_features(n);
post_effect_color = features.post_effect_color;
if (features.solidness == 2 && m_client->getLocalPlayer()->control.free == false) {
ContentFeatures &f = content_features(n);
post_effect_color = f.post_effect_color;
if (
f.draw_type == CDT_CUBELIKE
|| f.draw_type == CDT_DIRTLIKE
|| f.draw_type == CDT_MELONLIKE
) {
post_effect_color = video::SColor(255, 0, 0, 0);
}
}

View File

@ -226,6 +226,10 @@ public:
bool addNodeWithEvent(v3s16 p, MapNode n);
bool removeNodeWithEvent(v3s16 p);
/* like addNodeWithEvent but does not affect lighting
* pretty much only for changing param values of unlit nodes */
bool updateNodeWithEvent(v3s16 p, MapNode n);
/*
Takes the blocks at the edges into account
*/

View File

@ -1974,6 +1974,7 @@ void make_block(BlockMakeData *data)
float surface_humidity = surface_humidity_2d(data->seed, p2d_center);
bool is_jungle = surface_humidity > 0.75;
bool is_desert = surface_humidity < 0.25;
/*
Add grass and mud
*/
@ -2009,10 +2010,12 @@ void make_block(BlockMakeData *data)
air_detected || water_detected
)
) {
if (current_depth == 0 && y <= WATER_LEVEL+2 && possibly_have_sand && !is_jungle)
if (is_desert || (current_depth == 0 && y <= WATER_LEVEL+2 && possibly_have_sand && !is_jungle))
have_sand = true;
if (current_depth < 4) {
if (is_desert) {
vmanip.m_data[i] = MapNode(CONTENT_DESERT_SAND);
}else if (current_depth < 4) {
if (have_sand) {
vmanip.m_data[i] = MapNode(CONTENT_SAND);
}else if (current_depth==0 && !water_detected && y >= WATER_LEVEL && air_detected) {
@ -2133,11 +2136,18 @@ void make_block(BlockMakeData *data)
}
}
// Cactii grow only on sand, on land
}else if (n->getContent() == CONTENT_SAND) {
}else if (n->getContent() == CONTENT_DESERT_SAND) {
if (y > (WATER_LEVEL+2)) {
p.Y++;
make_cactus(vmanip, p);
}
// grass on sand
}else if (n->getContent() == CONTENT_SAND) {
if (y > (WATER_LEVEL+2)) {
p.Y++;
if (vmanip.m_area.contains(p))
vmanip.m_data[vmanip.m_area.index(p)] = MapNode(CONTENT_WILDGRASS_SHORT);
}
}
}
}

View File

@ -275,7 +275,7 @@ void init_mapnode()
}
// Make CONTENT_IGNORE to not block the view when occlusion culling
content_features(CONTENT_IGNORE).solidness = 0;
content_features(CONTENT_IGNORE).draw_type = CDT_AIRLIKE;
content_features(CONTENT_IGNORE).suffocation_per_second = 0;
/*

View File

@ -172,7 +172,8 @@ enum ContentEnergyType {
CET_CONDUCTIVE,
CET_SOURCE,
CET_SWITCH,
CET_GATE
CET_GATE,
CET_DEVICE,
};
/*
@ -331,10 +332,7 @@ struct ContentFeatures
bool is_ground_content;
bool light_propagates;
bool sunlight_propagates;
u8 solidness; // Used when choosing which face is drawn
u8 visual_solidness; // When solidness=0, this tells how it looks like
// This is used for collision detection.
// Also for general solidness queries.
bool walkable;
// Player can point to these
bool pointable;
@ -533,8 +531,6 @@ struct ContentFeatures
is_ground_content = false;
light_propagates = false;
sunlight_propagates = false;
solidness = 2;
visual_solidness = 0;
walkable = true;
pointable = true;
material_pointable = true;

View File

@ -500,7 +500,10 @@ void plantgrowth_plant(ServerEnvironment *env, v3s16 p0, s16 height)
}else{
n.param2++;
}
env->getMap().addNodeWithEvent(p0,n);
/* update will fail if the content has changed, so add it */
if (!env->getMap().updateNodeWithEvent(p0,n))
env->getMap().addNodeWithEvent(p0,n);
}
void plantgrowth_grass(ServerEnvironment *env, v3s16 p0)
@ -517,7 +520,7 @@ void plantgrowth_grass(ServerEnvironment *env, v3s16 p0)
if (p1mask == 0) {
bool is_jungle = false;
v3s16 near[4] = {
v3s16 nearby_pos[4] = {
v3s16(0,0,-1),
v3s16(0,0,1),
v3s16(-1,0,0),
@ -525,7 +528,7 @@ void plantgrowth_grass(ServerEnvironment *env, v3s16 p0)
};
for (int i=0; !is_jungle && i<4; i++) {
MapNode nn = env->getMap().getNodeNoEx(p0+near[i]);
MapNode nn = env->getMap().getNodeNoEx(p0+nearby_pos[i]);
if (content_features(nn.getContent()).draw_type == CDT_DIRTLIKE && (nn.param1&0x0F) == 0x08)
is_jungle = true;
}
@ -624,7 +627,7 @@ void plantgrowth_grass(ServerEnvironment *env, v3s16 p0)
}
if (add)
env->getMap().addNodeWithEvent(p0,n);
env->getMap().updateNodeWithEvent(p0,n);
}
void plantgrowth_cactus(ServerEnvironment *env, v3s16 p0)

View File

@ -646,17 +646,24 @@ void RemotePlayer::wieldItem(u16 item)
// A block-type material
MaterialItem* mat_item = (MaterialItem*)i;
content_t content = mat_item->getMaterial();
if (content_features(content).solidness || content_features(content).visual_solidness) {
m_wield->setCube(content_features(content).tiles);
ContentFeatures *f = &content_features(content);
if (
f->draw_type == CDT_CUBELIKE
|| f->draw_type == CDT_GLASSLIKE
|| f->draw_type == CDT_DIRTLIKE
|| f->draw_type == CDT_LIQUID_SOURCE
|| f->draw_type == CDT_MELONLIKE
) {
m_wield->setCube(f->tiles);
haveWield = true;
}else if (
(
content_features(content).draw_type == CDT_NODEBOX
|| content_features(content).draw_type == CDT_NODEBOX_META
|| content_features(content).draw_type == CDT_FENCELIKE
|| content_features(content).draw_type == CDT_WALLLIKE
f->draw_type == CDT_NODEBOX
|| f->draw_type == CDT_NODEBOX_META
|| f->draw_type == CDT_FENCELIKE
|| f->draw_type == CDT_WALLLIKE
)
&& content_features(content).wield_nodebox == true
&& f->wield_nodebox == true
) {
m_wield->setNodeBox(content);
haveWield = true;

View File

@ -165,7 +165,7 @@ void SelectionMesh::generate(MeshMakeData *data)
BEGIN_DEBUG_EXCEPTION_HANDLER
data->m_BSd = 0.01;
data->m_BSd = 0.02;
data->m_BS = (float)BS+data->m_BSd;
data->mesh_detail = g_settings->getU16("mesh_detail");
data->texture_detail = g_settings->getU16("texture_detail");