goodbye steel, hello iron

master
darkrose 2017-07-20 00:32:56 +10:00
parent e68f05536a
commit 03e7e88d1a
54 changed files with 399 additions and 654 deletions

View File

Before

Width:  |  Height:  |  Size: 422 B

After

Width:  |  Height:  |  Size: 422 B

View File

Before

Width:  |  Height:  |  Size: 641 B

After

Width:  |  Height:  |  Size: 641 B

View File

Before

Width:  |  Height:  |  Size: 483 B

After

Width:  |  Height:  |  Size: 483 B

View File

Before

Width:  |  Height:  |  Size: 363 B

After

Width:  |  Height:  |  Size: 363 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 546 B

After

Width:  |  Height:  |  Size: 546 B

View File

Before

Width:  |  Height:  |  Size: 905 B

After

Width:  |  Height:  |  Size: 905 B

View File

Before

Width:  |  Height:  |  Size: 534 B

After

Width:  |  Height:  |  Size: 534 B

View File

Before

Width:  |  Height:  |  Size: 623 B

After

Width:  |  Height:  |  Size: 623 B

View File

Before

Width:  |  Height:  |  Size: 179 B

After

Width:  |  Height:  |  Size: 179 B

View File

Before

Width:  |  Height:  |  Size: 626 B

After

Width:  |  Height:  |  Size: 626 B

View File

Before

Width:  |  Height:  |  Size: 212 B

After

Width:  |  Height:  |  Size: 212 B

View File

Before

Width:  |  Height:  |  Size: 623 B

After

Width:  |  Height:  |  Size: 623 B

View File

Before

Width:  |  Height:  |  Size: 626 B

After

Width:  |  Height:  |  Size: 626 B

View File

Before

Width:  |  Height:  |  Size: 705 B

After

Width:  |  Height:  |  Size: 705 B

View File

Before

Width:  |  Height:  |  Size: 736 B

After

Width:  |  Height:  |  Size: 736 B

View File

Before

Width:  |  Height:  |  Size: 712 B

After

Width:  |  Height:  |  Size: 712 B

View File

Before

Width:  |  Height:  |  Size: 673 B

After

Width:  |  Height:  |  Size: 673 B

View File

Before

Width:  |  Height:  |  Size: 673 B

After

Width:  |  Height:  |  Size: 673 B

View File

Before

Width:  |  Height:  |  Size: 673 B

After

Width:  |  Height:  |  Size: 673 B

View File

Before

Width:  |  Height:  |  Size: 741 B

After

Width:  |  Height:  |  Size: 741 B

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 282 B

View File

Before

Width:  |  Height:  |  Size: 201 B

After

Width:  |  Height:  |  Size: 201 B

View File

Before

Width:  |  Height:  |  Size: 855 B

After

Width:  |  Height:  |  Size: 855 B

View File

Before

Width:  |  Height:  |  Size: 243 B

After

Width:  |  Height:  |  Size: 243 B

View File

Before

Width:  |  Height:  |  Size: 852 B

After

Width:  |  Height:  |  Size: 852 B

View File

Before

Width:  |  Height:  |  Size: 268 B

After

Width:  |  Height:  |  Size: 268 B

View File

Before

Width:  |  Height:  |  Size: 232 B

After

Width:  |  Height:  |  Size: 232 B

View File

Before

Width:  |  Height:  |  Size: 269 B

After

Width:  |  Height:  |  Size: 269 B

View File

Before

Width:  |  Height:  |  Size: 320 B

After

Width:  |  Height:  |  Size: 320 B

View File

Before

Width:  |  Height:  |  Size: 194 B

After

Width:  |  Height:  |  Size: 194 B

View File

@ -73,7 +73,7 @@ void content_clothesitem_init()
{
u16 r[9] = {
CONTENT_CRAFTITEM_CANVAS_SHEET, CONTENT_CRAFTITEM_CANVAS_SHEET, CONTENT_CRAFTITEM_CANVAS_SHEET,
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_STEEL_INGOT,
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_IRON_INGOT,
CONTENT_CRAFTITEM_CANVAS_SHEET, CONTENT_IGNORE, CONTENT_CRAFTITEM_CANVAS_SHEET
};
crafting::setRecipe(r,i,1);
@ -95,7 +95,7 @@ void content_clothesitem_init()
{
u16 r[9] = {
CONTENT_CRAFTITEM_CANVAS_SHEET, CONTENT_CRAFTITEM_CANVAS_SHEET, CONTENT_CRAFTITEM_CANVAS_SHEET,
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_CRAFTITEM_CANVAS_SHEET, CONTENT_CRAFTITEM_STEEL_INGOT,
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_CRAFTITEM_CANVAS_SHEET, CONTENT_CRAFTITEM_IRON_INGOT,
CONTENT_IGNORE, CONTENT_CRAFTITEM_CANVAS_SHEET, CONTENT_IGNORE
};
crafting::setRecipe(r,i,1);
@ -2889,7 +2889,7 @@ void content_clothesitem_init()
f->vacuum = 0.0;
f->effect = 1.6;
f->durability = 8;
crafting::set1over1Recipe(CONTENT_CLOTHESITEM_LEATHER_NECKLACE,CONTENT_CRAFTITEM_STEEL_INGOT,i);
crafting::set1over1Recipe(CONTENT_CLOTHESITEM_LEATHER_NECKLACE,CONTENT_CRAFTITEM_IRON_INGOT,i);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -2910,63 +2910,63 @@ void content_clothesitem_init()
content_list_add("creative",i,1,0);
// armour
i = CONTENT_CLOTHESITEM_STEEL_HELMET;
i = CONTENT_CLOTHESITEM_IRON_HELMET;
f = &g_content_clothesitem_features[(i&~CONTENT_CLOTHESITEM_MASK)];
f->content = i;
f->type = CT_HAT;
f->texture = "clothes_helmet_steel.png";
f->overlay_texture = "clothes_player_helmet_steel.png";
f->description = gettext("Steel Helmet");
f->texture = "clothes_helmet_iron.png";
f->overlay_texture = "clothes_player_helmet_iron.png";
f->description = gettext("Iron Helmet");
f->armour = 1.0;
f->warmth = 0.0;
f->vacuum = 0.1;
f->durability = 10;
crafting::setHatRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,i);
crafting::setHatRecipe(CONTENT_CRAFTITEM_IRON_INGOT,i);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_CLOTHESITEM_STEEL_SHIRT;
i = CONTENT_CLOTHESITEM_IRON_SHIRT;
f = &g_content_clothesitem_features[(i&~CONTENT_CLOTHESITEM_MASK)];
f->content = i;
f->type = CT_JACKET;
f->texture = "clothes_shirt_steel.png";
f->overlay_texture = "clothes_player_shirt_steel.png";
f->description = gettext("Steel Chest Armour");
f->texture = "clothes_shirt_iron.png";
f->overlay_texture = "clothes_player_shirt_iron.png";
f->description = gettext("Iron Chest Armour");
f->armour = 1.0;
f->warmth = 0.0;
f->vacuum = 0.1;
f->durability = 10;
crafting::setShirtRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,i);
crafting::setShirtRecipe(CONTENT_CRAFTITEM_IRON_INGOT,i);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_CLOTHESITEM_STEEL_PANTS;
i = CONTENT_CLOTHESITEM_IRON_PANTS;
f = &g_content_clothesitem_features[(i&~CONTENT_CLOTHESITEM_MASK)];
f->content = i;
f->type = CT_PANTS;
f->texture = "clothes_pants_steel.png";
f->overlay_texture = "clothes_player_pants_steel.png";
f->description = gettext("Steel Pants");
f->texture = "clothes_pants_iron.png";
f->overlay_texture = "clothes_player_pants_iron.png";
f->description = gettext("Iron Pants");
f->armour = 1.0;
f->warmth = 0.0;
f->vacuum = 0.1;
f->durability = 10;
crafting::setPantsRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,i);
crafting::setPantsRecipe(CONTENT_CRAFTITEM_IRON_INGOT,i);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_CLOTHESITEM_STEEL_BOOTS;
i = CONTENT_CLOTHESITEM_IRON_BOOTS;
f = &g_content_clothesitem_features[(i&~CONTENT_CLOTHESITEM_MASK)];
f->content = i;
f->type = CT_BOOTS;
f->texture = "clothes_boots_steel.png";
f->overlay_texture = "clothes_player_boots_steel.png";
f->description = gettext("Steel Boots");
f->texture = "clothes_boots_iron.png";
f->overlay_texture = "clothes_player_boots_iron.png";
f->description = gettext("Iron Boots");
f->armour = 1.0;
f->warmth = 0.0;
f->vacuum = 0.1;
f->durability = 10;
crafting::setBootsRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,i);
crafting::setBootsRecipe(CONTENT_CRAFTITEM_IRON_INGOT,i);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);

View File

@ -291,10 +291,10 @@ ClothesItemFeatures *content_clothesitem_features(content_t i);
#define CONTENT_CLOTHESITEM_IRON_MEDALLION (CONTENT_CLOTHESITEM_MASK | 0xC6)
#define CONTENT_CLOTHESITEM_QUARTZ_MEDALLION (CONTENT_CLOTHESITEM_MASK | 0xC7)
// armour
#define CONTENT_CLOTHESITEM_STEEL_HELMET (CONTENT_CLOTHESITEM_MASK | 0xC8)
#define CONTENT_CLOTHESITEM_STEEL_SHIRT (CONTENT_CLOTHESITEM_MASK | 0xC9)
#define CONTENT_CLOTHESITEM_STEEL_PANTS (CONTENT_CLOTHESITEM_MASK | 0xCA)
#define CONTENT_CLOTHESITEM_STEEL_BOOTS (CONTENT_CLOTHESITEM_MASK | 0xCB)
#define CONTENT_CLOTHESITEM_IRON_HELMET (CONTENT_CLOTHESITEM_MASK | 0xC8)
#define CONTENT_CLOTHESITEM_IRON_SHIRT (CONTENT_CLOTHESITEM_MASK | 0xC9)
#define CONTENT_CLOTHESITEM_IRON_PANTS (CONTENT_CLOTHESITEM_MASK | 0xCA)
#define CONTENT_CLOTHESITEM_IRON_BOOTS (CONTENT_CLOTHESITEM_MASK | 0xCB)
#define CONTENT_CLOTHESITEM_COPPER_HELMET (CONTENT_CLOTHESITEM_MASK | 0xCC)
#define CONTENT_CLOTHESITEM_COPPER_SHIRT (CONTENT_CLOTHESITEM_MASK | 0xCD)
#define CONTENT_CLOTHESITEM_COPPER_PANTS (CONTENT_CLOTHESITEM_MASK | 0xCE)

View File

@ -1019,10 +1019,10 @@ void giveCreative(Player *player)
void giveInitial(Player *player)
{
player->resetInventory();
assert(player->inventory.addItem("main", new ToolItem(CONTENT_TOOLITEM_STEELPICK, 0, 0)) == NULL) ;
assert(player->inventory.addItem("main", new ToolItem(CONTENT_TOOLITEM_STEELAXE, 0, 0)) == NULL) ;
assert(player->inventory.addItem("main", new ToolItem(CONTENT_TOOLITEM_STEELSHOVEL, 0, 0)) == NULL) ;
assert(player->inventory.addItem("main", new ToolItem(CONTENT_TOOLITEM_STEELSHEARS, 0, 0)) == NULL) ;
assert(player->inventory.addItem("main", new ToolItem(CONTENT_TOOLITEM_IRON_PICK, 0, 0)) == NULL) ;
assert(player->inventory.addItem("main", new ToolItem(CONTENT_TOOLITEM_IRON_AXE, 0, 0)) == NULL) ;
assert(player->inventory.addItem("main", new ToolItem(CONTENT_TOOLITEM_IRON_SHOVEL, 0, 0)) == NULL) ;
assert(player->inventory.addItem("main", new ToolItem(CONTENT_TOOLITEM_IRON_SHEARS, 0, 0)) == NULL) ;
assert(player->inventory.addItem("main", new MaterialItem(CONTENT_TORCH, 99, 0)) == NULL) ;
assert(player->inventory.addItem("main", new MaterialItem(CONTENT_ROUGHSTONEBRICK, 99, 0)) == NULL) ;
assert(player->inventory.addItem("main", new MaterialItem(CONTENT_BORDERSTONE, 5, 0)) == NULL) ;

View File

@ -97,7 +97,7 @@ void content_craftitem_init()
f->texture = "padlock.png";
f->name = "padlock";
f->description = gettext("Padlock");
crafting::set1over1Recipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_CRAFTITEM_COPPER_INGOT,CONTENT_CRAFTITEM_PADLOCK);
crafting::set1over1Recipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_CRAFTITEM_COPPER_INGOT,CONTENT_CRAFTITEM_PADLOCK);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -125,7 +125,7 @@ void content_craftitem_init()
f->texture = "lump_of_iron.png";
f->name = "lump_of_iron";
f->description = gettext("Iron Lump");
f->cook_result = CONTENT_CRAFTITEM_STEEL_INGOT;
f->cook_result = CONTENT_CRAFTITEM_IRON_INGOT;
f->cook_type = COOK_FURNACE;
content_list_add("creative",i,1,0);
content_list_add("cooking",i,1,0);
@ -230,12 +230,12 @@ void content_craftitem_init()
f->description = gettext("Flint");
content_list_add("creative",i,1,0);
i = CONTENT_CRAFTITEM_STEEL_INGOT;
i = CONTENT_CRAFTITEM_IRON_INGOT;
f = &g_content_craftitem_features[(i&~CONTENT_CRAFTITEM_MASK)];
f->content = CONTENT_CRAFTITEM_STEEL_INGOT;
f->texture = "steel_ingot.png";
f->name = "steel_ingot";
f->description = gettext("Steel Ingot");
f->content = CONTENT_CRAFTITEM_IRON_INGOT;
f->texture = "iron_ingot.png";
f->name = "iron_ingot";
f->description = gettext("Iron Ingot");
content_list_add("creative",i,1,0);
i = CONTENT_CRAFTITEM_CLAY_BRICK;
@ -306,9 +306,9 @@ void content_craftitem_init()
f->health_effect = 40;
{
u16 recipe[9] = {
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_STEEL_INGOT,
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_IRON_INGOT,
CONTENT_IGNORE, CONTENT_CRAFTITEM_APPLE, CONTENT_IGNORE,
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_STEEL_INGOT
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_IRON_INGOT
};
crafting::setRecipe(recipe,CONTENT_CRAFTITEM_APPLE_IRON,1);
}
@ -1251,7 +1251,7 @@ void content_craftitem_init()
f->name = "arrow";
f->description = gettext("Arrow");
f->shot_item = CONTENT_MOB_ARROW;
crafting::set1over4Recipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_CRAFTITEM_STICK,CONTENT_CRAFTITEM_ARROW);
crafting::set1over4Recipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_CRAFTITEM_STICK,CONTENT_CRAFTITEM_ARROW);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -1433,7 +1433,7 @@ void content_craftitem_init()
i = CONTENT_CRAFTITEM_TEA;
f = &g_content_craftitem_features[(i&~CONTENT_CRAFTITEM_MASK)];
f->content = i;
f->texture = "steel_bottle.png^tea_bag.png";
f->texture = "iron_bottle.png^tea_bag.png";
f->name = "tea_drink";
f->description = gettext("Tea");
f->stackable = false;
@ -1444,8 +1444,8 @@ void content_craftitem_init()
f->health_effect = 20;
f->cold_effect = 300;
f->energy_effect = 10;
f->onuse_replace_item = CONTENT_CRAFTITEM_STEEL_BOTTLE;
crafting::set1over1Recipe(CONTENT_CRAFTITEM_TEA_LEAVES,CONTENT_CRAFTITEM_STEEL_BOTTLE_WATER,CONTENT_CRAFTITEM_TEA);
f->onuse_replace_item = CONTENT_CRAFTITEM_IRON_BOTTLE;
crafting::set1over1Recipe(CONTENT_CRAFTITEM_TEA_LEAVES,CONTENT_CRAFTITEM_IRON_BOTTLE_WATER,CONTENT_CRAFTITEM_TEA);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -1466,7 +1466,7 @@ void content_craftitem_init()
i = CONTENT_CRAFTITEM_COFFEE;
f = &g_content_craftitem_features[(i&~CONTENT_CRAFTITEM_MASK)];
f->content = i;
f->texture = "steel_bottle.png^coffee_bean.png";
f->texture = "iron_bottle.png^coffee_bean.png";
f->name = "coffee_drink";
f->description = gettext("Coffee");
f->stackable = false;
@ -1477,25 +1477,25 @@ void content_craftitem_init()
f->health_effect = 15;
f->cold_effect = 10;
f->energy_effect = 300;
f->onuse_replace_item = CONTENT_CRAFTITEM_STEEL_BOTTLE;
crafting::set1over1Recipe(CONTENT_CRAFTITEM_COFFEE_BEANS,CONTENT_CRAFTITEM_STEEL_BOTTLE_WATER,CONTENT_CRAFTITEM_COFFEE);
f->onuse_replace_item = CONTENT_CRAFTITEM_IRON_BOTTLE;
crafting::set1over1Recipe(CONTENT_CRAFTITEM_COFFEE_BEANS,CONTENT_CRAFTITEM_IRON_BOTTLE_WATER,CONTENT_CRAFTITEM_COFFEE);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_CRAFTITEM_STEEL_BOTTLE;
i = CONTENT_CRAFTITEM_IRON_BOTTLE;
f = &g_content_craftitem_features[(i&~CONTENT_CRAFTITEM_MASK)];
f->content = i;
f->texture = "steel_bottle.png";
f->name = "steel_bottle";
f->description = gettext("Steel Bottle");
f->texture = "iron_bottle.png";
f->name = "iron_bottle";
f->description = gettext("Iron Bottle");
f->drop_count = 1;
{
u16 r[9] = {
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_STEEL_INGOT,
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_STEEL_INGOT,
CONTENT_IGNORE, CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_IGNORE
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_IRON_INGOT,
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_IRON_INGOT,
CONTENT_IGNORE, CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_IGNORE
};
crafting::setRecipe(r,CONTENT_CRAFTITEM_STEEL_BOTTLE,5);
crafting::setRecipe(r,CONTENT_CRAFTITEM_IRON_BOTTLE,5);
}
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -1515,10 +1515,10 @@ void content_craftitem_init()
f->onuse_replace_item = CONTENT_CRAFTITEM_GLASS_BOTTLE;
content_list_add("creative",i,1,0);
i = CONTENT_CRAFTITEM_STEEL_BOTTLE_WATER;
i = CONTENT_CRAFTITEM_IRON_BOTTLE_WATER;
f = &g_content_craftitem_features[(i&~CONTENT_CRAFTITEM_MASK)];
f->content = i;
f->texture = "steel_bottle.png^water_droplet.png";
f->texture = "iron_bottle.png^water_droplet.png";
f->name = "hotwater_drink";
f->description = gettext("Bottle of Hot Water");
f->stackable = false;
@ -1528,7 +1528,7 @@ void content_craftitem_init()
f->hunger_effect = 5;
f->health_effect = 8;
f->cold_effect = 5;
f->onuse_replace_item = CONTENT_CRAFTITEM_STEEL_BOTTLE;
f->onuse_replace_item = CONTENT_CRAFTITEM_IRON_BOTTLE;
content_list_add("creative",i,1,0);
i = CONTENT_CRAFTITEM_MITHRIL_RAW;

View File

@ -101,7 +101,7 @@ CraftItemFeatures *content_craftitem_features(content_t i);
#define CONTENT_CRAFTITEM_SILVER_INGOT (CONTENT_CRAFTITEM_MASK | 0x0E)
#define CONTENT_CRAFTITEM_GOLD_INGOT (CONTENT_CRAFTITEM_MASK | 0x0F)
#define CONTENT_CRAFTITEM_FLINT (CONTENT_CRAFTITEM_MASK | 0x10)
#define CONTENT_CRAFTITEM_STEEL_INGOT (CONTENT_CRAFTITEM_MASK | 0x11)
#define CONTENT_CRAFTITEM_IRON_INGOT (CONTENT_CRAFTITEM_MASK | 0x11)
#define CONTENT_CRAFTITEM_CLAY_BRICK (CONTENT_CRAFTITEM_MASK | 0x12)
#define CONTENT_CRAFTITEM_RAT (CONTENT_CRAFTITEM_MASK | 0x13)
#define CONTENT_CRAFTITEM_COOKED_RAT (CONTENT_CRAFTITEM_MASK | 0x14)
@ -205,8 +205,8 @@ CraftItemFeatures *content_craftitem_features(content_t i);
#define CONTENT_CRAFTITEM_TEA (CONTENT_CRAFTITEM_MASK | 0x79)
#define CONTENT_CRAFTITEM_COFFEE_BEANS (CONTENT_CRAFTITEM_MASK | 0x7A)
#define CONTENT_CRAFTITEM_COFFEE (CONTENT_CRAFTITEM_MASK | 0x7B)
#define CONTENT_CRAFTITEM_STEEL_BOTTLE (CONTENT_CRAFTITEM_MASK | 0x7C)
#define CONTENT_CRAFTITEM_STEEL_BOTTLE_WATER (CONTENT_CRAFTITEM_MASK | 0x7D)
#define CONTENT_CRAFTITEM_IRON_BOTTLE (CONTENT_CRAFTITEM_MASK | 0x7C)
#define CONTENT_CRAFTITEM_IRON_BOTTLE_WATER (CONTENT_CRAFTITEM_MASK | 0x7D)
#define CONTENT_CRAFTITEM_GLASS_BOTTLE_WATER (CONTENT_CRAFTITEM_MASK | 0x7E)
#define CONTENT_CRAFTITEM_MITHRIL_RAW (CONTENT_CRAFTITEM_MASK | 0x7F)
#define CONTENT_CRAFTITEM_MITHRIL_UNBOUND (CONTENT_CRAFTITEM_MASK | 0x80)

View File

@ -513,8 +513,8 @@ static int meshgen_check_walllike(MeshMakeData *data, MapNode n, v3s16 p, u8 d[8
|| f2->draw_type == CDT_WALLLIKE
|| c2 == CONTENT_WOOD_GATE
|| c2 == CONTENT_WOOD_GATE_OPEN
|| c2 == CONTENT_STEEL_GATE
|| c2 == CONTENT_STEEL_GATE_OPEN
|| c2 == CONTENT_IRON_GATE
|| c2 == CONTENT_IRON_GATE_OPEN
|| (
c2 != CONTENT_IGNORE
&& c2 == content_features(n).special_alternate_node
@ -3516,8 +3516,8 @@ void meshgen_fencelike(MeshMakeData *data, v3s16 p, MapNode &n, SelectedNode &se
|| f2->draw_type == CDT_WALLLIKE
|| n2.getContent() == CONTENT_WOOD_GATE
|| n2.getContent() == CONTENT_WOOD_GATE_OPEN
|| n2.getContent() == CONTENT_STEEL_GATE
|| n2.getContent() == CONTENT_STEEL_GATE_OPEN
|| n2.getContent() == CONTENT_IRON_GATE
|| n2.getContent() == CONTENT_IRON_GATE_OPEN
|| (
n2.getContent() != CONTENT_IGNORE
&& n2.getContent() == content_features(n).special_alternate_node

View File

@ -2266,11 +2266,11 @@ void content_mapnode_init(bool repeat)
f->crush_type = CRUSH_CRUSHER;
content_list_add("creative",i,1,0);
i = CONTENT_STEEL;
i = CONTENT_IRON;
f = &content_features(i);
f->description = gettext("Steel Block");
f->setAllTextures("steel_block.png");
f->setInventoryTextureCube("steel_block.png", "steel_block.png", "steel_block.png");
f->description = gettext("Iron Block");
f->setAllTextures("iron_block.png");
f->setInventoryTextureCube("iron_block.png", "iron_block.png", "iron_block.png");
f->param_type = CPT_NONE;
f->draw_type = CDT_CUBELIKE;
f->is_ground_content = true;
@ -2278,8 +2278,8 @@ void content_mapnode_init(bool repeat)
f->type = CMT_STONE;
f->dig_time = 5.0;
f->destructive_mob_safe = true;
crafting::setHardBlockRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_STEEL);
crafting::setUncraftHardBlockRecipe(CONTENT_STEEL,CONTENT_CRAFTITEM_STEEL_INGOT);
crafting::setHardBlockRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_IRON);
crafting::setUncraftHardBlockRecipe(CONTENT_IRON,CONTENT_CRAFTITEM_IRON_INGOT);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);

View File

@ -75,8 +75,8 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version);
#define CONTENT_CREATIVE_CHEST 0x019
#define CONTENT_FURNACE_ACTIVE 0x01A
#define CONTENT_LOCKABLE_FURNACE_ACTIVE 0x01B
#define CONTENT_STEEL_FENCE 0x01C
#define CONTENT_STEEL_BARS 0x01D
#define CONTENT_IRON_FENCE 0x01C
#define CONTENT_IRON_BARS 0x01D
#define CONTENT_RAIL 0x01E
#define CONTENT_DESERT_SAND 0x01F
#define CONTENT_LAVA 0x020
@ -104,15 +104,15 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version);
#define CONTENT_SIGN_JUNGLE 0x033
#define CONTENT_SIGN_APPLE 0x034
#define CONTENT_SIGN_PINE 0x035
#define CONTENT_SIGN_STEEL 0x036
#define CONTENT_SIGN_IRON 0x036
#define CONTENT_SIGN_WALL_JUNGLE 0x037
#define CONTENT_SIGN_WALL_APPLE 0x038
#define CONTENT_SIGN_WALL_PINE 0x039
#define CONTENT_SIGN_WALL_STEEL 0x03A
#define CONTENT_SIGN_WALL_IRON 0x03A
#define CONTENT_SIGN_UD_JUNGLE 0x03B
#define CONTENT_SIGN_UD_APPLE 0x03C
#define CONTENT_SIGN_UD_PINE 0x03D
#define CONTENT_SIGN_UD_STEEL 0x03E
#define CONTENT_SIGN_UD_IRON 0x03E
#define CONTENT_APPLE_FENCE 0x03F
#define CONTENT_BUSH_BLUEBERRY 0x040
#define CONTENT_BUSH_RASPBERRY 0x041
@ -209,7 +209,7 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version);
#define CONTENT_WOOD 0x808
#define CONTENT_SAND 0x809
#define CONTENT_ROUGHSTONE 0x80a
#define CONTENT_STEEL 0x80b
#define CONTENT_IRON 0x80b
#define CONTENT_GLASS 0x80c
#define CONTENT_MOSSYCOBBLE 0x80d
#define CONTENT_GRAVEL 0x80e
@ -572,72 +572,72 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version);
// doors
#define CONTENT_WOOD_DOOR_LB 0xB00
#define CONTENT_WOOD_DOOR_LT 0xB01
#define CONTENT_STEEL_DOOR_LB 0xB02
#define CONTENT_STEEL_DOOR_LT 0xB03
#define CONTENT_IRON_DOOR_LB 0xB02
#define CONTENT_IRON_DOOR_LT 0xB03
#define CONTENT_GLASS_DOOR_LB 0xB04
#define CONTENT_GLASS_DOOR_LT 0xB05
// windowed doors
#define CONTENT_WOOD_W_DOOR_LB 0xB10
#define CONTENT_WOOD_W_DOOR_LT 0xB11
#define CONTENT_STEEL_W_DOOR_LB 0xB12
#define CONTENT_STEEL_W_DOOR_LT 0xB13
#define CONTENT_IRON_W_DOOR_LB 0xB12
#define CONTENT_IRON_W_DOOR_LT 0xB13
// right doors
#define CONTENT_WOOD_DOOR_RB 0xB20
#define CONTENT_WOOD_DOOR_RT 0xB21
#define CONTENT_STEEL_DOOR_RB 0xB22
#define CONTENT_STEEL_DOOR_RT 0xB23
#define CONTENT_IRON_DOOR_RB 0xB22
#define CONTENT_IRON_DOOR_RT 0xB23
#define CONTENT_GLASS_DOOR_RB 0xB24
#define CONTENT_GLASS_DOOR_RT 0xB25
// right windowed doors
#define CONTENT_WOOD_W_DOOR_RB 0xB30
#define CONTENT_WOOD_W_DOOR_RT 0xB31
#define CONTENT_STEEL_W_DOOR_RB 0xB32
#define CONTENT_STEEL_W_DOOR_RT 0xB33
#define CONTENT_IRON_W_DOOR_RB 0xB32
#define CONTENT_IRON_W_DOOR_RT 0xB33
// hatches
#define CONTENT_WOOD_HATCH 0xB40
#define CONTENT_STEEL_HATCH 0xB42
#define CONTENT_IRON_HATCH 0xB42
#define CONTENT_WOOD_W_HATCH 0xB44
#define CONTENT_STEEL_W_HATCH 0xB46
#define CONTENT_IRON_W_HATCH 0xB46
// gates
#define CONTENT_WOOD_GATE 0xB60
#define CONTENT_STEEL_GATE 0xB62
#define CONTENT_IRON_GATE 0xB62
// open doors
#define CONTENT_WOOD_DOOR_LB_OPEN 0xB80
#define CONTENT_WOOD_DOOR_LT_OPEN 0xB81
#define CONTENT_STEEL_DOOR_LB_OPEN 0xB82
#define CONTENT_STEEL_DOOR_LT_OPEN 0xB83
#define CONTENT_IRON_DOOR_LB_OPEN 0xB82
#define CONTENT_IRON_DOOR_LT_OPEN 0xB83
#define CONTENT_GLASS_DOOR_LB_OPEN 0xB84
#define CONTENT_GLASS_DOOR_LT_OPEN 0xB85
// open windowed doors
#define CONTENT_WOOD_W_DOOR_LB_OPEN 0xB90
#define CONTENT_WOOD_W_DOOR_LT_OPEN 0xB91
#define CONTENT_STEEL_W_DOOR_LB_OPEN 0xB92
#define CONTENT_STEEL_W_DOOR_LT_OPEN 0xB93
#define CONTENT_IRON_W_DOOR_LB_OPEN 0xB92
#define CONTENT_IRON_W_DOOR_LT_OPEN 0xB93
// open right doors
#define CONTENT_WOOD_DOOR_RB_OPEN 0xBA0
#define CONTENT_WOOD_DOOR_RT_OPEN 0xBA1
#define CONTENT_STEEL_DOOR_RB_OPEN 0xBA2
#define CONTENT_STEEL_DOOR_RT_OPEN 0xBA3
#define CONTENT_IRON_DOOR_RB_OPEN 0xBA2
#define CONTENT_IRON_DOOR_RT_OPEN 0xBA3
#define CONTENT_GLASS_DOOR_RB_OPEN 0xBA4
#define CONTENT_GLASS_DOOR_RT_OPEN 0xBA5
// open right windowed doors
#define CONTENT_WOOD_W_DOOR_RB_OPEN 0xBB0
#define CONTENT_WOOD_W_DOOR_RT_OPEN 0xBB1
#define CONTENT_STEEL_W_DOOR_RB_OPEN 0xBB2
#define CONTENT_STEEL_W_DOOR_RT_OPEN 0xBB3
#define CONTENT_IRON_W_DOOR_RB_OPEN 0xBB2
#define CONTENT_IRON_W_DOOR_RT_OPEN 0xBB3
// open hatches
#define CONTENT_WOOD_HATCH_OPEN 0xBC0
#define CONTENT_STEEL_HATCH_OPEN 0xBC2
#define CONTENT_IRON_HATCH_OPEN 0xBC2
#define CONTENT_WOOD_W_HATCH_OPEN 0xBC4
#define CONTENT_STEEL_W_HATCH_OPEN 0xBC6
#define CONTENT_IRON_W_HATCH_OPEN 0xBC6
// open gates
#define CONTENT_WOOD_GATE_OPEN 0xBE0
#define CONTENT_STEEL_GATE_OPEN 0xBE2
#define CONTENT_IRON_GATE_OPEN 0xBE2
// door/hatch/gate masks
#define CONTENT_DOOR_MIN 0xB00
#define CONTENT_DOOR_MAX 0xBFF
#define CONTENT_DOOR_STEEL_MASK 0x002
#define CONTENT_DOOR_IRON_MASK 0x002
#define CONTENT_DOOR_SECT_MASK 0x001
#define CONTENT_DOOR_OPEN_MASK 0x080
#define CONTENT_HATCH_MASK 0x040

View File

@ -161,7 +161,7 @@ void content_mapnode_circuit(bool repeat)
{
u16 r[9] = {
CONTENT_STONE, CONTENT_WOOD_SLAB, CONTENT_STONE,
CONTENT_CRAFTITEM_MITHRILDUST, CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_CRAFTITEM_QUARTZ_DUST,
CONTENT_CRAFTITEM_MITHRILDUST, CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_CRAFTITEM_QUARTZ_DUST,
CONTENT_STONE, CONTENT_WOOD_SLAB, CONTENT_STONE
};
crafting::setRecipe(r,CONTENT_CIRCUIT_WATERWHEEL,1);
@ -430,7 +430,7 @@ void content_mapnode_circuit(bool repeat)
{
u16 recipe[9] = {
CONTENT_WOOD, CONTENT_ROUGHSTONE, CONTENT_ROUGHSTONE,
CONTENT_WOOD, CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_CRAFTITEM_MITHRILDUST,
CONTENT_WOOD, CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_CRAFTITEM_MITHRILDUST,
CONTENT_WOOD, CONTENT_ROUGHSTONE, CONTENT_ROUGHSTONE
};
crafting::setRecipe(recipe,CONTENT_CIRCUIT_PISTON_OFF,1);

View File

@ -90,15 +90,15 @@ void content_mapnode_door(bool repeat)
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_STEEL_DOOR_LB;
i = CONTENT_IRON_DOOR_LB;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Door");
f->setAllTextures("door_steel_b.png");
f->setTexture(2,"door_steel_b.png^[transformFX");
f->setTexture(3,"door_steel_b.png^[transformFX");
f->setTexture(4,"door_steel_b.png^[transformFX");
f->setInventoryTexture("door_steel_inv.png");
f->description = gettext("Iron Door");
f->setAllTextures("door_iron_b.png");
f->setTexture(2,"door_iron_b.png^[transformFX");
f->setTexture(3,"door_iron_b.png^[transformFX");
f->setTexture(4,"door_iron_b.png^[transformFX");
f->setInventoryTexture("door_iron_inv.png");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -107,7 +107,7 @@ void content_mapnode_door(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
f->onpunch_replace_node = CONTENT_STEEL_DOOR_LB_OPEN;
f->onpunch_replace_node = CONTENT_IRON_DOOR_LB_OPEN;
f->sound_punch = "env-dooropen";
content_nodebox_door(f);
f->type = CMT_STONE;
@ -117,15 +117,15 @@ void content_mapnode_door(bool repeat)
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_DOOR_LT;
i = CONTENT_IRON_DOOR_LT;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Door");
f->setAllTextures("door_steel_t.png");
f->setTexture(2,"door_steel_t.png^[transformFX");
f->setTexture(3,"door_steel_t.png^[transformFX");
f->setTexture(4,"door_steel_t.png^[transformFX");
f->setInventoryTexture("door_steel_inv.png");
f->description = gettext("Iron Door");
f->setAllTextures("door_iron_t.png");
f->setTexture(2,"door_iron_t.png^[transformFX");
f->setTexture(3,"door_iron_t.png^[transformFX");
f->setTexture(4,"door_iron_t.png^[transformFX");
f->setInventoryTexture("door_iron_inv.png");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -133,9 +133,9 @@ void content_mapnode_door(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_STEEL_DOOR_RT;
f->onuse_replace_node = CONTENT_IRON_DOOR_RT;
f->onact_also_affects = v3s16(0,-1,0);
f->onpunch_replace_node = CONTENT_STEEL_DOOR_LT_OPEN;
f->onpunch_replace_node = CONTENT_IRON_DOOR_LT_OPEN;
f->sound_punch = "env-dooropen";
content_nodebox_door(f);
f->type = CMT_STONE;
@ -145,7 +145,7 @@ void content_mapnode_door(bool repeat)
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);
crafting::set1over1Recipe(CONTENT_IRON_HATCH,CONTENT_IRON_HATCH,CONTENT_IRON_DOOR_LT);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -270,15 +270,15 @@ void content_mapnode_door(bool repeat)
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_STEEL_W_DOOR_LB;
i = CONTENT_IRON_W_DOOR_LB;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Windowed Door");
f->setAllTextures("door_steel_wb.png");
f->setTexture(2,"door_steel_wb.png^[transformFX");
f->setTexture(3,"door_steel_wb.png^[transformFX");
f->setTexture(4,"door_steel_wb.png^[transformFX");
f->setInventoryTexture("door_steel_w_inv.png");
f->description = gettext("Iron Windowed Door");
f->setAllTextures("door_iron_wb.png");
f->setTexture(2,"door_iron_wb.png^[transformFX");
f->setTexture(3,"door_iron_wb.png^[transformFX");
f->setTexture(4,"door_iron_wb.png^[transformFX");
f->setInventoryTexture("door_iron_w_inv.png");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -288,7 +288,7 @@ void content_mapnode_door(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
f->onpunch_replace_node = CONTENT_STEEL_W_DOOR_LB_OPEN;
f->onpunch_replace_node = CONTENT_IRON_W_DOOR_LB_OPEN;
f->sound_punch = "env-dooropen";
content_nodebox_door(f);
f->type = CMT_STONE;
@ -298,15 +298,15 @@ void content_mapnode_door(bool repeat)
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_W_DOOR_LT;
i = CONTENT_IRON_W_DOOR_LT;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Windowed Door");
f->setAllTextures("door_steel_wt.png");
f->setTexture(2,"door_steel_wt.png^[transformFX");
f->setTexture(3,"door_steel_wt.png^[transformFX");
f->setTexture(4,"door_steel_wt.png^[transformFX");
f->setInventoryTexture("door_steel_w_inv.png");
f->description = gettext("Iron Windowed Door");
f->setAllTextures("door_iron_wt.png");
f->setTexture(2,"door_iron_wt.png^[transformFX");
f->setTexture(3,"door_iron_wt.png^[transformFX");
f->setTexture(4,"door_iron_wt.png^[transformFX");
f->setInventoryTexture("door_iron_w_inv.png");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -315,9 +315,9 @@ void content_mapnode_door(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_STEEL_W_DOOR_RT;
f->onuse_replace_node = CONTENT_IRON_W_DOOR_RT;
f->onact_also_affects = v3s16(0,-1,0);
f->onpunch_replace_node = CONTENT_STEEL_W_DOOR_LT_OPEN;
f->onpunch_replace_node = CONTENT_IRON_W_DOOR_LT_OPEN;
f->sound_punch = "env-dooropen";
content_nodebox_doorw(f);
f->type = CMT_STONE;
@ -327,8 +327,8 @@ void content_mapnode_door(bool repeat)
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);
crafting::set1over1Recipe(CONTENT_GLASS,CONTENT_STEEL_DOOR_LT,CONTENT_STEEL_W_DOOR_LT);
crafting::set1over1Recipe(CONTENT_IRON_W_HATCH,CONTENT_IRON_HATCH,CONTENT_IRON_W_DOOR_LT);
crafting::set1over1Recipe(CONTENT_GLASS,CONTENT_IRON_DOOR_LT,CONTENT_IRON_W_DOOR_LT);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -449,15 +449,15 @@ void content_mapnode_door(bool repeat)
f->suffocation_per_second = 0;
content_list_add("creative",i,1,0);
i = CONTENT_STEEL_DOOR_RB;
i = CONTENT_IRON_DOOR_RB;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Right Hanging Steel Door");
f->setAllTextures("door_steel_b.png^[transformFX");
f->setTexture(2,"door_steel_b.png");
f->setTexture(3,"door_steel_b.png");
f->setTexture(4,"door_steel_b.png");
f->setInventoryTexture("door_steel_inv.png^[transformFX");
f->description = gettext("Right Hanging Iron Door");
f->setAllTextures("door_iron_b.png^[transformFX");
f->setTexture(2,"door_iron_b.png");
f->setTexture(3,"door_iron_b.png");
f->setTexture(4,"door_iron_b.png");
f->setInventoryTexture("door_iron_inv.png^[transformFX");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -466,7 +466,7 @@ void content_mapnode_door(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
f->onpunch_replace_node = CONTENT_STEEL_DOOR_RB_OPEN;
f->onpunch_replace_node = CONTENT_IRON_DOOR_RB_OPEN;
f->sound_punch = "env-dooropen";
content_nodebox_door(f);
f->type = CMT_STONE;
@ -476,15 +476,15 @@ void content_mapnode_door(bool repeat)
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_DOOR_RT;
i = CONTENT_IRON_DOOR_RT;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Right Hanging Steel Door");
f->setAllTextures("door_steel_t.png^[transformFX");
f->setTexture(2,"door_steel_t.png");
f->setTexture(3,"door_steel_t.png");
f->setTexture(4,"door_steel_t.png");
f->setInventoryTexture("door_steel_inv.png^[transformFX");
f->description = gettext("Right Hanging Iron Door");
f->setAllTextures("door_iron_t.png^[transformFX");
f->setTexture(2,"door_iron_t.png");
f->setTexture(3,"door_iron_t.png");
f->setTexture(4,"door_iron_t.png");
f->setInventoryTexture("door_iron_inv.png^[transformFX");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -492,9 +492,9 @@ void content_mapnode_door(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_STEEL_DOOR_LT;
f->onuse_replace_node = CONTENT_IRON_DOOR_LT;
f->onact_also_affects = v3s16(0,-1,0);
f->onpunch_replace_node = CONTENT_STEEL_DOOR_RT_OPEN;
f->onpunch_replace_node = CONTENT_IRON_DOOR_RT_OPEN;
f->sound_punch = "env-dooropen";
content_nodebox_door(f);
f->type = CMT_STONE;
@ -563,15 +563,15 @@ void content_mapnode_door(bool repeat)
f->suffocation_per_second = 0;
content_list_add("creative",i,1,0);
i = CONTENT_STEEL_W_DOOR_RB;
i = CONTENT_IRON_W_DOOR_RB;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Right Hanging Steel Windowed Door");
f->setAllTextures("door_steel_wb.png^[transformFX");
f->setTexture(2,"door_steel_wb.png");
f->setTexture(3,"door_steel_wb.png");
f->setTexture(4,"door_steel_wb.png");
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
f->description = gettext("Right Hanging Iron Windowed Door");
f->setAllTextures("door_iron_wb.png^[transformFX");
f->setTexture(2,"door_iron_wb.png");
f->setTexture(3,"door_iron_wb.png");
f->setTexture(4,"door_iron_wb.png");
f->setInventoryTexture("door_iron_w_inv.png^[transformFX");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -581,7 +581,7 @@ void content_mapnode_door(bool repeat)
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i+1)+" 1";
f->onact_also_affects = v3s16(0,1,0);
f->onpunch_replace_node = CONTENT_STEEL_W_DOOR_RB_OPEN;
f->onpunch_replace_node = CONTENT_IRON_W_DOOR_RB_OPEN;
f->sound_punch = "env-dooropen";
content_nodebox_door(f);
f->type = CMT_STONE;
@ -591,15 +591,15 @@ void content_mapnode_door(bool repeat)
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_W_DOOR_RT;
i = CONTENT_IRON_W_DOOR_RT;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Right Hanging Steel Windowed Door");
f->setAllTextures("door_steel_wt.png^[transformFX");
f->setTexture(2,"door_steel_wt.png");
f->setTexture(3,"door_steel_wt.png");
f->setTexture(4,"door_steel_wt.png");
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
f->description = gettext("Right Hanging Iron Windowed Door");
f->setAllTextures("door_iron_wt.png^[transformFX");
f->setTexture(2,"door_iron_wt.png");
f->setTexture(3,"door_iron_wt.png");
f->setTexture(4,"door_iron_wt.png");
f->setInventoryTexture("door_iron_w_inv.png^[transformFX");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -608,9 +608,9 @@ void content_mapnode_door(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onuse_replace_node = CONTENT_STEEL_W_DOOR_LT;
f->onuse_replace_node = CONTENT_IRON_W_DOOR_LT;
f->onact_also_affects = v3s16(0,-1,0);
f->onpunch_replace_node = CONTENT_STEEL_W_DOOR_RT_OPEN;
f->onpunch_replace_node = CONTENT_IRON_W_DOOR_RT_OPEN;
f->sound_punch = "env-dooropen";
content_nodebox_doorw(f);
f->type = CMT_STONE;
@ -620,8 +620,8 @@ void content_mapnode_door(bool repeat)
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);
crafting::set1over1Recipe(CONTENT_GLASS,CONTENT_STEEL_DOOR_RT,CONTENT_STEEL_W_DOOR_RT);
crafting::set1To1Recipe(CONTENT_IRON_W_DOOR_LT,CONTENT_IRON_W_DOOR_RT);
crafting::set1over1Recipe(CONTENT_GLASS,CONTENT_IRON_DOOR_RT,CONTENT_IRON_W_DOOR_RT);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -732,13 +732,13 @@ void content_mapnode_door(bool repeat)
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
i = CONTENT_STEEL_DOOR_LB_OPEN;
i = CONTENT_IRON_DOOR_LB_OPEN;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Door");
f->setAllTextures("door_steel_b.png");
f->setTexture(3,"door_steel_b.png^[transformFX");
f->setInventoryTexture("door_steel_inv.png");
f->description = gettext("Iron Door");
f->setAllTextures("door_iron_b.png");
f->setTexture(3,"door_iron_b.png^[transformFX");
f->setInventoryTexture("door_iron_inv.png");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -746,9 +746,9 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_DOOR_LT)+" 1";
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_IRON_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
f->onpunch_replace_node = CONTENT_STEEL_DOOR_LB;
f->onpunch_replace_node = CONTENT_IRON_DOOR_LB;
f->sound_punch = "env-doorclose";
content_nodebox_doorol(f);
f->type = CMT_STONE;
@ -758,13 +758,13 @@ void content_mapnode_door(bool repeat)
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_DOOR_LT_OPEN;
i = CONTENT_IRON_DOOR_LT_OPEN;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Door");
f->setAllTextures("door_steel_t.png");
f->setTexture(3,"door_steel_t.png^[transformFX");
f->setInventoryTexture("door_steel_inv.png");
f->description = gettext("Iron Door");
f->setAllTextures("door_iron_t.png");
f->setTexture(3,"door_iron_t.png^[transformFX");
f->setInventoryTexture("door_iron_inv.png");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -772,9 +772,9 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_DOOR_LT)+" 1";
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_IRON_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
f->onpunch_replace_node = CONTENT_STEEL_DOOR_LT;
f->onpunch_replace_node = CONTENT_IRON_DOOR_LT;
f->sound_punch = "env-doorclose";
content_nodebox_doorol(f);
f->type = CMT_STONE;
@ -836,13 +836,13 @@ void content_mapnode_door(bool repeat)
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
i = CONTENT_STEEL_W_DOOR_LB_OPEN;
i = CONTENT_IRON_W_DOOR_LB_OPEN;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Windowed Door");
f->setAllTextures("door_steel_wb.png");
f->setTexture(3,"door_steel_wb.png^[transformFX");
f->setInventoryTexture("door_steel_w_inv.png");
f->description = gettext("Iron Windowed Door");
f->setAllTextures("door_iron_wb.png");
f->setTexture(3,"door_iron_wb.png^[transformFX");
f->setInventoryTexture("door_iron_w_inv.png");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -850,9 +850,9 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_W_DOOR_LT)+" 1";
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_IRON_W_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
f->onpunch_replace_node = CONTENT_STEEL_W_DOOR_LB;
f->onpunch_replace_node = CONTENT_IRON_W_DOOR_LB;
f->sound_punch = "env-doorclose";
content_nodebox_doorol(f);
f->type = CMT_STONE;
@ -862,13 +862,13 @@ void content_mapnode_door(bool repeat)
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_W_DOOR_LT_OPEN;
i = CONTENT_IRON_W_DOOR_LT_OPEN;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Windowed Door");
f->setAllTextures("door_steel_wt.png");
f->setTexture(3,"door_steel_wt.png^[transformFX");
f->setInventoryTexture("door_steel_w_inv.png");
f->description = gettext("Iron Windowed Door");
f->setAllTextures("door_iron_wt.png");
f->setTexture(3,"door_iron_wt.png^[transformFX");
f->setInventoryTexture("door_iron_w_inv.png");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -876,9 +876,9 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_W_DOOR_LT)+" 1";
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_IRON_W_DOOR_LT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
f->onpunch_replace_node = CONTENT_STEEL_W_DOOR_LT;
f->onpunch_replace_node = CONTENT_IRON_W_DOOR_LT;
f->sound_punch = "env-doorclose";
content_nodebox_doorwol(f);
f->type = CMT_STONE;
@ -1003,15 +1003,15 @@ void content_mapnode_door(bool repeat)
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
i = CONTENT_STEEL_DOOR_RB_OPEN;
i = CONTENT_IRON_DOOR_RB_OPEN;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Right Hanging Steel Door");
f->setAllTextures("door_steel_b.png");
f->setTexture(3,"door_steel_b.png^[transformFX");
f->setTexture(4,"door_steel_b.png^[transformFX");
f->setTexture(5,"door_steel_b.png^[transformFX");
f->setInventoryTexture("door_steel_inv.png^[transformFX");
f->description = gettext("Right Hanging Iron Door");
f->setAllTextures("door_iron_b.png");
f->setTexture(3,"door_iron_b.png^[transformFX");
f->setTexture(4,"door_iron_b.png^[transformFX");
f->setTexture(5,"door_iron_b.png^[transformFX");
f->setInventoryTexture("door_iron_inv.png^[transformFX");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -1019,9 +1019,9 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_DOOR_RT)+" 1";
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_IRON_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
f->onpunch_replace_node = CONTENT_STEEL_DOOR_RB;
f->onpunch_replace_node = CONTENT_IRON_DOOR_RB;
f->sound_punch = "env-doorclose";
content_nodebox_dooror(f);
f->type = CMT_STONE;
@ -1031,15 +1031,15 @@ void content_mapnode_door(bool repeat)
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_DOOR_RT_OPEN;
i = CONTENT_IRON_DOOR_RT_OPEN;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Right Hanging Steel Door");
f->setAllTextures("door_steel_b.png");
f->setTexture(3,"door_steel_t.png^[transformFX");
f->setTexture(4,"door_steel_t.png^[transformFX");
f->setTexture(5,"door_steel_t.png^[transformFX");
f->setInventoryTexture("door_steel_inv.png^[transformFX");
f->description = gettext("Right Hanging Iron Door");
f->setAllTextures("door_iron_b.png");
f->setTexture(3,"door_iron_t.png^[transformFX");
f->setTexture(4,"door_iron_t.png^[transformFX");
f->setTexture(5,"door_iron_t.png^[transformFX");
f->setInventoryTexture("door_iron_inv.png^[transformFX");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -1047,9 +1047,9 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_DOOR_RT)+" 1";
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_IRON_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
f->onpunch_replace_node = CONTENT_STEEL_DOOR_RT;
f->onpunch_replace_node = CONTENT_IRON_DOOR_RT;
f->sound_punch = "env-doorclose";
content_nodebox_dooror(f);
f->type = CMT_STONE;
@ -1115,15 +1115,15 @@ void content_mapnode_door(bool repeat)
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
i = CONTENT_STEEL_W_DOOR_RB_OPEN;
i = CONTENT_IRON_W_DOOR_RB_OPEN;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Right Hanging Steel Windowed Door");
f->setAllTextures("door_steel_wb.png");
f->setTexture(3,"door_steel_wb.png^[transformFX");
f->setTexture(4,"door_steel_wb.png^[transformFX");
f->setTexture(5,"door_steel_wb.png^[transformFX");
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
f->description = gettext("Right Hanging Iron Windowed Door");
f->setAllTextures("door_iron_wb.png");
f->setTexture(3,"door_iron_wb.png^[transformFX");
f->setTexture(4,"door_iron_wb.png^[transformFX");
f->setTexture(5,"door_iron_wb.png^[transformFX");
f->setInventoryTexture("door_iron_w_inv.png^[transformFX");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -1131,9 +1131,9 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_W_DOOR_RT)+" 1";
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_IRON_W_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,1,0);
f->onpunch_replace_node = CONTENT_STEEL_W_DOOR_RB;
f->onpunch_replace_node = CONTENT_IRON_W_DOOR_RB;
f->sound_punch = "env-doorclose";
content_nodebox_dooror(f);
f->type = CMT_STONE;
@ -1143,15 +1143,15 @@ void content_mapnode_door(bool repeat)
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
i = CONTENT_STEEL_W_DOOR_RT_OPEN;
i = CONTENT_IRON_W_DOOR_RT_OPEN;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Right Hanging Steel Windowed Door");
f->setAllTextures("door_steel_wt.png");
f->setTexture(3,"door_steel_wt.png^[transformFX");
f->setTexture(4,"door_steel_wt.png^[transformFX");
f->setTexture(5,"door_steel_wt.png^[transformFX");
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
f->description = gettext("Right Hanging Iron Windowed Door");
f->setAllTextures("door_iron_wt.png");
f->setTexture(3,"door_iron_wt.png^[transformFX");
f->setTexture(4,"door_iron_wt.png^[transformFX");
f->setTexture(5,"door_iron_wt.png^[transformFX");
f->setInventoryTexture("door_iron_w_inv.png^[transformFX");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -1159,9 +1159,9 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_W_DOOR_RT)+" 1";
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_IRON_W_DOOR_RT)+" 1";
f->onact_also_affects = v3s16(0,-1,0);
f->onpunch_replace_node = CONTENT_STEEL_W_DOOR_RT;
f->onpunch_replace_node = CONTENT_IRON_W_DOOR_RT;
f->sound_punch = "env-doorclose";
content_nodebox_doorwor(f);
f->type = CMT_STONE;
@ -1199,19 +1199,19 @@ void content_mapnode_door(bool repeat)
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_STEEL_HATCH;
i = CONTENT_IRON_HATCH;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Hatch");
f->setAllTextures("hatch_steel.png");
f->description = gettext("Iron Hatch");
f->setAllTextures("hatch_iron.png");
f->rotate_tile_with_nodebox = true;
f->setInventoryTexture("hatch_steel_inv.png");
f->setInventoryTexture("hatch_iron_inv.png");
f->wield_nodebox = false;
f->air_equivalent = true;
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_HATCH_OPEN;
f->onpunch_replace_node = CONTENT_IRON_HATCH_OPEN;
f->sound_punch = "env-dooropen";
content_nodebox_hatch(f);
f->type = CMT_STONE;
@ -1221,7 +1221,7 @@ void content_mapnode_door(bool repeat)
f->energy_type = CET_DEVICE;
if (f->initial_metadata == NULL)
f->initial_metadata = new DoorNodeMetadata();
crafting::setSoftBlockRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_STEEL_HATCH);
crafting::setSoftBlockRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_IRON_HATCH);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -1253,13 +1253,13 @@ void content_mapnode_door(bool repeat)
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_STEEL_W_HATCH;
i = CONTENT_IRON_W_HATCH;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Windowed Hatch");
f->setAllTextures("hatch_steel_w.png");
f->description = gettext("Iron Windowed Hatch");
f->setAllTextures("hatch_iron_w.png");
f->rotate_tile_with_nodebox = true;
f->setInventoryTexture("hatch_steel_w_inv.png");
f->setInventoryTexture("hatch_iron_w_inv.png");
f->wield_nodebox = false;
f->air_equivalent = true;
f->param_type = CPT_LIGHT;
@ -1268,7 +1268,7 @@ void content_mapnode_door(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_W_HATCH_OPEN;
f->onpunch_replace_node = CONTENT_IRON_W_HATCH_OPEN;
f->sound_punch = "env-dooropen";
content_nodebox_hatchw(f);
f->type = CMT_STONE;
@ -1278,7 +1278,7 @@ void content_mapnode_door(bool repeat)
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);
crafting::set1over1Recipe(CONTENT_GLASS,CONTENT_IRON_HATCH,CONTENT_IRON_W_HATCH);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -1313,13 +1313,13 @@ void content_mapnode_door(bool repeat)
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_STEEL_GATE;
i = CONTENT_IRON_GATE;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Gate");
f->setAllTextures("steel_sheet.png");
f->description = gettext("Iron Gate");
f->setAllTextures("iron_sheet.png");
f->rotate_tile_with_nodebox = true;
f->setInventoryTexture("gate_steel_inv.png");
f->setInventoryTexture("gate_iron_inv.png");
f->wield_nodebox = false;
f->air_equivalent = true;
f->jumpable = false;
@ -1329,7 +1329,7 @@ void content_mapnode_door(bool repeat)
f->draw_type = CDT_NODEBOX;
f->is_ground_content = true;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_GATE_OPEN;
f->onpunch_replace_node = CONTENT_IRON_GATE_OPEN;
f->sound_punch = "env-dooropen";
content_nodebox_gate(f);
f->type = CMT_STONE;
@ -1339,7 +1339,7 @@ void content_mapnode_door(bool repeat)
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);
crafting::setGateRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_IRON,CONTENT_IRON_GATE);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -1371,15 +1371,15 @@ void content_mapnode_door(bool repeat)
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
i = CONTENT_STEEL_HATCH_OPEN;
i = CONTENT_IRON_HATCH_OPEN;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Hatch");
f->setAllTextures("hatch_steel.png");
f->setTexture(2,"hatch_steel.png^[transformR90");
f->setTexture(3,"hatch_steel.png^[transformR90");
f->description = gettext("Iron Hatch");
f->setAllTextures("hatch_iron.png");
f->setTexture(2,"hatch_iron.png^[transformR90");
f->setTexture(3,"hatch_iron.png^[transformR90");
f->rotate_tile_with_nodebox = true;
f->setInventoryTexture("hatch_steel_inv.png");
f->setInventoryTexture("hatch_iron_inv.png");
f->wield_nodebox = false;
f->air_equivalent = true;
f->param_type = CPT_LIGHT;
@ -1387,8 +1387,8 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->climbable = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_HATCH)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_HATCH;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_IRON_HATCH)+" 1";
f->onpunch_replace_node = CONTENT_IRON_HATCH;
f->sound_punch = "env-doorclose";
content_nodebox_hatcho(f);
f->type = CMT_STONE;
@ -1426,15 +1426,15 @@ void content_mapnode_door(bool repeat)
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
i = CONTENT_STEEL_W_HATCH_OPEN;
i = CONTENT_IRON_W_HATCH_OPEN;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Hatch");
f->setAllTextures("hatch_steel_w.png");
f->setTexture(2,"hatch_steel.png^[transformR90");
f->setTexture(3,"hatch_steel.png^[transformR90");
f->description = gettext("Iron Hatch");
f->setAllTextures("hatch_iron_w.png");
f->setTexture(2,"hatch_iron.png^[transformR90");
f->setTexture(3,"hatch_iron.png^[transformR90");
f->rotate_tile_with_nodebox = true;
f->setInventoryTexture("hatch_steel_w_inv.png");
f->setInventoryTexture("hatch_iron_w_inv.png");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -1442,8 +1442,8 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->draw_type = CDT_NODEBOX;
f->climbable = true;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_W_HATCH)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_W_HATCH;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_IRON_W_HATCH)+" 1";
f->onpunch_replace_node = CONTENT_IRON_W_HATCH;
f->sound_punch = "env-doorclose";
content_nodebox_hatchwo(f);
f->type = CMT_STONE;
@ -1479,13 +1479,13 @@ void content_mapnode_door(bool repeat)
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
i = CONTENT_STEEL_GATE_OPEN;
i = CONTENT_IRON_GATE_OPEN;
f = &content_features(i);
f->param2_type = CPT_FACEDIR_SIMPLE;
f->description = gettext("Steel Gate");
f->setAllTextures("steel_sheet.png");
f->description = gettext("Iron Gate");
f->setAllTextures("iron_sheet.png");
f->rotate_tile_with_nodebox = true;
f->setInventoryTexture("gate_steel_inv.png");
f->setInventoryTexture("gate_iron_inv.png");
f->wield_nodebox = false;
f->param_type = CPT_LIGHT;
f->light_propagates = true;
@ -1493,8 +1493,8 @@ void content_mapnode_door(bool repeat)
f->sunlight_propagates = true;
f->walkable = false;
f->draw_type = CDT_NODEBOX;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_STEEL_GATE)+" 1";
f->onpunch_replace_node = CONTENT_STEEL_GATE;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_IRON_GATE)+" 1";
f->onpunch_replace_node = CONTENT_IRON_GATE;
f->sound_punch = "env-doorclose";
content_nodebox_gateo(f);
f->type = CMT_STONE;

View File

@ -344,16 +344,16 @@ void content_mapnode_sign(bool repeat)
content_nodebox_sign_ud(f);
f->setFaceText(5,FaceText(0.05,0.45,0.95,0.8875));
i = CONTENT_SIGN_STEEL;
i = CONTENT_SIGN_IRON;
f = &content_features(i);
f->description = gettext("Sign");
f->setAllTextures("steel_sheet.png");
f->setAllTextures("iron_sheet.png");
f->param_type = CPT_LIGHT;
f->light_propagates = true;
f->sunlight_propagates = true;
f->air_equivalent = true;
f->wallmount_alternate_node = CONTENT_SIGN_WALL_STEEL;
f->roofmount_alternate_node = CONTENT_SIGN_UD_STEEL;
f->wallmount_alternate_node = CONTENT_SIGN_WALL_IRON;
f->roofmount_alternate_node = CONTENT_SIGN_UD_IRON;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
@ -367,27 +367,27 @@ void content_mapnode_sign(bool repeat)
f->suffocation_per_second = 0;
content_nodebox_sign(f);
f->setFaceText(5,FaceText(0.05,0.0675,0.95,0.55));
f->setInventoryTextureNodeBox(i,"steel_sheet.png", "steel_sheet.png", "steel_sheet.png");
crafting::setSignRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_SIGN_STEEL);
f->setInventoryTextureNodeBox(i,"iron_sheet.png", "iron_sheet.png", "iron_sheet.png");
crafting::setSignRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_SIGN_IRON);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_SIGN_WALL_STEEL;
i = CONTENT_SIGN_WALL_IRON;
f = &content_features(i);
f->description = gettext("Sign");
f->setAllTextures("steel_sheet.png");
f->setAllTextures("iron_sheet.png");
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_WALLMOUNT;
f->draw_type = CDT_NODEBOX;
f->light_propagates = true;
f->sunlight_propagates = true;
f->floormount_alternate_node = CONTENT_SIGN_STEEL;
f->roofmount_alternate_node = CONTENT_SIGN_UD_STEEL;
f->floormount_alternate_node = CONTENT_SIGN_IRON;
f->roofmount_alternate_node = CONTENT_SIGN_UD_IRON;
f->walkable = false;
f->air_equivalent = true;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = BT_SIGN;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_SIGN_STEEL)+" 1";
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_SIGN_IRON)+" 1";
if(f->initial_metadata == NULL)
f->initial_metadata = new SignNodeMetadata("Some sign");
f->type = CMT_STONE;
@ -397,21 +397,21 @@ void content_mapnode_sign(bool repeat)
content_nodebox_sign_wall(f);
f->setFaceText(5,FaceText(0.05,0.3,0.95,0.7));
i = CONTENT_SIGN_UD_STEEL;
i = CONTENT_SIGN_UD_IRON;
f = &content_features(i);
f->description = gettext("Sign");
f->setAllTextures("steel_sheet.png");
f->setAllTextures("iron_sheet.png");
f->param_type = CPT_LIGHT;
f->light_propagates = true;
f->sunlight_propagates = true;
f->air_equivalent = true;
f->wallmount_alternate_node = CONTENT_SIGN_WALL_STEEL;
f->floormount_alternate_node = CONTENT_SIGN_STEEL;
f->wallmount_alternate_node = CONTENT_SIGN_WALL_IRON;
f->floormount_alternate_node = CONTENT_SIGN_IRON;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
f->fuel_time = BT_SIGN;
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_SIGN_STEEL)+" 1";
f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_SIGN_IRON)+" 1";
if(f->initial_metadata == NULL)
f->initial_metadata = new SignNodeMetadata("Some sign");
f->type = CMT_STONE;
@ -477,7 +477,7 @@ void content_mapnode_sign(bool repeat)
f->setFaceText(4,FaceText(0.05,0.0675,0.95,0.55,FTT_OWNER));
f->setFaceText(5,FaceText(0.05,0.0675,0.95,0.55));
f->setInventoryTextureNodeBox(i,"wood.png", "wood.png", "wood.png");
crafting::set1Any2Recipe(CONTENT_SIGN,CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_LOCKABLE_SIGN);
crafting::set1Any2Recipe(CONTENT_SIGN,CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_LOCKABLE_SIGN);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);

View File

@ -59,12 +59,12 @@ void content_mapnode_special(bool repeat)
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_STEEL_FENCE;
i = CONTENT_IRON_FENCE;
f = &content_features(i);
f->description = gettext("Steel Fence");
f->setAllTextures("fence_steel.png");
f->setTexture(0,"fence_steel_top.png");
f->setTexture(1,"fence_steel_top.png");
f->description = gettext("Iron Fence");
f->setAllTextures("fence_iron.png");
f->setTexture(0,"fence_iron_top.png");
f->setTexture(1,"fence_iron_top.png");
f->light_propagates = true;
f->param_type = CPT_LIGHT;
f->param2_type = CPT_SPECIAL;
@ -73,7 +73,7 @@ void content_mapnode_special(bool repeat)
f->jumpable = false;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->air_equivalent = true; // grass grows underneath
f->special_alternate_node = CONTENT_STEEL;
f->special_alternate_node = CONTENT_IRON;
f->type = CMT_STONE;
f->dig_time = 0.75;
f->pressure_type = CST_SOLID;
@ -81,8 +81,8 @@ void content_mapnode_special(bool repeat)
f->destructive_mob_safe = true;
content_nodebox_fence_inv(f);
content_nodebox_fence(f);
f->setInventoryTextureNodeBox(i,"fence_steel.png","fence_steel_top.png","fence_steel.png");
crafting::setWallRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_STEEL_FENCE);
f->setInventoryTextureNodeBox(i,"fence_iron.png","fence_iron_top.png","fence_iron.png");
crafting::setWallRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_IRON_FENCE);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -164,30 +164,30 @@ void content_mapnode_special(bool repeat)
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_STEEL_BARS;
i = CONTENT_IRON_BARS;
f = &content_features(i);
f->description = gettext("Steel Bars");
f->setAllTextures("steel_block.png");
f->description = gettext("Iron Bars");
f->setAllTextures("iron_block.png");
f->light_propagates = true;
f->param_type = CPT_LIGHT;
f->param2_type = CPT_FACEDIR_SIMPLE;
f->draw_type = CDT_NODEBOX;
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
f->air_equivalent = true; // grass grows underneath
f->special_alternate_node = CONTENT_STEEL;
f->special_alternate_node = CONTENT_IRON;
f->type = CMT_STONE;
f->dig_time = 0.75;
f->pressure_type = CST_SOLID;
f->suffocation_per_second = 0;
content_nodebox_bars(f);
f->setInventoryTextureNodeBox(i,"steel_block.png","steel_block.png","steel_block.png");
f->setInventoryTextureNodeBox(i,"iron_block.png","iron_block.png","iron_block.png");
{
u16 r[9] = {
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_STEEL_INGOT,
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_STEEL_INGOT,
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_STEEL_INGOT
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_IRON_INGOT,
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_IRON_INGOT,
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_IRON_INGOT
};
crafting::setRecipe(r,CONTENT_STEEL_BARS,6);
crafting::setRecipe(r,CONTENT_IRON_BARS,6);
}
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -209,9 +209,9 @@ void content_mapnode_special(bool repeat)
f->suffocation_per_second = 0;
{
u16 r[9] = {
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_CRAFTITEM_WOOD_PLANK, CONTENT_CRAFTITEM_STEEL_INGOT,
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_STEEL_INGOT,
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_CRAFTITEM_WOOD_PLANK, CONTENT_CRAFTITEM_STEEL_INGOT
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_CRAFTITEM_WOOD_PLANK, CONTENT_CRAFTITEM_IRON_INGOT,
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_IGNORE, CONTENT_CRAFTITEM_IRON_INGOT,
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_CRAFTITEM_WOOD_PLANK, CONTENT_CRAFTITEM_IRON_INGOT
};
crafting::setRecipe(r,CONTENT_RAIL,15);
r[1] = CONTENT_CRAFTITEM_JUNGLE_PLANK;
@ -606,9 +606,9 @@ void content_mapnode_special(bool repeat)
crafting::setFilledRoundRecipe(CONTENT_STONE,CONTENT_CRAFTITEM_MITHRIL_UNBOUND,CONTENT_BORDERSTONE);
{
u16 r[9] = {
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_STONE, CONTENT_CRAFTITEM_STEEL_INGOT,
CONTENT_STONE, CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_STONE,
CONTENT_CRAFTITEM_STEEL_INGOT, CONTENT_STONE, CONTENT_CRAFTITEM_STEEL_INGOT
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_STONE, CONTENT_CRAFTITEM_IRON_INGOT,
CONTENT_STONE, CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_STONE,
CONTENT_CRAFTITEM_IRON_INGOT, CONTENT_STONE, CONTENT_CRAFTITEM_IRON_INGOT
};
crafting::setRecipe(r,CONTENT_BORDERSTONE,1);
}
@ -733,7 +733,7 @@ void content_mapnode_special(bool repeat)
f->dig_time = 1.0;
f->pressure_type = CST_CRUSHABLE;
f->suffocation_per_second = 0;
crafting::set1Any2Recipe(CONTENT_BOOK,CONTENT_CRAFTITEM_STEEL_INGOT,i);
crafting::set1Any2Recipe(CONTENT_BOOK,CONTENT_CRAFTITEM_IRON_INGOT,i);
if (f->initial_metadata == NULL)
f->initial_metadata = new ClosedBookNodeMetadata();
content_list_add("craftguide",i,1,0);
@ -1259,7 +1259,7 @@ void content_mapnode_special(bool repeat)
f->dig_time = 1.0;
f->pressure_type = CST_SOLID;
f->destructive_mob_safe = true;
crafting::setFilledRoundRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_CRAFTITEM_COPPER_INGOT,CONTENT_SAFE);
crafting::setFilledRoundRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_CRAFTITEM_COPPER_INGOT,CONTENT_SAFE);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -1329,8 +1329,8 @@ void content_mapnode_special(bool repeat)
f->dig_time = 3.0;
f->pressure_type = CST_SOLID;
f->alternate_lockstate_node = CONTENT_FURNACE;
crafting::setFilledRoundRecipe(CONTENT_ROUGHSTONE,CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_LOCKABLE_FURNACE);
crafting::set1Any2Recipe(CONTENT_FURNACE,CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_LOCKABLE_FURNACE);
crafting::setFilledRoundRecipe(CONTENT_ROUGHSTONE,CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_LOCKABLE_FURNACE);
crafting::set1Any2Recipe(CONTENT_FURNACE,CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_LOCKABLE_FURNACE);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -1448,7 +1448,7 @@ void content_mapnode_special(bool repeat)
f->setTexture(2, "crusher_side.png^[transformFX");
f->setTexture(4, "crusher_back.png");
f->setTexture(5, "crusher_front.png"); // Z-
f->setAllMetaTextures("steel_sheet.png");
f->setAllMetaTextures("iron_sheet.png");
content_nodebox_crusher(f);
f->setInventoryTextureNodeBox(i,"crusher_top.png^[transformR90", "crusher_front.png", "crusher_side.png^[transformFX");
f->rotate_tile_with_nodebox = true;
@ -1458,7 +1458,7 @@ void content_mapnode_special(bool repeat)
f->type = CMT_STONE;
f->dig_time = 3.0;
f->pressure_type = CST_SOLID;
crafting::setFilledRoundRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_CRAFTITEM_TIN_INGOT,CONTENT_CRUSHER);
crafting::setFilledRoundRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_CRAFTITEM_TIN_INGOT,CONTENT_CRUSHER);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -2017,7 +2017,7 @@ void content_mapnode_special(bool repeat)
f->setInventoryTextureNodeBox(i,"cauldron_outer.png", "cauldron_outer.png", "cauldron_outer.png");
if (f->initial_metadata == NULL)
f->initial_metadata = new CauldronNodeMetadata();
crafting::setDeepURecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_CAULDRON);
crafting::setDeepURecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_CAULDRON);
f->pressure_type = CST_SOLID;
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -2041,7 +2041,7 @@ void content_mapnode_special(bool repeat)
content_t r[9] = {
CONTENT_ROUGHSTONE, CONTENT_CHARCOAL, CONTENT_ROUGHSTONE,
CONTENT_ROUGHSTONE, CONTENT_SAND, CONTENT_ROUGHSTONE,
CONTENT_ROUGHSTONE, CONTENT_STEEL, CONTENT_ROUGHSTONE
CONTENT_ROUGHSTONE, CONTENT_IRON, CONTENT_ROUGHSTONE
};
crafting::setRecipe(r,CONTENT_FORGE,1);
}

View File

@ -334,17 +334,17 @@ void content_toolitem_init()
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_TOOLITEM_STEELPICK;
i = CONTENT_TOOLITEM_IRON_PICK;
f = &g_content_toolitem_features[i];
f->content = i;
f->texture = "tool_steelpick.png";
f->name = "SteelPick";
f->description = gettext("Steel Pick");
f->texture = "tool_ironpick.png";
f->name = "IronPick";
f->description = gettext("Iron Pick");
f->type = TT_PICK;
f->diginfo.uses = 256;
f->diginfo.time = 1.0;
f->diginfo.level = 3;
crafting::setPickRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_TOOLITEM_STEELPICK);
crafting::setPickRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_TOOLITEM_IRON_PICK);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -449,17 +449,17 @@ void content_toolitem_init()
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_TOOLITEM_STEELSHOVEL;
i = CONTENT_TOOLITEM_IRON_SHOVEL;
f = &g_content_toolitem_features[i];
f->content = i;
f->texture = "tool_steelshovel.png";
f->name = "SteelShovel";
f->description = gettext("Steel Shovel");
f->texture = "tool_ironshovel.png";
f->name = "IronShovel";
f->description = gettext("Iron Shovel");
f->type = TT_SHOVEL;
f->diginfo.uses = 256;
f->diginfo.time = 1.0;
f->diginfo.level = 3;
crafting::setShovelRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_TOOLITEM_STEELSHOVEL);
crafting::setShovelRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_TOOLITEM_IRON_SHOVEL);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -559,17 +559,17 @@ void content_toolitem_init()
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_TOOLITEM_STEELAXE;
i = CONTENT_TOOLITEM_IRON_AXE;
f = &g_content_toolitem_features[i];
f->content = i;
f->texture = "tool_steelaxe.png";
f->name = "SteelAxe";
f->description = gettext("Steel Axe");
f->texture = "tool_ironaxe.png";
f->name = "IronAxe";
f->description = gettext("Iron Axe");
f->type = TT_AXE;
f->diginfo.uses = 256;
f->diginfo.time = 1.0;
f->diginfo.level = 3;
crafting::setAxeRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_TOOLITEM_STEELAXE);
crafting::setAxeRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_TOOLITEM_IRON_AXE);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -684,17 +684,17 @@ void content_toolitem_init()
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_TOOLITEM_STEELSPEAR;
i = CONTENT_TOOLITEM_IRON_SPEAR;
f = &g_content_toolitem_features[i];
f->content = i;
f->texture = "tool_steelspear.png";
f->name = "steel_spear";
f->description = gettext("Steel Spear");
f->texture = "tool_ironspear.png";
f->name = "iron_spear";
f->description = gettext("Iron Spear");
f->type = TT_SPEAR;
f->diginfo.uses = 256;
f->diginfo.time = 1.0;
f->diginfo.level = 3;
crafting::setSpearRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_TOOLITEM_STEELSPEAR);
crafting::setSpearRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_TOOLITEM_IRON_SPEAR);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -756,17 +756,17 @@ void content_toolitem_init()
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_TOOLITEM_STEELSWORD;
i = CONTENT_TOOLITEM_IRON_SWORD;
f = &g_content_toolitem_features[i];
f->content = i;
f->texture = "tool_steelsword.png";
f->name = "SteelSword";
f->description = gettext("Steel Sword");
f->texture = "tool_ironsword.png";
f->name = "IronSword";
f->description = gettext("Iron Sword");
f->type = TT_SWORD;
f->diginfo.uses = 256;
f->diginfo.time = 1.0;
f->diginfo.level = 3;
crafting::setSwordRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_TOOLITEM_STEELSWORD);
crafting::setSwordRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_TOOLITEM_IRON_SWORD);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -828,17 +828,17 @@ void content_toolitem_init()
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_TOOLITEM_STEELSHEARS;
i = CONTENT_TOOLITEM_IRON_SHEARS;
f = &g_content_toolitem_features[i];
f->content = i;
f->texture = "tool_steelshears.png";
f->texture = "tool_ironshears.png";
f->name = "Shears";
f->description = gettext("Steel Shears");
f->description = gettext("Iron Shears");
f->type = TT_SHEAR;
f->diginfo.uses = 256;
f->diginfo.time = 1.0;
f->diginfo.level = 2;
crafting::setShearsRecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_TOOLITEM_STEELSHEARS);
crafting::setShearsRecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_TOOLITEM_IRON_SHEARS);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -877,18 +877,18 @@ void content_toolitem_init()
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
i = CONTENT_TOOLITEM_STEELBUCKET;
i = CONTENT_TOOLITEM_IRON_BUCKET;
f = &g_content_toolitem_features[i];
f->content = i;
f->texture = "tool_steelbucket.png";
f->name = "SteelBucket";
f->description = gettext("Steel Bucket");
f->texture = "tool_ironbucket.png";
f->name = "IronBucket";
f->description = gettext("Iron Bucket");
f->liquids_pointable = true;
f->type = TT_BUCKET;
f->diginfo.uses = 256;
f->diginfo.time = 1.0;
f->diginfo.level = 3;
crafting::setURecipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_TOOLITEM_STEELBUCKET);
crafting::setURecipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_TOOLITEM_IRON_BUCKET);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -914,25 +914,25 @@ void content_toolitem_init()
f->onplace_replace_item = CONTENT_TOOLITEM_TINBUCKET;
content_list_add("creative",i,1,0);
i = CONTENT_TOOLITEM_STEELBUCKET_WATER;
i = CONTENT_TOOLITEM_IRON_BUCKET_WATER;
f = &g_content_toolitem_features[i];
f->content = i;
f->texture = "tool_steelbucket.png^bucket_water.png";
f->name = "SteelBucket_water";
f->description = gettext("Steel Bucket of Water");
f->texture = "tool_ironbucket.png^bucket_water.png";
f->name = "IronBucket_water";
f->description = gettext("Iron Bucket of Water");
f->type = TT_SPECIAL;
f->onplace_node = CONTENT_WATERSOURCE;
f->onplace_replace_item = CONTENT_TOOLITEM_STEELBUCKET;
f->onplace_replace_item = CONTENT_TOOLITEM_IRON_BUCKET;
content_list_add("creative",i,1,0);
i = CONTENT_TOOLITEM_STEELBUCKET_LAVA;
i = CONTENT_TOOLITEM_IRON_BUCKET_LAVA;
f = &g_content_toolitem_features[i];
f->content = i;
f->texture = "tool_steelbucket.png^bucket_lava.png";
f->name = "SteelBucket_lava";
f->description = gettext("Steel Bucket of Lava");
f->texture = "tool_ironbucket.png^bucket_lava.png";
f->name = "IronBucket_lava";
f->description = gettext("Iron Bucket of Lava");
f->onplace_node = CONTENT_LAVASOURCE;
f->onplace_replace_item = CONTENT_TOOLITEM_STEELBUCKET;
f->onplace_replace_item = CONTENT_TOOLITEM_IRON_BUCKET;
f->fuel_time = BT_LAVA_BUCKET;
f->type = TT_SPECIAL;
content_list_add("creative",i,1,0);
@ -949,7 +949,7 @@ void content_toolitem_init()
f->type = TT_SPECIAL;
f->diginfo.level = 3;
f->has_fire_effect = true;
crafting::set1Any2Recipe(CONTENT_CRAFTITEM_FLINT,CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_TOOLITEM_FIRESTARTER);
crafting::set1Any2Recipe(CONTENT_CRAFTITEM_FLINT,CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_TOOLITEM_FIRESTARTER);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);
@ -962,7 +962,7 @@ void content_toolitem_init()
f->type = TT_SPECIAL;
f->diginfo.level = 3;
f->has_rotate_effect = true;
crafting::set1over1Recipe(CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_CRAFTITEM_STEEL_INGOT,CONTENT_TOOLITEM_CROWBAR);
crafting::set1over1Recipe(CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_CRAFTITEM_IRON_INGOT,CONTENT_TOOLITEM_CROWBAR);
content_list_add("craftguide",i,1,0);
content_list_add("creative",i,1,0);

View File

@ -121,25 +121,25 @@ ToolItemFeatures & content_toolitem_features(std::string subname);
#define CONTENT_TOOLITEM_SMALL_PICK (CONTENT_TOOLITEM_MASK | 0x01)
#define CONTENT_TOOLITEM_STONEPICK (CONTENT_TOOLITEM_MASK | 0x02)
#define CONTENT_TOOLITEM_STEELPICK (CONTENT_TOOLITEM_MASK | 0x03)
#define CONTENT_TOOLITEM_IRON_PICK (CONTENT_TOOLITEM_MASK | 0x03)
#define CONTENT_TOOLITEM_CREATIVEPICK (CONTENT_TOOLITEM_MASK | 0x04)
#define CONTENT_TOOLITEM_TROWEL (CONTENT_TOOLITEM_MASK | 0x05)
#define CONTENT_TOOLITEM_STONESHOVEL (CONTENT_TOOLITEM_MASK | 0x06)
#define CONTENT_TOOLITEM_STEELSHOVEL (CONTENT_TOOLITEM_MASK | 0x07)
#define CONTENT_TOOLITEM_IRON_SHOVEL (CONTENT_TOOLITEM_MASK | 0x07)
#define CONTENT_TOOLITEM_SMALL_AXE (CONTENT_TOOLITEM_MASK | 0x08)
#define CONTENT_TOOLITEM_STONEAXE (CONTENT_TOOLITEM_MASK | 0x09)
#define CONTENT_TOOLITEM_STEELAXE (CONTENT_TOOLITEM_MASK | 0x0A)
#define CONTENT_TOOLITEM_IRON_AXE (CONTENT_TOOLITEM_MASK | 0x0A)
#define CONTENT_TOOLITEM_CLUB (CONTENT_TOOLITEM_MASK | 0x0B)
#define CONTENT_TOOLITEM_STONESWORD (CONTENT_TOOLITEM_MASK | 0x0C)
#define CONTENT_TOOLITEM_STEELSWORD (CONTENT_TOOLITEM_MASK | 0x0D)
#define CONTENT_TOOLITEM_STEELSHEARS (CONTENT_TOOLITEM_MASK | 0x0E)
#define CONTENT_TOOLITEM_IRON_SWORD (CONTENT_TOOLITEM_MASK | 0x0D)
#define CONTENT_TOOLITEM_IRON_SHEARS (CONTENT_TOOLITEM_MASK | 0x0E)
#define CONTENT_TOOLITEM_WBUCKET (CONTENT_TOOLITEM_MASK | 0x0F)
#define CONTENT_TOOLITEM_TINBUCKET (CONTENT_TOOLITEM_MASK | 0x10)
#define CONTENT_TOOLITEM_WBUCKET_WATER (CONTENT_TOOLITEM_MASK | 0x11)
#define CONTENT_TOOLITEM_TINBUCKET_WATER (CONTENT_TOOLITEM_MASK | 0x12)
#define CONTENT_TOOLITEM_STEELBUCKET (CONTENT_TOOLITEM_MASK | 0x13)
#define CONTENT_TOOLITEM_STEELBUCKET_WATER (CONTENT_TOOLITEM_MASK | 0x14)
#define CONTENT_TOOLITEM_STEELBUCKET_LAVA (CONTENT_TOOLITEM_MASK | 0x15)
#define CONTENT_TOOLITEM_IRON_BUCKET (CONTENT_TOOLITEM_MASK | 0x13)
#define CONTENT_TOOLITEM_IRON_BUCKET_WATER (CONTENT_TOOLITEM_MASK | 0x14)
#define CONTENT_TOOLITEM_IRON_BUCKET_LAVA (CONTENT_TOOLITEM_MASK | 0x15)
#define CONTENT_TOOLITEM_FIRESTARTER (CONTENT_TOOLITEM_MASK | 0x16)
#define CONTENT_TOOLITEM_CROWBAR (CONTENT_TOOLITEM_MASK | 0x17)
#define CONTENT_TOOLITEM_FLINTPICK (CONTENT_TOOLITEM_MASK | 0x18)
@ -149,7 +149,7 @@ ToolItemFeatures & content_toolitem_features(std::string subname);
#define CONTENT_TOOLITEM_KEY (CONTENT_TOOLITEM_MASK | 0x1C)
#define CONTENT_TOOLITEM_STONESPEAR (CONTENT_TOOLITEM_MASK | 0x1D)
#define CONTENT_TOOLITEM_FLINTSPEAR (CONTENT_TOOLITEM_MASK | 0x1E)
#define CONTENT_TOOLITEM_STEELSPEAR (CONTENT_TOOLITEM_MASK | 0x1F)
#define CONTENT_TOOLITEM_IRON_SPEAR (CONTENT_TOOLITEM_MASK | 0x1F)
#define CONTENT_TOOLITEM_BOW (CONTENT_TOOLITEM_MASK | 0x20)
#define CONTENT_TOOLITEM_MITHRIL_RAW_PICK (CONTENT_TOOLITEM_MASK | 0x21)
#define CONTENT_TOOLITEM_MITHRIL_RAW_SHOVEL (CONTENT_TOOLITEM_MASK | 0x22)

View File

@ -1868,7 +1868,7 @@ MapBlock* ServerMap::finishBlockMake(mapgen::BlockMakeData *data,
if (myrand_range(0,3) == 0)
ilist->addItem(new ClothesItem(CONTENT_CLOTHESITEM_SPACESUIT_PANTS,0,0));
if (myrand_range(0,4) == 0) {
content_t c = CONTENT_CRAFTITEM_STEEL_INGOT;
content_t c = CONTENT_CRAFTITEM_IRON_INGOT;
switch (myrand_range(0,4)) {
case 0:
c = CONTENT_CRAFTITEM_MITHRIL_UNBOUND;

View File

@ -135,7 +135,7 @@ void make_space(BlockMakeData *data)
}else if (mineral_noise < -0.3) {
inner = CONTENT_ICE;;
}else if (mineral_noise < -0.1) {
inner = CONTENT_STEEL;;
inner = CONTENT_IRON;;
}else if (mineral_noise > 0.4) {
inner = CONTENT_SILVER;;
}else if (mineral_noise > 0.3) {

View File

@ -360,8 +360,8 @@ bool CauldronNodeMetadata::step(float dtime, v3s16 pos, ServerEnvironment *env)
}
content_t c = fitem->getContent();
list->decrementMaterials(1);
if (c == CONTENT_TOOLITEM_STEELBUCKET_LAVA)
list->addItem(0,new ToolItem(CONTENT_TOOLITEM_STEELBUCKET,0,0));
if (c == CONTENT_TOOLITEM_IRON_BUCKET_LAVA)
list->addItem(0,new ToolItem(CONTENT_TOOLITEM_IRON_BUCKET,0,0));
return true;
}
}

View File

@ -754,7 +754,7 @@ DoorNodeMetadata::DoorNodeMetadata():
}
u16 DoorNodeMetadata::typeId() const
{
return CONTENT_STEEL_DOOR_LB;
return CONTENT_IRON_DOOR_LB;
}
NodeMetadata* DoorNodeMetadata::create(std::istream &is)
{

View File

@ -236,8 +236,8 @@ bool FurnaceNodeMetadata::step(float dtime, v3s16 pos, ServerEnvironment *env)
m_fuel_time = 0;
content_t c = fuel_item->getContent();
fuel_list->decrementMaterials(1);
if (c == CONTENT_TOOLITEM_STEELBUCKET_LAVA) {
fuel_list->addItem(0,new ToolItem(CONTENT_TOOLITEM_STEELBUCKET,0,0));
if (c == CONTENT_TOOLITEM_IRON_BUCKET_LAVA) {
fuel_list->addItem(0,new ToolItem(CONTENT_TOOLITEM_IRON_BUCKET,0,0));
}
changed = true;
}else{
@ -520,8 +520,8 @@ bool LockingFurnaceNodeMetadata::step(float dtime, v3s16 pos, ServerEnvironment
m_fuel_time = 0;
content_t c = fuel_item->getContent();
fuel_list->decrementMaterials(1);
if (c == CONTENT_TOOLITEM_STEELBUCKET_LAVA) {
fuel_list->addItem(0,new ToolItem(CONTENT_TOOLITEM_STEELBUCKET,0,0));
if (c == CONTENT_TOOLITEM_IRON_BUCKET_LAVA) {
fuel_list->addItem(0,new ToolItem(CONTENT_TOOLITEM_IRON_BUCKET,0,0));
}
changed = true;
}else{
@ -782,8 +782,8 @@ bool CampFireNodeMetadata::step(float dtime, v3s16 pos, ServerEnvironment *env)
m_fuel_time = 0;
content_t c = fuel_item->getContent();
fuel_list->decrementMaterials(1);
if (c == CONTENT_TOOLITEM_STEELBUCKET_LAVA) {
fuel_list->addItem(0,new ToolItem(CONTENT_TOOLITEM_STEELBUCKET,0,0));
if (c == CONTENT_TOOLITEM_IRON_BUCKET_LAVA) {
fuel_list->addItem(0,new ToolItem(CONTENT_TOOLITEM_IRON_BUCKET,0,0));
}
changed = true;
}else{
@ -1201,8 +1201,8 @@ bool CrusherNodeMetadata::step(float dtime, v3s16 pos, ServerEnvironment *env)
v = ((MaterialItem*)fuel_item)->getFuelTime();
}
fuel_list->decrementMaterials(1);
if (c == CONTENT_TOOLITEM_STEELBUCKET_LAVA) {
fuel_list->addItem(0,new ToolItem(CONTENT_TOOLITEM_STEELBUCKET,0,0));
if (c == CONTENT_TOOLITEM_IRON_BUCKET_LAVA) {
fuel_list->addItem(0,new ToolItem(CONTENT_TOOLITEM_IRON_BUCKET,0,0));
}
m_burn_counter += v*m_burn_upgrade;
changed = true;

View File

@ -170,8 +170,8 @@ bool IncineratorNodeMetadata::step(float dtime, v3s16 pos, ServerEnvironment *en
m_fuel_time = 0;
content_t c = fuel_item->getContent();
fuel_list->decrementMaterials(1);
if (c == CONTENT_TOOLITEM_STEELBUCKET_LAVA) {
fuel_list->addItem(0,new ToolItem(CONTENT_TOOLITEM_STEELBUCKET,0,0));
if (c == CONTENT_TOOLITEM_IRON_BUCKET_LAVA) {
fuel_list->addItem(0,new ToolItem(CONTENT_TOOLITEM_IRON_BUCKET,0,0));
}
m_should_fire = false;
changed = true;

View File

@ -2811,9 +2811,9 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
cmeta->m_water_level = 4;
SendInventory(player->peer_id);
}
}else if (wieldcontent == CONTENT_CRAFTITEM_STEEL_BOTTLE) {
}else if (wieldcontent == CONTENT_CRAFTITEM_IRON_BOTTLE) {
if (cmeta->m_water_level && cmeta->m_water_hot && wielditem->getCount() == 1) {
InventoryItem *itm = InventoryItem::create(CONTENT_CRAFTITEM_STEEL_BOTTLE_WATER,1,0);
InventoryItem *itm = InventoryItem::create(CONTENT_CRAFTITEM_IRON_BOTTLE_WATER,1,0);
InventoryList *mlist = player->inventory.getList("main");
InventoryItem *old = mlist->changeItem(item_i,itm);
if (old)

View File

@ -1,255 +0,0 @@
# This file is read by default from:
# ../voxelands.conf
# ../../voxelands.conf
# Any other path can be chosen by passing the path as a parameter
# to the program, eg. "voxelands.exe --config ../voxelands.conf.example"
#
# By default, all the settings are commented and not functional.
# Uncomment settings by removing the preceding #.
#
# Further documentation:
# http://wiki.voxelands.com/doku.php?id=settings
#
# Client and server
#
# Network port (UDP)
#port =
# Name of player; on a server this is the main admin
#name =
#
# Client stuff
#
# Key mappings
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
#keymap_forward = KEY_KEY_W
#keymap_backward = KEY_KEY_S
#keymap_left = KEY_KEY_A
#keymap_right = KEY_KEY_D
#keymap_jump = KEY_SPACE
#keymap_sneak = KEY_LSHIFT
#keymap_inventory = KEY_KEY_I
# Go down ladder / go down in fly mode / go fast in fast mode
#keymap_special1 = KEY_KEY_E
#keymap_chat = KEY_KEY_T
#keymap_rangeselect = KEY_KEY_R
#keymap_freemove = KEY_KEY_K
#keymap_fastmove = KEY_KEY_J
#keymap_frametime_graph = KEY_F1
#keymap_screenshot = KEY_F12
# Some (temporary) keys for debugging
#keymap_print_debug_stacks = KEY_KEY_P
# Sensitivity multiplier
#mouse_sensitivity = 0.2
# The desired FPS
#wanted_fps = 30
# If FPS would go higher than this, limit it by sleeping
# (to not waste CPU power for no benefit)
#fps_max = 60
# The allowed adjustment range for the automatic rendering range adjustment
#viewing_range_nodes_max = 300
#viewing_range_nodes_min = 25
# Initial window size
#screenW = 1024
#screenH = 600
#fullscreen = false
#fullscreen_bpp = 24
# Experimental option, might cause visible spaces between blocks
# when set to higher number than 0
#fsaa = 0
#vsync = false
# Address to connect to (#blank = start local server)
#address =
# Enable random user input, for testing
#random_input = false
# Timeout for client to remove unused map data from memory
#client_unload_unused_data_timeout = 600
# Whether to fog out the end of the visible area
#enable_fog = true
# Enable a bit lower water surface; disable for speed (not quite optimized)
#new_style_water = false
# Enable nice leaves; disable for speed
#new_style_leaves = true
# Enable smooth lighting with simple ambient occlusion;
# disable for speed or for different looks.
#smooth_lighting = true
# Enable Texture Animations
#enable_animated_textures = true
# Whether to draw a frametime graph (for debugging frametime)
#frametime_graph = false
# Enable combining mainly used textures to a bigger one for improved speed
# disable if it causes graphics glitches.
#enable_texture_atlas = true
# Path to texture directory. All textures are first searched from here.
#texture_path =
# Video back-end.
# Possible values: null, software, burningsvideo, direct3d8, direct3d9, opengl
#video_driver = opengl
# Unobstructed movement without physics, downwards key is keymap_special1
#free_move = false
# Continuous forward movement (for testing)
#continuous_forward = false
# Fast movement (keymap_special1)
#fast_move = false
# Invert mouse
#invert_mouse = false
# FarMesh thingy
#enable_farmesh = false
#farmesh_trees = true
#farmesh_distance = 40
# Enable/disable clouds
#enable_clouds = true
# Don't draw stone (for testing)
#invisible_stone = false
# Path for screenshots
#screenshot_path = .
# Amount of view bobbing (0 = no view bobbing, 1.0 = normal, 2.0 = double)
#view_bobbing_amount = 1.0
# Show particles while digging
#enable_particles = true
# Filtering settings
# Bi/trilinear filters are best used on higher resolution texture packs
#mip_map = true
#anisotropic_filter = true
#bilinear_filter = false
#trilinear_filter = false
# How to show the node being pointed at (outline or hilight)
#selected_node = hilight
# Volume for sound effects (0-100)
#sound_volume = 50
#
# Server stuff
#
# The game mode, creative/adventure/survival
# this will preset the below settings to some defaults for the mode
# but those defaults can be overridden here
#game_mode = adventure
# Enable players getting damage and dying
# creative
#enable_damage = false
# adventure
#enable_damage = true
# survival
#enable_damage = true
# Enable players suffocating/drowning and dying
# creative
#enable_suffocation = false
# adventure
#enable_suffocation = false
# survival
#enable_suffocation = true
# Enable players hunger and dying
# creative
#enable_hunger = false
# adventure
#enable_hunger = false
# survival
#enable_hunger = true
# The maximum 'level' of mobs to spawn: passive, aggressive, destructive
# roughly: passive = rats, aggressive = oerkki, destructive = DM
# creative
#max_mob_level = passive
# adventure
#max_mob_level = aggressive
# survival
#max_mob_level = aggressive
# Gives some stuff to players at the beginning
# creative - setting is unused if infinite_inventory = true
#initial_inventory = false
# adventure
#initial_inventory = true
# survival
#initial_inventory = false
# The creative style inventory
# - dug items aren't added, placed items aren't removed
# creative
#infinite_inventory = true
# adventure
#infinite_inventory = false
# survival
#infinite_inventory = false
# Whether items can be dropped on the ground
# creative
#droppable_inventory = false
# adventure
#droppable_inventory = true
# survival
#droppable_inventory = true
# Whether tools wear out from use
# creative
#tool_wear = false
# adventure
#tool_wear = true
# survival
#tool_wear = true
# Map directory (everything in the world is stored here)
#map-dir = /custom/map
# Message of the Day
#motd = Welcome to this awesome Voxelands server!
# Maximum number of players connected simultaneously
#max_users = 20
# Set to true to prevent old clients connecting
#strict_protocol_version_checking = false
# A chosen map seed for a new map, leave empty for random
#fixed_map_seed =
# The type of map to create:
# flat - a completely flat map, with some caves cut in
# flatter - not as hilly as default
# smoother - less crazy terrain than default
# default - the original
# hilly - generally higher terrain
# mountains - big hills and deep oceans
# crazy - exaggerated crazy terrain
# crazyhills - a mix of 'crazy' and 'mountains'
#mapgen_type = default
# New users need to input this password
#default_password =
# Don't let players join with an empty password
#disallow_empty_passwords = false
# Don't let players join without a entry on the auth.txt (should be used with disallow_empty_passwords = true)
#disallow_unknown_users = false
# Available privileges: build, teleport, settime, privs, shout
#default_privs = build, shout
# enable a static spawnpoint (default unset)
#static_spawnpoint = (0,0,0)
# the protection radius of borderstone
#borderstone_radius = 5
# allow players to collect lava with steel buckets
#enable_lavabuckets = true
# allow players to craft tnt
#enable_tnt = true
# add footprints when players walk on grass
#enable_footprints = true
# Profiler data print interval. #0 = disable.
#profiler_print_interval = 0
#enable_mapgen_debug_info = false
# Player and object positions are sent at intervals specified by this
#objectdata_interval = 0.2
#active_object_send_range_blocks = 3
#active_block_range = 2
#max_simultaneous_block_sends_per_client = 2
#max_simultaneous_block_sends_server_total = 8
#max_block_send_distance = 7
#max_block_generate_distance = 5
#time_send_interval = 20
# Length of day/night cycle. 72=20min, 360=4min, 1=24hour
#time_speed = 72
# enable a http microserver player texture transfers
#enable_http = true
#server_unload_unused_data_timeout = 60
#server_map_save_interval = 60
#full_block_send_enable_min_time_from_building = 2.0
# Set to true to enable experimental features or stuff that is tested
# (varies from version to version, usually not useful at all)
#enable_experimental = false
# a slow delete for objects, stops them being loaded from disk
#onload_ignore_objects = false