Compare commits

...

5 Commits

Author SHA1 Message Date
maikerumine 2167410d23 Overhaul, updated for v5, made configs 2018-01-18 20:13:06 -05:00
maikerumine f143bdf36b SK-update 2017-12-04 19:32:28 -05:00
maikerumine e4b5a681fc tweak a bit 2017-11-25 02:07:33 -05:00
maikerumine ea3c53cc47 0.4.16 Update 2017-11-11 12:40:24 -05:00
maikerumine 0031f387a2 update and clean code- 0.4.16 2017-07-19 00:02:27 -04:00
115 changed files with 13229 additions and 11468 deletions

907
alias.lua
View File

@ -1,71 +1,888 @@
--Extreme Survival created by maikerumine
-- Minetest 0.4.13 mod: "Extreme Survival"
-- Minetest 0.4.16 mod: "Extreme Survival"
-- namespace: es
--version 1.8
--version 0.4.16
--https://github.com/maikerumine
--License:
--~~~~~~~~
--Code:
--(c) Copyright 2015 maikerumine; modified zlib-License
--(c) Copyright 2015-2017 maikerumine; modified zlib-License
--see "LICENSE.txt" for details.
--Media(if not stated differently):
--(c) Copyright (2014-2015) maikerumine; CC-BY-SA 3.0
--(c) Copyright (2014-2017) maikerumine; CC-BY-SA 3.0
--Alias "old"--->"new"
------------------------------------------
--[[
--===========================================
--===========================================
--This is to fix the old interaction with my modified 3d_armor mod.
--NEED TO USE THIS FOR 3-D ARMOUR TO WORK!!!!!
minetest.register_alias("es:helmet_aikerum", "3d_armor:helmet_aikerum")
minetest.register_alias("es:helmet_emerald", "3d_armor:helmet_emerald")
minetest.register_alias("es:helmet_infinium", "3d_armor:helmet_infinium")
minetest.register_alias("es:chestplate_aikerum", "3d_armor:chestplate_aikerum")
minetest.register_alias("es:chestplate_emerald", "3d_armor:chestplate_emerald")
minetest.register_alias("es:chestplate_infinium", "3d_armor:chestplate_infinium")
minetest.register_alias("es:leggings_aikerum", "3d_armor:leggings_aikerum")
minetest.register_alias("es:leggings_emerald", "3d_armor:leggings_emerald")
minetest.register_alias("es:leggings_infinium", "3d_armor:leggings_infinium")
minetest.register_alias("es:boots_aikerum", "3d_armor:boots_aikerum")
minetest.register_alias("es:boots_emerald", "3d_armor:boots_emerald")
minetest.register_alias("es:boots_infinium", "3d_armor:boots_infinium")
minetest.register_alias("es:shield_aikerum", "shields:shield_aikerum")
minetest.register_alias("es:shield_emerald", "shields:shield_emerald")
minetest.register_alias("es:shield_infinium", "shields:shield_infinium")
minetest.register_alias("es:shield_nomad", "shields:shield_nomad")
minetest.register_alias("es:shield_rusher", "shields:shield_rusher")
minetest.register_alias("es:shield_veteran", "shields:shield_veteran")
--===========================================
--===========================================
--bags
minetest.register_alias("bags:small_esmmese", "unified_inventory:small_esmmese")
minetest.register_alias("bags:medium_esmmese", "unified_inventory:medium_esmmese")
minetest.register_alias("bags:large_esmmese", "unified_inventory:large_esmmese")
minetest.register_alias("bags:small", "unified_inventory:small_esmmese")
minetest.register_alias("bags:medium", "unified_inventory:medium_esmmese")
minetest.register_alias("bags:large", "unified_inventory:large_esmmese")
]]
--===========================================
--===========================================
--beds
minetest.register_alias("beds:bed_bottom_white", "beds:bed_bottom")
minetest.register_alias("beds:bed_top_white", "beds:bed_top")
--[[
--===========================================
--===========================================
--carts
minetest.register_alias("carts:rail_brake","carts:brakerail")
minetest.register_alias("carts:rail_power","carts:powerrail")
--===========================================
--===========================================
--override default nodes
minetest.register_alias("default:desert_stone_with_iron", "es:desert_stone_with_iron")
minetest.register_alias("default:desert_stone_with_gold", "es:desert_stone_with_gold")
minetest.register_alias("default:desert_stone_with_coal", "es:desert_stone_with_coal")
]]
--===========================================
--===========================================
--doors
--[[
minetest.register_alias("doors:door_wood_t_1", "default:wood")
minetest.register_alias("doors:door_wood_b_1", "default:wood")
minetest.register_alias("doors:door_wood_b_2", "default:wood")
minetest.register_alias("doors:door_wood_t_2", "default:wood")
]]
minetest.register_alias("doors:door_wood_t_1", "doors:hidden")
minetest.register_alias("doors:door_wood_b_1", "doors:door_wood_a")
minetest.register_alias("doors:door_wood_b_2", "doors:door_wood_b")
minetest.register_alias("doors:door_wood_t_2", "doors:hidden")
minetest.register_alias("doors:door_steel_t_1", "doors:hidden")
minetest.register_alias("doors:door_steel_b_1", "doors:door_steel_a")
minetest.register_alias("doors:door_steel_b_2", "doors:door_steel_b")
minetest.register_alias("doors:door_steel_t_2", "doors:hidden")
--[[
--===========================================
--===========================================
--es crushing furnace
minetest.register_alias("es:furnace", "es:infiniumblock")
minetest.register_alias("es:furnace_active", "es:infiniumblock")
minetest.register_alias("es:cfurnace", "es:infiniumblock")
minetest.register_alias("es:cfurnace_active", "es:infiniumblock")
--===========================================
--===========================================
--es nodes
minetest.register_alias("es:strange_clay", "es:strange_clay_blue")
minetest.register_alias("es:stone_with_mese", "default:stone_with_mese")
minetest.register_alias("es:stone_with_coal", "default:stone_with_coal")
minetest.register_alias("es:stone_with_emerald", "default:stone_with_iron")
minetest.register_alias("es:stone_with_ruby", "default:stone_with_copper")
minetest.register_alias("es:stone_with_aikerum", "default:stone_with_diamond")
minetest.register_alias("es:stone_with_infinium", "default:stone_with_mese")
minetest.register_alias("es:stone_with_purpellium", "default:stone_with_coal")
minetest.register_alias("es:depleted_uranium", "default:stone_with_gold")
--===========================================
--===========================================
--esmobs
minetest.register_alias("esmobs:nametag", "mobs:nametag")
minetest.register_alias("esmobs:leather", "mobs:leather")
minetest.register_alias("esmobs:meat_raw", "mobs:meat_raw")
minetest.register_alias("esmobs:meat", "mobs:meat")
minetest.register_alias("esmobs:pork_raw", "mobs:pork_raw")
minetest.register_alias("esmobs:pork_cooked", "mobs:pork_cooked")
minetest.register_alias("esmobs:rat_cooked", "mobs:rat_cooked")
minetest.register_alias("esmobs:rat", "mobs:rat")
minetest.register_alias("esmobs:egg_entity", "mobs:egg_entity")
minetest.register_alias("esmobs:egg", "mobs:egg")
minetest.register_alias("esmobs:chicken_egg_fried", "mobs:chicken_egg_fried")
minetest.register_alias("esmobs:chicken_raw", "mobs:chicken_raw")
minetest.register_alias("esmobs:chicken_cooked", "mobs:chicken_cooked")
minetest.register_alias("esmobs:magic_lasso", "mobs:magic_lasso")
minetest.register_alias("esmobs:net", "mobs:net")
minetest.register_alias("esmobs:shears", "mobs:shears")
minetest.register_alias("esmobs:feather", "mobs:feather")
minetest.register_alias("esmobs:saddle", "mobs:saddle")
minetest.register_alias("esmobs:bucket_milk", "mobs:bucket_milk")
minetest.register_alias("esmobs:cheese", "mobs:cheese")
minetest.register_alias("esmobs:cheeseblock", "mobs:cheeseblock")
minetest.register_alias("esmobs:cobweb", "mobs:cobweb")
minetest.register_alias("esmobs:spawner", "mobs:spawner")
minetest.register_alias("esmobs:bones", "mobs:bones")
minetest.register_alias("esmobs:fireball", "mobs:fireball")
minetest.register_alias("esmobs:arrow", "mobs:arrow")
minetest.register_alias("esmobs:arrow_diamond", "mobs:arrow_diamond")
minetest.register_alias("esmobs:arrow_box", "mobs:arrow_box")
minetest.register_alias("esmobs:arrow_diamond_box", "mobs:arrow_diamond_box")
minetest.register_alias("esmobs:arrow_entity", "mobs:arrow_entity")
minetest.register_alias("esmobs:bow_wood", "mobs:bow_wood")
minetest.register_alias("esmobs:arrow_diamond_entity", "mobs:arrow_diamond_entity")
minetest.register_alias("esmobs:arrow_diamond_entity", "mobs:arrow_diamond_entity")
minetest.register_alias("esmobs:bonebullet", "mobs:bonebullet")
minetest.register_alias("esmobs:bookbullet", "mobs:bookbullet")
minetest.register_alias("esmobs:axebullet", "mobs:axebullet")
minetest.register_alias("esmobs:cursed_stone", "default:goldblock")
minetest.register_alias("esmobs:blessed_stone", "default:goldblock")
minetest.register_alias("esmobs:stone", "default:leaves")
minetest.register_alias("esmobs:dirt", "default:leaves")
--===========================================
--===========================================
--fishing
minetest.register_alias("fishing:pole", "fishing:pole_wood")
--===========================================
--===========================================
--jukebox
minetest.register_alias("jdukebox:box", "default:diamondblock")
--===========================================
--===========================================
--lavender
minetest.register_alias("lavender:lavender_fruit", "flowers:rose")
minetest.register_alias("lavender:lavender", "flowers:viola")
--===========================================
--===========================================
--meru
minetest.register_alias("meru:destone", "default:desert_stone")
minetest.register_alias("meru:stone", "default:sandstone")
--===========================================
--===========================================
--moreores
minetest.register_alias("moreores:mineral_mithril", "default:stone_with_tin")
minetest.register_alias("moreores:mineral_silver", "default:stone_with_tin")
minetest.register_alias("moreores:mineral_tin", "default:stone_with_tin")
minetest.register_alias("moreores:mithril_block", "es:aikerumblock")
minetest.register_alias("moreores:silver_block", "es:rubyblock")
minetest.register_alias("moreores:tin_block", "default:steelblock")
minetest.register_alias("moreores:mithril_ingot", "es:infinium_goo")
minetest.register_alias("moreores:silver_ingot", "es:aikerum_crystal")
minetest.register_alias("moreores:tin_ingot", "es:ruby_crystal")
minetest.register_alias("moreores:mithril_lump", "default:mese")
minetest.register_alias("moreores:silver_lump", "default:gold_lump")
minetest.register_alias("moreores:tin_lump", "default:iron_lump")
minetest.register_alias("moreores:sword_mithril", "es:sword_aikerum")
minetest.register_alias("moreores:pick_mithril", "es:pick_aikerum")
minetest.register_alias("moreores:shovel_mithril", "es:shovel_aikerum")
minetest.register_alias("moreores:hoe_mithril", "farming:hoe_diamond")
minetest.register_alias("moreores:axe_mithril", "es:axe_aikerum")
minetest.register_alias("moreores:sword_silver", "es:sword_ruby")
minetest.register_alias("moreores:pick_silver", "es:pick_ruby")
minetest.register_alias("moreores:shovel_silver", "es:shovel_ruby")
minetest.register_alias("moreores:hoe_silver", "farming:hoe_diamond")
minetest.register_alias("moreores:axe_silver", "es:axe_ruby")
minetest.register_alias("3d_armor:helmet_mithril", "es:helmet_aikerum")
minetest.register_alias("3d_armor:chestplate_mithril", "es:chestplate_aikerum")
minetest.register_alias("3d_armor:leggings_mithril", "es:leggings_aikerum")
minetest.register_alias("3d_armor:boots_mithril", "es:boots_aikerum")
--===========================================
--===========================================
--moresnow
minetest.register_alias("moresnow:snow_top", "default:snow")
minetest.register_alias("moresnow:snow_fence_top", "default:snow")
minetest.register_alias("moresnow:snow_stair_top", "default:snow")
minetest.register_alias("moresnow:snow_slab_top", "default:snow")
minetest.register_alias("moresnow:snow_panel_top", "default:snow")
minetest.register_alias("moresnow:snow_micro_top", "default:snow")
minetest.register_alias("moresnow:snow_outer_stair_top", "default:snow")
minetest.register_alias("moresnow:snow_inner_stair_top", "default:snow")
minetest.register_alias("moresnow:snow_ramp_top", "default:snow")
minetest.register_alias("moresnow:snow_ramp_outer_top", "default:snow")
minetest.register_alias("moresnow:snow_ramp_inner_top", "default:snow")
--wool
minetest.register_alias("moresnow:wool_white", "stairs:slab1_wool_white")
minetest.register_alias("moresnow:wool_grey", "stairs:slab1_wool_grey")
minetest.register_alias("moresnow:wool_black", "stairs:slab1_wool_black")
minetest.register_alias("moresnow:wool_red", "stairs:slab1_wool_red")
minetest.register_alias("moresnow:wool_yellow", "stairs:slab1_wool_yellow")
minetest.register_alias("moresnow:wool_green", "stairs:slab1_wool_green")
minetest.register_alias("moresnow:wool_cyan", "stairs:slab1_wool_cyan")
minetest.register_alias("moresnow:wool_blue", "stairs:slab1_wool_blue")
minetest.register_alias("moresnow:wool_magenta", "stairs:slab1_wool_magenta")
minetest.register_alias("moresnow:wool_orange", "stairs:slab1_wool_orange")
minetest.register_alias("moresnow:wool_violet", "stairs:slab1_wool_violet")
minetest.register_alias("moresnow:wool_brown", "stairs:slab1_wool_brown")
minetest.register_alias("moresnow:wool_pink", "stairs:slab1_wool_pink")
minetest.register_alias("moresnow:wool_dark_grey", "stairs:slab1_wool_dark_grey")
minetest.register_alias("moresnow:wool_dark_green", "stairs:slab1_wool_dark_green")
minetest.register_alias("moresnow:wool_white_top", "stairs:slab1_wool_white")
minetest.register_alias("moresnow:wool_grey_top", "stairs:slab1_wool_grey")
minetest.register_alias("moresnow:wool_black_top", "stairs:slab1_wool_black")
minetest.register_alias("moresnow:wool_red_top", "stairs:slab1_wool_red")
minetest.register_alias("moresnow:wool_yellow_top", "stairs:slab1_wool_yellow")
minetest.register_alias("moresnow:wool_green_top", "stairs:slab1_wool_green")
minetest.register_alias("moresnow:wool_cyan_top", "stairs:slab1_wool_cyan")
minetest.register_alias("moresnow:wool_blue_top", "stairs:slab1_wool_blue")
minetest.register_alias("moresnow:wool_magenta_top", "stairs:slab1_wool_magenta")
minetest.register_alias("moresnow:wool_orange_top", "stairs:slab1_wool_orange")
minetest.register_alias("moresnow:wool_violet_top", "stairs:slab1_wool_violet")
minetest.register_alias("moresnow:wool_brown_top", "stairs:slab1_wool_brown")
minetest.register_alias("moresnow:wool_pink_top", "stairs:slab1_wool_pink")
minetest.register_alias("moresnow:wool_dark_grey_top", "stairs:slab1_wool_dark_grey")
minetest.register_alias("moresnow:wool_dark_green_top", "stairs:slab1_wool_dark_green")
--leaves
minetest.register_alias("moresnow:autumnleaves", "default:leaves")
minetest.register_alias("moresnow:autumnleaves_tree", "default:leaves")
minetest.register_alias("moresnow:winterleaves_tree", "default:leaves")
minetest.register_alias("moresnow:snow_soil", "default:dirt_with_snow")
--===========================================
--===========================================
--moretrees
es.treelist = {
{"beech", "Beech Tree"},
{"apple_tree", "Apple Tree"},
{"oak", "Oak Tree", "acorn", "Acorn", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 },
{"sequoia", "Giant Sequoia"},
{"birch", "Birch Tree"},
{"palm", "Palm Tree", "coconut", "Coconut", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 1.0 },
{"spruce", "Spruce Tree", "spruce_cone", "Spruce Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 },
{"pine", "Pine Tree", "pine_cone", "Pine Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 },
{"willow", "Willow Tree"},
{"rubber_tree", "Rubber Tree"},
{"jungletree", "Jungle Tree"},
{"fir", "Douglas Fir", "fir_cone", "Fir Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 },
}
for i in ipairs(es.treelist) do
local treename = es.treelist[i][1]
local treedesc = es.treelist[i][2]
local fruit = es.treelist[i][3]
local fruitdesc = es.treelist[i][4]
local selbox = es.treelist[i][5]
local vscale = es.treelist[i][6]
end
--minetest.register_alias("moretrees:"..treename.."_planks", "default:junglewood")
--minetest.register_alias("moretrees:"..treename.."_trunk", "default:acacia_tree")
--minetest.register_alias("moretrees:"..treename.."_sapling", "default:sapling")
--minetest.register_alias("moretrees:"..treename.."_leaves", "default:leaves")
--aspen
minetest.register_alias("aspen:sapling", "default:aspen_sapling")
minetest.register_alias("aspen:leaves", "default:aspen_leaves")
--beech
minetest.register_alias("moretrees:beech_planks", "default:aspen_wood")
minetest.register_alias("moretrees:beech_trunk", "default:aspen_tree")
minetest.register_alias("moretrees:beech_sapling", "default:aspen_sapling")
minetest.register_alias("moretrees:beech_sapling_ongen", "default:aspen_sapling")
minetest.register_alias("moretrees:beech_leaves", "default:aspen_leaves")
--apple
minetest.register_alias("moretrees:apple_tree_planks", "default:wood")
minetest.register_alias("moretrees:apple_tree_trunk", "default:tree")
minetest.register_alias("moretrees:apple_tree_sapling", "default:sapling")
minetest.register_alias("moretrees:apple_tree_sapling_ongen", "default:sapling")
minetest.register_alias("moretrees:apple_tree_leaves", "default:leaves")
--oak
minetest.register_alias("moretrees:oak_planks", "default:wood")
minetest.register_alias("moretrees:oak_trunk", "default:tree")
minetest.register_alias("moretrees:oak_sapling", "default:sapling")
minetest.register_alias("moretrees:oak_sapling_ongen", "default:sapling")
minetest.register_alias("moretrees:oak_leaves", "default:leaves")
--sequoia
minetest.register_alias("moretrees:sequoia_planks", "default:acacia_wood")
minetest.register_alias("moretrees:sequoia_trunk", "default:acacia_tree")
minetest.register_alias("moretrees:sequoia_sapling", "default:acacia_sapling")
minetest.register_alias("moretrees:sequoia_sapling_ongen", "default:acacia_sapling")
minetest.register_alias("moretrees:sequoia_leaves", "default:acacia_leaves")
--birch
minetest.register_alias("moretrees:birch_planks", "default:aspen_wood")
minetest.register_alias("moretrees:birch_trunk", "default:aspen_tree")
minetest.register_alias("moretrees:birch_sapling", "default:aspen_sapling")
minetest.register_alias("moretrees:birch_sapling_ongen", "default:aspen_sapling")
minetest.register_alias("moretrees:birch_leaves", "default:aspen_leaves")
--palm
minetest.register_alias("moretrees:palm_planks", "default:junglewood")
minetest.register_alias("moretrees:palm_trunk", "default:jungletree")
minetest.register_alias("moretrees:palm_sapling", "default:junglesapling")
minetest.register_alias("moretrees:palm_sapling_ongen", "default:junglesapling")
minetest.register_alias("moretrees:palm_leaves", "default:jungleleaves")
--spruce
minetest.register_alias("moretrees:spruce_planks", "default:pine_wood")
minetest.register_alias("moretrees:spruce_trunk", "default:pine_tree")
minetest.register_alias("moretrees:spruce_sapling", "default:pine_sapling")
minetest.register_alias("moretrees:spruce_sapling_ongen", "default:pine_sapling")
minetest.register_alias("moretrees:spruce_leaves", "default:pine_needles")
--pine
minetest.register_alias("moretrees:pine_planks", "default:pine_wood")
minetest.register_alias("moretrees:pine_trunk", "default:pine_tree")
minetest.register_alias("moretrees:pine_sapling", "default:pine_sapling")
minetest.register_alias("moretrees:pine_sapling_ongen", "default:pine_sapling")
minetest.register_alias("moretrees:pine_leaves", "default:pine_needles")
--willow
minetest.register_alias("moretrees:willow_planks", "default:wood")
minetest.register_alias("moretrees:willow_trunk", "default:tree")
minetest.register_alias("moretrees:willow_sapling", "default:sapling")
minetest.register_alias("moretrees:willow_sapling_ongen", "default:sapling")
minetest.register_alias("moretrees:willow_leaves", "default:leaves")
--rubber
minetest.register_alias("moretrees:rubber_tree_planks", "default:aspen_wood")
minetest.register_alias("moretrees:rubber_tree_trunk", "default:aspen_tree")
minetest.register_alias("moretrees:rubber_tree_trunk_empty", "default:aspen_tree")
minetest.register_alias("moretrees:rubber_tree_sapling", "default:aspen_sapling")
minetest.register_alias("moretrees:rubber_tree_sapling_ongen", "default:aspen_sapling")
minetest.register_alias("moretrees:rubber_tree_leaves", "default:acacia_leaves")
--jungle
minetest.register_alias("moretrees:jungletree_planks", "default:junglewood")
minetest.register_alias("moretrees:jungletree_trunk", "default:jungletree")
minetest.register_alias("moretrees:jungletree_sapling", "default:junglesapling")
minetest.register_alias("moretrees:jungletree_sapling_ongen", "default:junglesapling")
minetest.register_alias("moretrees:jungletree_leaves", "default:jungleleaves")
minetest.register_alias("moretrees:jungletree_leaves_green", "default:leaves")
minetest.register_alias("moretrees:jungletree_leaves_yellow", "default:acacia_leaves")
minetest.register_alias("moretrees:jungletree_leaves_red", "default:acacia_leaves")
--fir
minetest.register_alias("moretrees:fir_planks", "default:pine_wood")
minetest.register_alias("moretrees:fir_trunk", "default:pine_tree")
minetest.register_alias("moretrees:fir_sapling", "default:pine_sapling")
minetest.register_alias("moretrees:fir_sapling_ongen", "default:pine_sapling")
minetest.register_alias("moretrees:fir_leaves", "default:pine_needles")
minetest.register_alias("moretrees:fir_leaves_bright", "default:pine_needles")
--fruits
minetest.register_alias("moretrees:coconut", "farming:cocoa_2")
minetest.register_alias("moretrees:spruce_cone", "farming:melon_8")
minetest.register_alias("moretrees:fir_cone", "farming:cocoa_2")
minetest.register_alias("moretrees:pine_cone", "farming:cocoa_2")
minetest.register_alias("moretrees:acorn", "farming:cocoa_2")
]]
--===========================================
--===========================================
minetest.register_alias("nsspf:amanita_muscaria", "air")
minetest.register_alias("nsspf:amanita_muscaria_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:amanita_muscaria_mycelium", "air")
minetest.register_alias("nsspf:amanita_phalloides", "air")
minetest.register_alias("nsspf:amanita_phalloides_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:amanita_phalloides_mycelium", "air")
minetest.register_alias("nsspf:armillaria_mellea", "air")
minetest.register_alias("nsspf:boletus_edulis", "air")
minetest.register_alias("nsspf:boletus_edulis_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:boletus_edulis_mycelium", "air")
minetest.register_alias("nsspf:boletus_pinophilus", "air")
minetest.register_alias("nsspf:boletus_pinophilus_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:boletus_pinophilus_mycelium", "air")
minetest.register_alias("nsspf:boletus_satanas", "air")
minetest.register_alias("nsspf:boletus_satanas_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:boletus_satanas_mycelium", "air")
minetest.register_alias("nsspf:cantharellus_cibarius", "air")
minetest.register_alias("nsspf:cantharellus_cibarius_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:cantharellus_cibarius_mycelium", "air")
minetest.register_alias("nsspf:clitocybe_glacialis", "air")
minetest.register_alias("nsspf:clitocybe_glacialis_fungusdirt", "air")
minetest.register_alias("nsspf:clitocybe_glacialis_mycelium", "air")
minetest.register_alias("nsspf:clitocybula_azurea", "air")
minetest.register_alias("nsspf:cooked_amanita_muscaria", "default:dirt")
minetest.register_alias("nsspf:cooked_amanita_phalloides", "default:dirt")
minetest.register_alias("nsspf:cooked_armillaria_mellea", "default:dirt")
minetest.register_alias("nsspf:cooked_boletus_edulis", "default:dirt")
minetest.register_alias("nsspf:cooked_boletus_pinophilus", "default:dirt")
minetest.register_alias("nsspf:cooked_boletus_satanas", "default:dirt")
minetest.register_alias("nsspf:cooked_cantharellus_cibarius", "default:dirt")
minetest.register_alias("nsspf:cooked_clitocybe_glacialis", "default:dirt")
minetest.register_alias("nsspf:cooked_clitocybula_azurea", "default:dirt")
minetest.register_alias("nsspf:cooked_coprinus_atramentarius", "default:dirt")
minetest.register_alias("nsspf:cooked_fistulina_hepatica", "default:dirt")
minetest.register_alias("nsspf:cooked_ganoderma_lucidum", "default:dirt")
minetest.register_alias("nsspf:cooked_gyromitra_esculenta", "default:dirt")
minetest.register_alias("nsspf:cooked_hygrophorus_goetzii", "default:dirt")
minetest.register_alias("nsspf:cooked_lentinus_strigosus", "default:dirt")
minetest.register_alias("nsspf:cooked_lycoperdon_pyriforme", "default:dirt")
minetest.register_alias("nsspf:cooked_macrolepiota_procera", "default:dirt")
minetest.register_alias("nsspf:cooked_marasmius_haematocephalus", "default:dirt")
minetest.register_alias("nsspf:cooked_morchella_conica", "default:dirt")
minetest.register_alias("nsspf:cooked_mycena_chlorophos", "default:dirt")
minetest.register_alias("nsspf:cooked_panellus_pusillus", "default:dirt")
minetest.register_alias("nsspf:cooked_plectania_nannfeldtii", "default:dirt")
minetest.register_alias("nsspf:cooked_psilocybe_cubensis", "default:dirt")
minetest.register_alias("nsspf:cooked_russula_xerampelina", "default:dirt")
minetest.register_alias("nsspf:cooked_suillus_grevillei", "default:dirt")
minetest.register_alias("nsspf:coprinus_atramentarius", "air")
minetest.register_alias("nsspf:coprinus_atramentarius_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:coprinus_atramentarius_mycelium", "air")
minetest.register_alias("nsspf:fistulina_hepatica", "air")
minetest.register_alias("nsspf:fomes_fomentarius", "air")
minetest.register_alias("nsspf:ganoderma_lucidum", "air")
minetest.register_alias("nsspf:gyromitra_esculenta", "air")
minetest.register_alias("nsspf:gyromitra_esculenta_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:gyromitra_esculenta_mycelium", "air")
minetest.register_alias("nsspf:hygrophorus_goetzii", "air")
minetest.register_alias("nsspf:hygrophorus_goetzii_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:hygrophorus_goetzii_mycelium", "air")
minetest.register_alias("nsspf:lentinus_strigosus", "air")
minetest.register_alias("nsspf:lycoperdon_pyriforme", "air")
minetest.register_alias("nsspf:lycoperdon_pyriforme_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:lycoperdon_pyriforme_mycelium", "air")
minetest.register_alias("nsspf:macrolepiota_procera", "air")
minetest.register_alias("nsspf:macrolepiota_procera_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:macrolepiota_procera_mycelium", "air")
minetest.register_alias("nsspf:marasmius_haematocephalus", "air")
minetest.register_alias("nsspf:morchella_conica", "air")
minetest.register_alias("nsspf:morchella_conica_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:morchella_conica_mycelium", "air")
minetest.register_alias("nsspf:mycena_chlorophos", "air")
minetest.register_alias("nsspf:mycena_chlorophos_light", "air")
minetest.register_alias("nsspf:panellus_pusillus", "air")
minetest.register_alias("nsspf:panellus_pusillus_light", "air")
minetest.register_alias("nsspf:plectania_nannfeldtii", "air")
minetest.register_alias("nsspf:plectania_nannfeldtii_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:plectania_nannfeldtii_mycelium", "air")
minetest.register_alias("nsspf:psilocybe_cubensis", "air")
minetest.register_alias("nsspf:psilocybe_cubensis_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:psilocybe_cubensis_mycelium", "air")
minetest.register_alias("nsspf:russula_xerampelina", "air")
minetest.register_alias("nsspf:russula_xerampelina_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:russula_xerampelina_mycelium", "air")
minetest.register_alias("nsspf:suillus_grevillei", "air")
minetest.register_alias("nsspf:suillus_grevillei_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:suillus_grevillei_mycelium", "air")
minetest.register_alias("nsspf:terfezia_arenaria_fruit", "default:dirt")
minetest.register_alias("nsspf:terfezia_arenaria_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:terfezia_arenaria_tuber_mycelium", "air")
minetest.register_alias("nsspf:tuber_borchii_fruit", "default:dirt")
minetest.register_alias("nsspf:tuber_borchii_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:tuber_borchii_tuber_mycelium", "air")
minetest.register_alias("nsspf:tuber_magnatum_pico_fruit", "default:dirt")
minetest.register_alias("nsspf:tuber_magnatum_pico_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:tuber_magnatum_pico_tuber_mycelium", "air")
minetest.register_alias("nsspf:tuber_melanosporum_fruit", "default:dirt")
minetest.register_alias("nsspf:tuber_melanosporum_fungusdirt", "default:dirt")
minetest.register_alias("nsspf:tuber_melanosporum_tuber_mycelium", "air")
--[[
--===========================================
--===========================================
--pathv6alt
minetest.register_alias("pathv6alt:path", "es:stonebrick")
minetest.register_alias("pathv6alt:junglewood", "es:stonebrick")
minetest.register_alias("pathv6alt:bridgewood", "es:junglewood")
minetest.register_alias("pathv6alt:stairn", "es:junglewood")
minetest.register_alias("pathv6alt:stairs", "es:junglewood")
minetest.register_alias("pathv6alt:staire", "es:junglewood")
minetest.register_alias("pathv6alt:stairw", "es:junglewood")
minetest.register_alias("pathv6alt:stairne", "es:junglewood")
minetest.register_alias("pathv6alt:stairse", "es:junglewood")
minetest.register_alias("pathv6alt:stairsw", "es:junglewood")
minetest.register_alias("pathv6alt:stairnw", "es:junglewood")
minetest.register_alias("pathv6alt:pstairn", "es:junglewood")
minetest.register_alias("pathv6alt:pstairs", "es:junglewood")
minetest.register_alias("pathv6alt:pstaire", "es:junglewood")
minetest.register_alias("pathv6alt:pstairw", "es:junglewood")
minetest.register_alias("pathv6alt:pstairne", "es:junglewood")
minetest.register_alias("pathv6alt:pstairse", "es:junglewood")
minetest.register_alias("pathv6alt:pstairsw", "es:junglewood")
minetest.register_alias("pathv6alt:pstairnw", "es:junglewood")
--===========================================
--===========================================
--protector
minetest.register_alias("protector_mese:protect", "protector:protect")
--===========================================
--===========================================
--screwdriver
minetest.register_alias("es:screwdriver","screwdriver:screwdriver")
--===========================================
--===========================================
--technic
--CONCRETE STUFF
minetest.register_alias("technic:concrete_post_platform", "default:copperblock")
minetest.register_alias("technic:blast_resistant_concrete", "es:infiniumblock")
minetest.register_alias("technic:concrete", "es:stone_with_infinium")
minetest.register_alias("technic:rebar", "default:copperblock")
minetest.register_alias("technic:concrete_post", "default:fence_wood")
minetest.register_alias("technic:concrete_post0", "default:fence_wood")
minetest.register_alias("technic:concrete_post32", "default:fence_wood")
minetest.register_alias("technic:concrete_post12", "default:fence_wood")
minetest.register_alias("technic:concrete_post33", "default:fence_wood")
minetest.register_alias("technic:concrete_post3", "default:fence_wood")
minetest.register_alias("technic:concrete_post44", "default:fence_wood")
minetest.register_alias("technic:concrete_post28", "default:fence_wood")
minetest.register_alias("technic:concrete_post35", "default:fence_wood")
minetest.register_alias("technic:concrete_post19", "default:fence_wood")
--LV MACHINE
minetest.register_alias("technic:lv_alloy_furnace", "default:furnace")
minetest.register_alias("technic:lv_electric_furnace", "default:furnace")
minetest.register_alias("technic:coal_alloy_furnace", "default:furnace")
minetest.register_alias("technic:lv_compressor", "default:furnace")
minetest.register_alias("technic:lv_extractor", "default:furnace")
minetest.register_alias("technic:lv_generator", "es:emeraldblock")
minetest.register_alias("technic:geothermal", "es:rubyblock")
minetest.register_alias("technic:lv_grinder", "default:furnace")
minetest.register_alias("technic:water_mill", "es:aikerumblock")
minetest.register_alias("technic:water_mill_active", "es:aikerumblock")
minetest.register_alias("technic:geothermal_active", "es:rubyblock")
minetest.register_alias("technic:lv_generator_active", "es:emeraldblock")
minetest.register_alias("technic:cnc", "default:furnace")
minetest.register_alias("technic:music_player", "default:furnace")
--MV MACHINE
minetest.register_alias("technic:mv_alloy_furnace", "default:furnace")
minetest.register_alias("technic:mv_compressor", "default:furnace")
minetest.register_alias("technic:mv_extractor", "default:furnace")
minetest.register_alias("technic:mv_generator", "es:emeraldblock")
minetest.register_alias("technic:mv_generator_active", "es:emeraldblock")
minetest.register_alias("technic:mv_grinder", "default:furnace")
minetest.register_alias("technic:mv_electric_furnace", "default:furnace")
minetest.register_alias("technic:tool_workshop", "default:furnace")
minetest.register_alias("technic:wind_mill", "default:steelblock")
minetest.register_alias("technic:wind_mill_frame", "default:glass")
--HV MACHINE
minetest.register_alias("technic:forcefield", "default:diamondblock")
minetest.register_alias("technic:hv_generator", "es:emeraldblock")
minetest.register_alias("technic:hv_generator_active", "es:emeraldblock")
minetest.register_alias("technic:forcefield_emitter_on", "es:rubyblock")
minetest.register_alias("technic:forcefield_emitter_off", "es:rubyblock")
minetest.register_alias("technic:hv_nuclear_reactor_core", "default:meselamp")
minetest.register_alias("technic:hv_nuclear_reactor_core_active", "default:meselamp")
minetest.register_alias("technic:bucket_corium", "bucket:bucket_water")
minetest.register_alias("technic:corium_source", "default:water_source")
minetest.register_alias("technic:corium_flowing", "default:water_flowing")
minetest.register_alias("technic:chernobylite_block", "default:mese")
--BATTERIES
minetest.register_alias("technic:lv_battery_box0", "default:stone_with_diamond")
minetest.register_alias("technic:mv_battery_box0", "default:stone_with_diamond")
minetest.register_alias("technic:hv_battery_box0", "default:stone_with_diamond")
minetest.register_alias("technic:lv_battery_box1", "default:stone_with_diamond")
minetest.register_alias("technic:mv_battery_box1", "default:stone_with_diamond")
minetest.register_alias("technic:hv_battery_box1", "default:stone_with_diamond")
minetest.register_alias("technic:lv_battery_box2", "default:stone_with_diamond")
minetest.register_alias("technic:mv_battery_box2", "default:stone_with_diamond")
minetest.register_alias("technic:hv_battery_box2", "default:stone_with_diamond")
minetest.register_alias("technic:lv_battery_box3", "default:stone_with_diamond")
minetest.register_alias("technic:mv_battery_box3", "default:stone_with_diamond")
minetest.register_alias("technic:hv_battery_box3", "default:stone_with_diamond")
minetest.register_alias("technic:lv_battery_box4", "default:stone_with_diamond")
minetest.register_alias("technic:mv_battery_box4", "default:stone_with_diamond")
minetest.register_alias("technic:hv_battery_box4", "default:stone_with_diamond")
minetest.register_alias("technic:lv_battery_box5", "default:stone_with_diamond")
minetest.register_alias("technic:mv_battery_box5", "default:stone_with_diamond")
minetest.register_alias("technic:hv_battery_box5", "default:stone_with_diamond")
minetest.register_alias("technic:lv_battery_box6", "default:stone_with_diamond")
minetest.register_alias("technic:mv_battery_box6", "default:stone_with_diamond")
minetest.register_alias("technic:hv_battery_box6", "default:stone_with_diamond")
minetest.register_alias("technic:lv_battery_box7", "default:stone_with_diamond")
minetest.register_alias("technic:mv_battery_box7", "default:stone_with_diamond")
minetest.register_alias("technic:hv_battery_box7", "default:stone_with_diamond")
minetest.register_alias("technic:lv_battery_box8", "default:stone_with_diamond")
minetest.register_alias("technic:mv_battery_box8", "default:stone_with_diamond")
minetest.register_alias("technic:hv_battery_box8", "default:stone_with_diamond")
--MAIN ELECTRICAL HUBS
minetest.register_alias("technic:switching_station", "es:stone_with_infinium")
minetest.register_alias("technic:supply_converter", "es:infiniumblock")
--LV WIRE STUFF
minetest.register_alias("technic:lv_cable", "default:copperblock")
minetest.register_alias("technic:lv_cable12", "default:copperblock")
minetest.register_alias("technic:lv_cable3", "default:copperblock")
minetest.register_alias("technic:lv_cable48", "default:copperblock")
minetest.register_alias("technic:lv_cable45", "default:copperblock")
minetest.register_alias("technic:lv_cable17", "default:copperblock")
minetest.register_alias("technic:lv_cable5", "default:copperblock")
minetest.register_alias("technic:lv_cable33", "default:copperblock")
minetest.register_alias("technic:lv_cable10", "default:copperblock")
minetest.register_alias("technic:lv_cable44", "default:copperblock")
minetest.register_alias("technic:lv_cable19", "default:copperblock")
minetest.register_alias("technic:lv_cable27", "default:copperblock")
minetest.register_alias("technic:lv_cable25", "default:copperblock")
minetest.register_alias("technic:lv_cable59", "default:copperblock")
minetest.register_alias("technic:lv_cable43", "default:copperblock")
minetest.register_alias("technic:lv_cable9", "default:copperblock")
minetest.register_alias("technic:lv_cable42", "default:copperblock")
minetest.register_alias("technic:lv_cable18", "default:copperblock")
minetest.register_alias("technic:lv_cable41", "default:copperblock")
minetest.register_alias("technic:lv_cable57", "default:copperblock")
minetest.register_alias("technic:lv_cable58", "default:copperblock")
minetest.register_alias("technic:lv_cable24", "default:copperblock")
minetest.register_alias("technic:lv_cable56", "default:copperblock")
minetest.register_alias("technic:lv_cable40", "default:copperblock")
minetest.register_alias("technic:lv_cable11", "default:copperblock")
minetest.register_alias("technic:lv_cable26", "default:copperblock")
minetest.register_alias("technic:lv_cable28", "default:copperblock")
minetest.register_alias("technic:lv_cable60", "default:copperblock")
minetest.register_alias("technic:lv_cable52", "default:copperblock")
minetest.register_alias("technic:lv_cable37", "default:copperblock")
minetest.register_alias("technic:lv_cable14", "default:copperblock")
minetest.register_alias("technic:lv_cable49", "default:copperblock")
minetest.register_alias("technic:lv_cable13", "default:copperblock")
minetest.register_alias("technic:lv_cable51", "default:copperblock")
minetest.register_alias("technic:lv_cable36", "default:copperblock")
minetest.register_alias("technic:lv_cable20", "default:copperblock")
minetest.register_alias("technic:lv_cable16", "default:copperblock")
minetest.register_alias("technic:lv_cable50", "default:copperblock")
minetest.register_alias("technic:lv_cable8", "default:copperblock")
minetest.register_alias("technic:lv_cable4", "default:copperblock")
minetest.register_alias("technic:lv_cable34", "default:copperblock")
minetest.register_alias("technic:lv_cable15", "default:copperblock")
minetest.register_alias("technic:lv_cable2", "default:copperblock")
minetest.register_alias("technic:lv_cable1", "default:copperblock")
minetest.register_alias("technic:lv_cable22", "default:copperblock")
minetest.register_alias("technic:lv_cable53", "default:copperblock")
minetest.register_alias("technic:lv_cable47", "default:copperblock")
--MV WIRE STUFF
minetest.register_alias("technic:mv_cable", "default:bronzeblock")
minetest.register_alias("technic:mv_cable1", "default:bronzeblock")
minetest.register_alias("technic:mv_cable12", "default:bronzeblock")
minetest.register_alias("technic:mv_cable3", "default:bronzeblock")
minetest.register_alias("technic:mv_cable48", "default:bronzeblock")
minetest.register_alias("technic:mv_cable45", "default:bronzeblock")
minetest.register_alias("technic:mv_cable17", "default:bronzeblock")
minetest.register_alias("technic:mv_cable5", "default:bronzeblock")
minetest.register_alias("technic:mv_cable33", "default:bronzeblock")
minetest.register_alias("technic:mv_cable10", "default:bronzeblock")
minetest.register_alias("technic:mv_cable44", "default:bronzeblock")
minetest.register_alias("technic:mv_cable19", "default:bronzeblock")
minetest.register_alias("technic:mv_cable27", "default:bronzeblock")
minetest.register_alias("technic:mv_cable25", "default:bronzeblock")
minetest.register_alias("technic:mv_cable59", "default:bronzeblock")
minetest.register_alias("technic:mv_cable43", "default:bronzeblock")
minetest.register_alias("technic:mv_cable9", "default:bronzeblock")
minetest.register_alias("technic:mv_cable42", "default:bronzeblock")
minetest.register_alias("technic:mv_cable18", "default:bronzeblock")
minetest.register_alias("technic:mv_cable41", "default:bronzeblock")
minetest.register_alias("technic:mv_cable57", "default:bronzeblock")
minetest.register_alias("technic:mv_cable58", "default:bronzeblock")
minetest.register_alias("technic:mv_cable24", "default:bronzeblock")
minetest.register_alias("technic:mv_cable56", "default:bronzeblock")
minetest.register_alias("technic:mv_cable40", "default:bronzeblock")
minetest.register_alias("technic:mv_cable11", "default:bronzeblock")
minetest.register_alias("technic:mv_cable26", "default:bronzeblock")
minetest.register_alias("technic:mv_cable32", "default:bronzeblock")
minetest.register_alias("technic:mv_cable52", "default:bronzeblock")
minetest.register_alias("technic:mv_cable60", "default:bronzeblock")
minetest.register_alias("technic:mv_cable61", "default:bronzeblock")
minetest.register_alias("technic:mv_cable28", "default:bronzeblock")
minetest.register_alias("technic:mv_cable36", "default:bronzeblock")
minetest.register_alias("technic:mv_cable20", "default:bronzeblock")
minetest.register_alias("technic:mv_cable34", "default:bronzeblock")
minetest.register_alias("technic:mv_cable16", "default:bronzeblock")
minetest.register_alias("technic:mv_cable13", "default:bronzeblock")
minetest.register_alias("technic:mv_cable39", "default:bronzeblock")
minetest.register_alias("technic:mv_cable55", "default:bronzeblock")
minetest.register_alias("technic:mv_cable38", "default:bronzeblock")
minetest.register_alias("technic:mv_cable54", "default:bronzeblock")
minetest.register_alias("technic:mv_cable22", "default:bronzeblock")
minetest.register_alias("technic:mv_cable21", "default:bronzeblock")
minetest.register_alias("technic:mv_cable23", "default:bronzeblock")
minetest.register_alias("technic:mv_cable53", "default:bronzeblock")
minetest.register_alias("technic:mv_cable35", "default:bronzeblock")
minetest.register_alias("technic:mv_cable6", "default:bronzeblock")
minetest.register_alias("technic:mv_cable4", "default:bronzeblock")
minetest.register_alias("technic:mv_cable49", "default:bronzeblock")
minetest.register_alias("technic:mv_cable7", "default:bronzeblock")
minetest.register_alias("technic:mv_cable14", "default:bronzeblock")
minetest.register_alias("technic:mv_cable15", "default:bronzeblock")
minetest.register_alias("technic:mv_cable30", "default:bronzeblock")
minetest.register_alias("technic:mv_cable37", "default:bronzeblock")
minetest.register_alias("technic:mv_cable46", "default:bronzeblock")
--HV WIRE STUFF
minetest.register_alias("technic:hv_cable", "default:goldblock")
minetest.register_alias("technic:hv_cable12", "default:goldblock")
minetest.register_alias("technic:hv_cable3", "default:goldblock")
minetest.register_alias("technic:hv_cable48", "default:goldblock")
minetest.register_alias("technic:hv_cable45", "default:goldblock")
minetest.register_alias("technic:hv_cable17", "default:goldblock")
minetest.register_alias("technic:hv_cable5", "default:goldblock")
minetest.register_alias("technic:hv_cable33", "default:goldblock")
minetest.register_alias("technic:hv_cable10", "default:goldblock")
minetest.register_alias("technic:hv_cable44", "default:goldblock")
minetest.register_alias("technic:hv_cable19", "default:goldblock")
minetest.register_alias("technic:hv_cable27", "default:goldblock")
minetest.register_alias("technic:hv_cable25", "default:goldblock")
minetest.register_alias("technic:hv_cable59", "default:goldblock")
minetest.register_alias("technic:hv_cable43", "default:goldblock")
minetest.register_alias("technic:hv_cable9", "default:goldblock")
minetest.register_alias("technic:hv_cable42", "default:goldblock")
minetest.register_alias("technic:hv_cable18", "default:goldblock")
minetest.register_alias("technic:hv_cable41", "default:goldblock")
minetest.register_alias("technic:hv_cable57", "default:goldblock")
minetest.register_alias("technic:hv_cable58", "default:goldblock")
minetest.register_alias("technic:hv_cable24", "default:goldblock")
minetest.register_alias("technic:hv_cable56", "default:goldblock")
minetest.register_alias("technic:hv_cable40", "default:goldblock")
minetest.register_alias("technic:hv_cable11", "default:goldblock")
minetest.register_alias("technic:hv_cable26", "default:goldblock")
minetest.register_alias("technic:hv_cable30", "default:goldblock")
minetest.register_alias("technic:hv_cable28", "default:goldblock")
minetest.register_alias("technic:hv_cable34", "default:goldblock")
minetest.register_alias("technic:hv_cable4", "default:goldblock")
minetest.register_alias("technic:hv_cable50", "default:goldblock")
minetest.register_alias("technic:hv_cable51", "default:goldblock")
minetest.register_alias("technic:hv_cable35", "default:goldblock")
minetest.register_alias("technic:hv_cable37", "default:goldblock")
minetest.register_alias("technic:hv_cable23", "default:goldblock")
minetest.register_alias("technic:hv_cable54", "default:goldblock")
minetest.register_alias("technic:hv_cable7", "default:goldblock")
minetest.register_alias("technic:hv_cable1", "default:goldblock")
minetest.register_alias("technic:hv_cable36", "default:goldblock")
minetest.register_alias("technic:hv_cable32", "default:goldblock")
minetest.register_alias("technic:hv_cable31", "default:goldblock")
minetest.register_alias("technic:hv_cable6", "default:goldblock")
minetest.register_alias("technic:hv_cable13", "default:goldblock")
minetest.register_alias("technic:hv_cable2", "default:goldblock")
minetest.register_alias("technic:hv_cable20", "default:goldblock")
minetest.register_alias("technic:hv_cable8", "default:goldblock")
minetest.register_alias("technic:hv_cable0", "default:goldblock")
--SOLAR STUFF
minetest.register_alias("technic:solar_array_lv", "es:aikerumblock")
minetest.register_alias("technic:solar_array_mv", "es:aikerumblock")
minetest.register_alias("technic:solar_array_hv", "es:aikerumblock")
minetest.register_alias("technic:solar_panel", "es:aikerumblock")
--MG STUFF
minetest.register_alias("technic:marble", "es:marble")
minetest.register_alias("technic:granite", "es:granite")
minetest.register_alias("technic:marble_bricks", "es:marble_bricks")
--minetest.register_alias("technic:mineral_uranium", "es:depleted_uranium")
--minetest.register_alias("technic:mineral_chromium", "es:stone_with_aikerum")
--minetest.register_alias("technic:mineral_zinc", "es:stone_with_emerald")
minetest.register_alias("technic:mineral_uranium", "es:depleted_coal")
minetest.register_alias("technic:mineral_chromium", "es:stone_with_coal")
minetest.register_alias("technic:mineral_zinc", "es:stone_with_coal")
--BLOCKS
minetest.register_alias("technic:cast_iron_block", "default:goldblock")
minetest.register_alias("technic:uranium_block", "es:emeraldblock")
minetest.register_alias("technic:chromium_block", "es:emeraldblock")
minetest.register_alias("technic:zinc_block", "default:steelblock")
minetest.register_alias("technic:carbon_steel_block", "default:coalblock")
minetest.register_alias("technic:stainless_steel_block", "default:steelblock")
minetest.register_alias("technic:brass_block", "default:bronzeblock")
--INGOTS
minetest.register_alias("technic:uranium", "es:depleted_uranium")
minetest.register_alias("technic:chromium_lump", "es:emerald_crystal")
minetest.register_alias("technic:chromium_ingot", "es:emerald_crystal")
minetest.register_alias("technic:zinc_lump", "es:ruby_crystal")
minetest.register_alias("technic:zinc_ingot", "es:ruby_crystal")
minetest.register_alias("technic:brass_ingot", "default:bronze_ingot")
minetest.register_alias("technic:wrought_iron_ingot", "default:steel_ingot")
minetest.register_alias("technic:cast_iron_ingot", "default:steel_ingot")
minetest.register_alias("technic:carbon_steel_ingot", "default:coal_lump")
minetest.register_alias("technic:stainless_steel_ingot", "default:steel_ingot")
--ORES AND MISC
minetest.register_alias("technic:silicon_wafer", "default:steel_ingot")
minetest.register_alias("technic:doped_silicon_wafer", "default:steel_ingot")
minetest.register_alias("technic:enriched_uranium", "default:steel_ingot")
minetest.register_alias("technic:uranium_fuel", "default:steel_ingot")
minetest.register_alias("technic:diamond_drill_head", "default:steel_ingot")
minetest.register_alias("technic:blue_energy_crystal", "default:steel_ingot")
minetest.register_alias("technic:green_energy_crystal", "default:steel_ingot")
minetest.register_alias("technic:red_energy_crystal", "default:steel_ingot")
minetest.register_alias("technic:fine_copper_wire", "default:steel_ingot")
minetest.register_alias("technic:fine_gold_wire", "default:steel_ingot")
minetest.register_alias("technic:fine_silver_wire", "default:steel_ingot")
minetest.register_alias("technic:copper_coil", "default:steel_ingot")
minetest.register_alias("technic:motor", "default:steel_ingot")
minetest.register_alias("technic:lv_transformer", "default:steel_ingot")
minetest.register_alias("technic:mv_transformer", "default:steel_ingot")
minetest.register_alias("technic:hv_transformer", "default:steel_ingot")
minetest.register_alias("technic:control_logic_unit", "default:steel_ingot")
minetest.register_alias("technic:mixed_metal_ingot", "default:steel_ingot")
minetest.register_alias("technic:composite_plate", "default:steel_ingot")
minetest.register_alias("technic:copper_plate", "default:steel_ingot")
minetest.register_alias("technic:carbon_plate", "default:steel_ingot")
minetest.register_alias("technic:graphite", "default:steel_ingot")
minetest.register_alias("technic:carbon_cloth", "default:steel_ingot")
minetest.register_alias("technic:machine_casing", "default:glass")
--===========================================
--===========================================
--vendor
minetest.register_alias("vendor:vendor", "smartshop:shop")
minetest.register_alias("vendor:depositor", "smartshop:shop")
minetest.register_alias("vendorgoldblock:vendor", "smartshop:shop")
minetest.register_alias("vendorgoldblock:depositor", "smartshop:shop")
--[[
minetest.register_alias("esmobs:cobweb", "mobs:cobweb")
--===========================================
--===========================================
--villages
minetest.register_alias("mg_villages:torch", "default:torch")
minetest.register_alias("handle_schematics:support", "default:ladder")
minetest.register_alias("mg_villages:road", "default:gravel")
minetest.register_alias("mg_villages:soil", "default:dirt")
minetest.register_alias("mg_villages:desert_sand_soil", "default:desert_sand")
minetest.register_alias("mg_villages:plotmarker", "stairs:slab_stonebrick")
minetest.register_alias("mg_villages:lava_flowing_tamed", "default:lava_flowing")
minetest.register_alias("mg_villages:lava_source_tamed", "default:lava_source")
]]
--esmobs pathfinding
minetest.register_alias("esmobs:stone", "default:leaves")
minetest.register_alias("esmobs:dirt", "default:leaves")
--override default nodes
minetest.register_alias("default:desert_stone_with_iron", "es:desert_stone_with_iron")
minetest.register_alias("default:desert_stone_with_gold", "es:desert_stone_with_gold")
minetest.register_alias("default:desert_stone_with_coal", "es:desert_stone_with_coal")
minetest.register_alias("protector_mese:protect", "protector:protect")
minetest.register_alias("es:strange_clay", "es:strange_clay_blue")
minetest.register_alias("es:stone_with_mese", "default:stone_with_mese")
--[[
minetest.register_alias("cblocks:clay_magenta", "es:strange_clay_maroon")
minetest.register_alias("cblocks:clay_black", "es:strange_clay_black")
minetest.register_alias("cblocks:clay_red", "es:strange_clay_red")
minetest.register_alias("cblocks:clay_grey", "es:strange_clay_grey")
minetest.register_alias("cblocks:clay_orange", "es:strange_clay_orange")
minetest.register_alias("cblocks:clay_brown", "es:strange_clay_brown")
]]
--This is to fix the old interaction with my modified 3d_armor mod.
--NEED TO USE THIS FOR 3-D ARMOUR TO WORK!!!!!
minetest.register_alias("3d_armor:helmet_aikerum", "es:helmet_aikerum")
minetest.register_alias("3d_armor:helmet_emerald", "es:helmet_emerald")
minetest.register_alias("3d_armor:helmet_infinium", "es:helmet_infinium")
minetest.register_alias("3d_armor:chestplate_aikerum", "es:chestplate_aikerum")
minetest.register_alias("3d_armor:chestplate_emerald", "es:chestplate_emerald")
minetest.register_alias("3d_armor:chestplate_infinium", "es:chestplate_infinium")
minetest.register_alias("3d_armor:leggings_aikerum", "es:leggings_aikerum")
minetest.register_alias("3d_armor:leggings_emerald", "es:leggings_emerald")
minetest.register_alias("3d_armor:leggings_infinium", "es:leggings_infinium")
minetest.register_alias("3d_armor:boots_aikerum", "es:boots_aikerum")
minetest.register_alias("3d_armor:boots_emerald", "es:boots_emerald")
minetest.register_alias("3d_armor:boots_infinium", "es:boots_infinium")
--minetest.register_alias("doors:door_wood_t_1", "default:wood")
--minetest.register_alias("doors:door_wood_b_1", "default:wood")
--minetest.register_alias("doors:door_wood_t_2", "default:wood")
minetest.register_alias("beds:bed_bottom_white", "default:wood")
minetest.register_alias("beds:bed_top_white", "default:wood")

View File

@ -34,6 +34,7 @@ function prevent_place_above(name)
minetest.registered_craftitems[name].on_place=function(itemstack, placer, pointed_thing)
local pos = pointed_thing.above
if pos.y>0 then
minetest.chat_send_player(placer:get_player_name(), "Don't place water or lava above 0.")
minetest.log("action","ANTI GRIEF " .. placer:get_player_name() .. " tried to place " .. name .. " at " .. minetest.pos_to_string(pos));
return itemstack
else
@ -57,6 +58,7 @@ function prevent_place_above(name)
--after_place_node = func(pos, placer, itemstack, pointed_thing)
local pos = pointed_thing.above
if pos.y>0 then
minetest.chat_send_player(placer:get_player_name(), "Don't place water or lava above 0.")
minetest.log("action","ANTI GRIEF " .. placer:get_player_name() .. " tried to place " .. name .. " at " .. minetest.pos_to_string(pos));
minetest.set_node(pos, {name = "air"});
return itemstack
@ -99,6 +101,7 @@ function no_tnt_above(name)
minetest.registered_craftitems[name].on_place=function(itemstack, placer, pointed_thing)
local pos = pointed_thing.above
if pos.y>-150 then
minetest.chat_send_player(placer:get_player_name(), "Don't place TNT above -150.")
minetest.log("action","ANTI GRIEF " .. placer:get_player_name() .. " tried to place " .. name .. " at " .. minetest.pos_to_string(pos));
return itemstack
else
@ -122,6 +125,7 @@ function no_tnt_above(name)
--after_place_node = func(pos, placer, itemstack, pointed_thing)
local pos = pointed_thing.above
if pos.y>-150 then
minetest.chat_send_player(placer:get_player_name(), "Don't place TNT above -150.")
minetest.log("action","ANTI GRIEF " .. placer:get_player_name() .. " tried to place " .. name .. " at " .. minetest.pos_to_string(pos));
minetest.set_node(pos, {name = "air"});
return itemstack

View File

@ -1,17 +1,17 @@
--Extreme Survival created by maikerumine
-- Minetest 0.4.13 mod: "Extreme Survival"
-- Minetest 0.4.16 mod: "Extreme Survival"
-- namespace: es
--version 1.8
--version 0.4.16
--https://github.com/maikerumine
--License:
--~~~~~~~~
--Code:
--(c) Copyright 2015 maikerumine; modified zlib-License
--(c) Copyright 2015-2017 maikerumine; modified zlib-License
--see "LICENSE.txt" for details.
--Media(if not stated differently):
--(c) Copyright (2014-2015) maikerumine; CC-BY-SA 3.0
--(c) Copyright (2014-2017) maikerumine; CC-BY-SA 3.0
@ -27,88 +27,88 @@
minetest.register_tool("es:helmet_emerald", {
minetest.register_tool(":3d_armor:helmet_emerald", {
description = "Emerald Helmet",
inventory_image = "es_inv_helmet_emerald.png",
inventory_image = "3d_armor_inv_helmet_emerald.png",
groups = {armor_head = 15, armor_heal = 12, armor_use = 100},
wear = 0,
})
minetest.register_tool("es:helmet_aikerum", {
minetest.register_tool(":3d_armor:helmet_aikerum", {
description = "Aikerum Helmet",
inventory_image = "es_inv_helmet_aikerum.png",
inventory_image = "3d_armor_inv_helmet_aikerum.png",
groups = {armor_head = 17, armor_heal = 17, armor_use = 120},
wear = 0,
})
minetest.register_tool("es:helmet_infinium", {
minetest.register_tool(":3d_armor:helmet_infinium", {
description = "Infinium Helmet",
inventory_image = "es_inv_helmet_infinium.png",
inventory_image = "3d_armor_inv_helmet_infinium.png",
groups = {armor_head = 20, armor_heal = 15, armor_use = 150},
wear = 0,
})
minetest.register_tool("es:chestplate_emerald", {
minetest.register_tool(":3d_armor:chestplate_emerald", {
description = "Emerald Chestplate",
inventory_image = "es_inv_chestplate_emerald.png",
inventory_image = "3d_armor_inv_chestplate_emerald.png",
groups = {armor_torso = 20, armor_heal = 12, armor_use = 100},
wear = 0,
})
minetest.register_tool("es:chestplate_aikerum", {
minetest.register_tool(":3d_armor:chestplate_aikerum", {
description = "Aikerum Chestplate",
inventory_image = "es_inv_chestplate_aikerum.png",
inventory_image = "3d_armor_inv_chestplate_aikerum.png",
groups = {armor_torso = 35, armor_heal = 13, armor_use = 125},
wear = 0,
})
minetest.register_tool("es:chestplate_infinium", {
minetest.register_tool(":3d_armor:chestplate_infinium", {
description = "Infinium Chestplate",
inventory_image = "es_inv_chestplate_infinium.png",
inventory_image = "3d_armor_inv_chestplate_infinium.png",
groups = {armor_torso = 50, armor_heal = 15, armor_use = 150},
wear = 0,
})
minetest.register_tool("es:leggings_emerald", {
minetest.register_tool(":3d_armor:leggings_emerald", {
description = "Emerald Leggings",
inventory_image = "es_inv_leggings_emerald.png",
inventory_image = "3d_armor_inv_leggings_emerald.png",
groups = {armor_legs = 20, armor_heal = 12, armor_use = 100},
wear = 0,
})
minetest.register_tool("es:leggings_aikerum", {
minetest.register_tool(":3d_armor:leggings_aikerum", {
description = "Aikerum Leggings",
inventory_image = "es_inv_leggings_aikerum.png",
inventory_image = "3d_armor_inv_leggings_aikerum.png",
groups = {armor_legs = 34, armor_heal = 13, armor_use = 125},
wear = 0,
})
minetest.register_tool("es:leggings_infinium", {
minetest.register_tool(":3d_armor:leggings_infinium", {
description = "Infinium Leggings",
inventory_image = "es_inv_leggings_infinium.png",
inventory_image = "3d_armor_inv_leggings_infinium.png",
groups = {armor_legs = 50, armor_heal = 15, armor_use = 150},
wear = 0,
})
minetest.register_tool("es:boots_emerald", {
minetest.register_tool(":3d_armor:boots_emerald", {
description = "Emerald Boots",
inventory_image = "es_inv_boots_emerald.png",
inventory_image = "3d_armor_inv_boots_emerald.png",
groups = {armor_feet = 15, armor_heal = 12, armor_use = 100},
wear = 0,
})
minetest.register_tool("es:boots_aikerum", {
minetest.register_tool(":3d_armor:boots_aikerum", {
description = "Aikerum Boots",
inventory_image = "es_inv_boots_aikerum.png",
inventory_image = "3d_armor_inv_boots_aikerum.png",
groups = {armor_feet = 20, armor_heal = 13, armor_use = 130},
wear = 0,
})
minetest.register_tool("es:boots_infinium", {
minetest.register_tool(":3d_armor:boots_infinium", {
description = "Infinium Boots",
inventory_image = "es_inv_boots_infinium.png",
inventory_image = "3d_armor_inv_boots_infinium.png",
groups = {armor_feet = 30, armor_heal = 15, armor_use = 150},
wear = 0,
})
@ -117,8 +117,8 @@ minetest.register_tool("es:boots_infinium", {
local craft_ingreds = {
aikerum = "es:aikerum_crystal",
emerald = "es:emerald_crystal",
aikerum = "es:aikerum_ingot",
emerald = "es:emerald_ingot",
infinium = "es:infinium_ingot",
@ -158,6 +158,9 @@ for k, v in pairs(craft_ingreds) do
})
end
if minetest.setting_getbool("log_mods") then
minetest.log("action", "ES: [3d_armor] loaded.")
end

1568
biome.lua

File diff suppressed because it is too large Load Diff

2079
biome_aftermath.lua Normal file

File diff suppressed because it is too large Load Diff

358
biome_aftermath_node.lua Normal file
View File

@ -0,0 +1,358 @@
--Extreme Survival created by maikerumine
-- Minetest 0.4.13 mod: "Extreme Survival"
-- namespace: es
--version 1.8
--https://github.com/maikerumine
--NODE TWEAKINGS
minetest.override_item("default:dirt_with_grass", {
description = "Dirt with Grass",
tiles = {"default_dry_grass.png", "default_dirt.png",
{name = "default_dirt.png^default_dry_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1},
drop = 'default:dirt',
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
minetest.override_item("default:leaves", {
description = "Leaves",
drawtype = "allfaces_optional",
waving = 1,
visual_scale = 1.3,
tiles = {"a-leavedead.png"},
special_tiles = {"a-leavedead.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/20 chance
items = {'default:sapling'},
rarity = 20,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'default:stick'},
}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.override_item("default:jungleleaves", {
description = "Jungle Leaves",
drawtype = "allfaces_optional",
waving = 1,
visual_scale = 1.3,
tiles = {"a-leavedead.png"},
special_tiles = {"a-leavedead.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{items = {'default:junglesapling'}, rarity = 20},
{items = {'default:stick'}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.override_item("default:pine_needles",{
description = "Pine Needles",
drawtype = "allfaces_optional",
visual_scale = 1.3,
tiles = {"default_pine_needles.png^[colorize:white:80"},
waving = 1,
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{items = {"default:pine_sapling"}, rarity = 20},
{items = {"default:stick"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.override_item("default:acacia_leaves", {
description = "Acacia Leaves",
drawtype = "allfaces_optional",
visual_scale = 1.3,
tiles = {"default_acacia_leaves.png^[colorize:brown:120"},
waving = 1,
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{items = {"default:acacia_sapling"}, rarity = 20},
{items = {"default:stick"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.override_item("default:aspen_leaves", {
description = "Aspen Leaves",
drawtype = "allfaces_optional",
visual_scale = 1.3,
tiles = {"default_aspen_leaves.png^[colorize:brown:80"},
waving = 1,
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{items = {"default:aspen_sapling"}, rarity = 20},
{items = {"default:stick"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
--
-- Plantlife (non-cubic)
--
minetest.override_item("default:cactus", {
description = "Cactus",
tiles = {"default_cactus_top.png^[colorize:brown:80", "default_cactus_top.png^[colorize:brown:80",
"default_cactus_side.png^[colorize:brown:80"},
paramtype2 = "facedir",
groups = {snappy = 1, choppy = 3},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
minetest.override_item("default:papyrus", {
description = "Papyrus",
drawtype = "plantlike",
tiles = {"default_papyrus.png^[colorize:brown:120"},
inventory_image = "default_papyrus.png^[colorize:brown:120",
wield_image = "default_papyrus.png^[colorize:brown:120",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
},
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
minetest.override_item("default:junglegrass", {
description = "Jungle Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.3,
tiles = {"default_junglegrass.png^[colorize:brown:80"},
inventory_image = "default_junglegrass.png^[colorize:brown:80",
wield_image = "default_junglegrass.png^[colorize:brown:80",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
},
})
minetest.override_item("default:grass_1", {
description = "Grass",
drawtype = "plantlike",
waving = 1,
tiles = {"default_grass_1.png^[colorize:brown:80"},
-- Use texture of a taller grass stage in inventory
inventory_image = "default_grass_3.png^[colorize:brown:80",
wield_image = "default_grass_3.png^[colorize:brown:80",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
},
on_place = function(itemstack, placer, pointed_thing)
-- place a random grass node
local stack = ItemStack("default:grass_" .. math.random(1,5))
local ret = minetest.item_place(stack, placer, pointed_thing)
return ItemStack("default:grass_1 " ..
itemstack:get_count() - (1 - ret:get_count()))
end,
})
for i = 2, 5 do
minetest.override_item("default:grass_" .. i, {
description = "Grass",
drawtype = "plantlike",
waving = 1,
tiles = {"default_grass_" .. i .. ".png^[colorize:brown:80"},
inventory_image = "default_grass_" .. i .. ".png^[colorize:brown:80",
wield_image = "default_grass_" .. i .. ".png^[colorize:brown:80",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
drop = "default:grass_1",
groups = {snappy = 3, flora = 1, attached_node = 1,
not_in_creative_inventory = 1, grass = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
},
})
end
--
-- Liquids
--
minetest.override_item("default:water_source", {
inventory_image = minetest.inventorycube("es_toxic_water.png"),
drawtype = "liquid",
tiles = {
{
name = "es_toxic_water_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
},
special_tiles = {
-- New-style water source material (mostly unused)
{
name = "es_toxic_water_source_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
backface_culling = false,
},
},
--alpha = 240,
paramtype = "light",
walkable = false,
climbable = true,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "default:water_flowing",
liquid_alternative_source = "default:water_source",
liquid_viscosity = 4,
post_effect_color = {a = 213, r = 30, g = 60, b = 90},
damage_per_second = 3*2,
groups = {water = 3, liquid = 3, puts_out_fire = 1, radioactive = 2},
sounds = default.node_sound_glass_defaults(),
})
minetest.override_item("default:water_flowing", {
description = "Toxic_Flowing Water",
inventory_image = minetest.inventorycube("es_toxic_water.png"),
drawtype = "flowingliquid",
tiles = {"es_toxic_water.png"},
special_tiles = {
{
name = "es_toxic_water_flowing_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
{
name = "es_toxic_water_flowing_animated.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
},
--alpha = 240,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "default:water_flowing",
liquid_alternative_source = "default:water_source",
liquid_viscosity = 3,
post_effect_color = {a = 203, r = 30, g = 60, b = 90},
damage_per_second = 3*2,
groups = {water = 3, liquid = 3, puts_out_fire = 1, radioactive = 2, not_in_creative_inventory = 1},
sounds = default.node_sound_glass_defaults(),
})
minetest.override_item("default:ice", {
description = "Ice",
tiles = {"default_ice.png^es_toxic_water.png"},
is_ground_content = false,
paramtype = "light",
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1, slippery = 3},
sounds = default.node_sound_glass_defaults(),
})

1792
biome_cobble.lua Normal file

File diff suppressed because it is too large Load Diff

2128
biome_es.lua Normal file

File diff suppressed because it is too large Load Diff

1792
biome_ice.lua Normal file

File diff suppressed because it is too large Load Diff

1792
biome_stone.lua Normal file

File diff suppressed because it is too large Load Diff

532
builtin_flowlib.lua Normal file
View File

@ -0,0 +1,532 @@
local function drop_attached_node(p)
local nn = minetest.get_node(p).name
minetest.remove_node(p)
for _, item in pairs(minetest.get_node_drops(nn, "")) do
local pos = {
x = p.x + math.random()/2 - 0.25,
y = p.y + math.random()/2 - 0.25,
z = p.z + math.random()/2 - 0.25,
}
minetest.add_item(pos, item)
end
end
-- Helper function for node actions for liquid flow
local liquid_flow_action = function(pos, group, action)
local check_detach = function(pos, xp, yp, zp)
local p = {x=pos.x+xp, y=pos.y+yp, z=pos.z+zp}
local n = minetest.get_node_or_nil(p)
if not n then
return false
end
local d = minetest.registered_nodes[n.name]
if not d then
return false
end
--[[ Check if we want to perform the liquid action.
* 1: Item must be in liquid group
* 2a: If target node is below liquid, always succeed
* 2b: If target node is horizontal to liquid: succeed if source, otherwise check param2 for horizontal flow direction ]]
local range = d.liquid_range or 8
if (minetest.get_item_group(n.name, group) ~= 0) and
((yp > 0) or
(yp == 0 and ((d.liquidtype == "source") or (n.param2 > (8-range) and n.param2 < 9)))) then
action(pos)
end
end
local posses = {
{ x=-1, y=0, z=0 },
{ x=1, y=0, z=0 },
{ x=0, y=0, z=-1 },
{ x=0, y=0, z=1 },
{ x=0, y=1, z=0 },
}
for p=1,#posses do
check_detach(pos, posses[p].x, posses[p].y, posses[p].z)
end
end
-- Drop some nodes next to flowing water, if it would flow into the node
minetest.register_abm({
label = "Wash away dig_by_water nodes by water flow",
nodenames = {"group:dig_by_water"},
neighbors = {"group:water"},
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
liquid_flow_action(pos, "water", function(pos)
drop_attached_node(pos)
minetest.dig_node(pos)
end)
end,
})
-- Destroy some nodes next to flowing lava, if it would flow into the node
minetest.register_abm({
label = "Destroy destroy_by_lava_flow nodes by lava flow",
nodenames = {"group:destroy_by_lava_flow"},
neighbors = {"group:lava"},
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
liquid_flow_action(pos, "lava", function(pos)
minetest.remove_node(pos)
--minetest.sound_play("builtin_item_lava", {pos = pos, gain = 0.25, max_hear_distance = 16})
core.check_for_falling(pos)
end)
end,
})
-- Minetest: builtin/item_entity.lua (27th January 2016)
-- water flow functions by QwertyMine3, edited by TenPlus1
local function to_unit_vector(dir_vector)
local inv_roots = {
[0] = 1,
[1] = 1,
[2] = 0.70710678118655,
[4] = 0.5,
[5] = 0.44721359549996,
[8] = 0.35355339059327
}
local sum = dir_vector.x * dir_vector.x + dir_vector.z * dir_vector.z
return {
x = dir_vector.x * inv_roots[sum],
y = dir_vector.y,
z = dir_vector.z * inv_roots[sum]
}
end
local function is_touching(realpos, nodepos, radius)
return (math.abs(realpos - nodepos) > (0.5 - radius))
end
local function node_ok(pos)
local node = minetest.get_node_or_nil(pos)
if not node then
return minetest.registered_nodes["default:dirt"]
end
if minetest.registered_nodes[node.name] then
return node
end
return minetest.registered_nodes["default:dirt"]
end
local function is_water(pos)
return (minetest.registered_nodes[
node_ok({x = pos.x, y = pos.y, z = pos.z}).name].groups.water)
end
local function is_liquid(pos)
return (minetest.registered_nodes[
node_ok({x = pos.x, y = pos.y, z = pos.z}).name].groups.liquid)
end
local function node_is_liquid(node)
return (minetest.registered_nodes[node.name].groups.liquid)
end
local function quick_flow_logic(node, pos_testing, direction)
if minetest.registered_nodes[node.name].liquidtype == "source" then
local node_testing = node_ok(pos_testing)
local param2_testing = node_testing.param2
if minetest.registered_nodes[node_testing.name].liquidtype ~= "flowing" then
return 0
else
return direction
end
elseif minetest.registered_nodes[node.name].liquidtype == "flowing" then
local node_testing = node_ok(pos_testing)
local param2_testing = node_testing.param2
if minetest.registered_nodes[node_testing.name].liquidtype == "source" then
return -direction
elseif minetest.registered_nodes[node_testing.name].liquidtype == "flowing" then
if param2_testing < node.param2 then
if (node.param2 - param2_testing) > 6 then
return -direction
else
return direction
end
elseif param2_testing > node.param2 then
if (param2_testing - node.param2) > 6 then
return direction
else
return -direction
end
end
end
end
return 0
end
local function quick_flow(pos, node)
local x, z = 0, 0
if not node_is_liquid(node) then
return {x = 0, y = 0, z = 0}
end
x = x + quick_flow_logic(node, {x = pos.x - 1, y = pos.y, z = pos.z},-1)
x = x + quick_flow_logic(node, {x = pos.x + 1, y = pos.y, z = pos.z}, 1)
z = z + quick_flow_logic(node, {x = pos.x, y = pos.y, z = pos.z - 1},-1)
z = z + quick_flow_logic(node, {x = pos.x, y = pos.y, z = pos.z + 1}, 1)
return to_unit_vector({x = x, y = 0, z = z})
end
--if not in water but touching, move centre to touching block
--x has higher precedence than z -- if pos changes with x, it affects z
local function move_centre(pos, realpos, node, radius)
if is_touching(realpos.x, pos.x, radius) then
if is_liquid({x = pos.x - 1, y = pos.y, z = pos.z}) then
pos = {x = pos.x - 1, y = pos.y, z = pos.z}
node = node_ok(pos)
elseif is_liquid({x = pos.x + 1, y = pos.y, z = pos.z}) then
pos = {x = pos.x + 1, y = pos.y, z = pos.z}
node = node_ok(pos)
end
end
if is_touching(realpos.z, pos.z, radius) then
if is_liquid({x = pos.x, y = pos.y, z = pos.z - 1}) then
pos = {x = pos.x, y = pos.y, z = pos.z - 1}
node = node_ok(pos)
elseif is_liquid({x = pos.x, y = pos.y, z = pos.z + 1}) then
pos = {x = pos.x, y = pos.y, z = pos.z + 1}
node = node_ok(pos)
end
end
return pos, node
end
-- END water flow functions
function core.spawn_item(pos, item)
local obj = core.add_entity(pos, "__builtin:item")
-- Don't use obj if it couldn't be added to the map.
if obj then
obj:get_luaentity():set_item(ItemStack(item):to_string())
end
return obj
end
-- if item_entity_ttl is not set, enity will have default life time
-- setting to -1 disables the feature
local time_to_live = tonumber(core.setting_get("item_entity_ttl")) or 900
-- if destroy_item is 1 then dropped items will burn inside lava
local destroy_item = tonumber(core.setting_get("destroy_item")) or 1
-- entity gravity
local gravity = tonumber(minetest.setting_get("movement_gravity")) or 9.81
-- particle effects for when item is destroyed
local function add_effects(pos)
minetest.add_particlespawner({
amount = 1,
time = 0.25,
minpos = pos,
maxpos = pos,
minvel = {x = -1, y = 2, z = -1},
maxvel = {x = 1, y = 5, z = 1},
minacc = {x = -4, y = -4, z = -4},
maxacc = {x = 4, y = 4, z = 4},
minexptime = 1,
maxexptime = 3,
minsize = 1,
maxsize = 4,
texture = "tnt_smoke.png",
})
end
-- check if within map limits (-30911 to 30927)
local function within_limits(pos)
if pos.x > -30913
and pos.x < 30928
and pos.y > -30913
and pos.y < 30928
and pos.z > -30913
and pos.z < 30928 then
return true -- within limits
end
return false -- beyond limits
end
core.register_entity(":__builtin:item", {
initial_properties = {
hp_max = 1,
physical = true,
collide_with_objects = false,
collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.3, 0.3},
visual = "wielditem",
visual_size = {x = 0.4, y = 0.4},
textures = {""},
spritediv = {x = 1, y = 1},
initial_sprite_basepos = {x = 0, y = 0},
is_visible = false,
infotext = "",
},
itemstring = "",
physical_state = true,
age = 0,
set_item = function(self, itemstring)
self.itemstring = itemstring
local stack = ItemStack(itemstring)
local itemname = stack:get_name()
local max_count = stack:get_stack_max()
local count = math.min(stack:get_count(), max_count)
local size = 0.2 + 0.1 * (count / max_count)
if not core.registered_items[itemname] then
itemname = "unknown"
end
self.object:set_properties({
is_visible = true,
visual = "wielditem",
textures = {itemname},
visual_size = {x = size, y = size},
collisionbox = {-size, -size, -size, size, size, size},
automatic_rotate = math.pi * 0.5,
infotext = core.registered_items[itemname].description
})
end,
update_gravity = function(self)
if not self.physical_state then
self.object:setacceleration({x = 0, y = 0, z = 0})
return
end
self.object:setacceleration({x = 0, y = -gravity, z = 0})
end,
get_staticdata = function(self)
return core.serialize({
itemstring = self.itemstring,
always_collect = self.always_collect,
age = self.age,
dropped_by = self.dropped_by
})
end,
on_activate = function(self, staticdata, dtime_s)
--[[
-- special function to fast remove entities (xanadu only)
if (mobs and mobs.entity and mobs.entity == false)
or not self then
self.object:remove()
return
end
]]
if string.sub(staticdata, 1, string.len("return")) == "return" then
local data = core.deserialize(staticdata)
if data and type(data) == "table" then
self.itemstring = data.itemstring
self.always_collect = data.always_collect
self.age = data.age or 0
self.age = self.age + dtime_s
self.dropped_by = data.dropped_by
end
else
self.itemstring = staticdata
end
self.object:set_armor_groups({immortal = 1})
self.object:setvelocity({x = 0, y = 2, z = 0})
self:update_gravity()
self:set_item(self.itemstring)
end,
try_merge_with = function(self, own_stack, object, entity)
if self.age == entity.age then
-- Can not merge with itself
return false
end
local stack = ItemStack(entity.itemstring)
local name = stack:get_name()
if own_stack:get_name() ~= name or own_stack:get_free_space() == 0 then
-- Can not merge different or full stack
return false
end
local count = own_stack:get_count()
local total_count = stack:get_count() + count
local max_count = stack:get_stack_max()
-- Merge the remote stack into this one
if total_count > max_count then
return false
end
local pos = object:getpos()
pos.y = pos.y + ((total_count - count) / max_count) * 0.15
self:set_item(name .. " " .. total_count)
entity.itemstring = ""
object:remove()
return true
end,
on_step = function(self, dtime)
self.age = self.age + dtime
if time_to_live > 0 and self.age > time_to_live then
self.itemstring = ""
self.object:remove()
return
end
local pos = self.object:getpos()
local node = node_ok({
x = pos.x,
y = pos.y - 0.5,
z = pos.z
})
local def = core.registered_nodes[node.name]
-- destroy item when dropped into lava (if enabled)
if destroy_item > 0 and def.groups.lava then
minetest.sound_play("builtin_item_lava", {
pos = pos,
max_hear_distance = 6,
gain = 0.5
})
add_effects(pos)
self.object:remove()
return
end
-- flowing water pushes item along (by QwertyMine3)
local nod = node_ok({x = pos.x, y = pos.y + 0.5, z = pos.z})
if minetest.registered_nodes[nod.name].liquidtype == "flowing" then
local vec = quick_flow(self.object:getpos(),
node_ok(self.object:getpos()))
if vec then
local v = self.object:getvelocity()
self.object:setvelocity(
{x = vec.x, y = v.y, z = vec.z})
end
return
end
-- Ignore is walkable -> stop until the block loaded
local entity_fall = (def and not def.walkable)
if self.physical_state == entity_fall then
return
end
self.object:setvelocity({x = 0, y = 0, z = 0})
self.physical_state = entity_fall
self.object:set_properties({
physical = entity_fall
})
self:update_gravity()
-- Collect the items around to merge with
local own_stack = ItemStack(self.itemstring)
if own_stack:get_free_space() == 0 then
return
end
local objects = core.get_objects_inside_radius(pos, 0.8)
for k, object in pairs(objects) do
local entity = object:get_luaentity()
if entity and entity.name == "__builtin:item" then
if self:try_merge_with(own_stack, object, entity) then
own_stack = ItemStack(self.itemstring)
if own_stack:get_free_space() == 0 then
return
end
end
end
end
end,
on_punch = function(self, puncher)
local inv = puncher:get_inventory()
if inv and self.itemstring ~= "" then
local left = inv:add_item("main", self.itemstring)
if left and not left:is_empty() then
self:set_item(left:to_string())
return
end
end
self.itemstring = ""
self.object:remove()
end,
})

View File

@ -27,41 +27,71 @@
"black.png",
}
local time = 0
local time = 0
--minetest.after(1, function()
minetest.register_globalstep(function(dtime)
time = time + dtime
if time > 0 then for _, player in ipairs(minetest.get_connected_players()) do
time = 0
minetest.register_globalstep(function(dtime)
time = time + dtime
if time > 5 then for _, player in ipairs(minetest.get_connected_players()) do
time = 0
local name = player:get_player_name()
--local sky = player:get_attribute("skybox:skybox")--ADDED SKYBOX
local pos = player:getpos()
--If the player has reached Space
if minetest.get_player_by_name(name) and pos.y >= space then
player:set_physics_override(1, 0.6, 0.2,false,false) -- speed, jump, gravity
player:set_sky({}, "skybox", spaceskybox) -- Sets skybox
--===================================
--===================================
--===================================
local name = player:get_player_name()
local pos = player:getpos()
--===================================
--===================================
--===================================
--If the player is on Earth
elseif minetest.get_player_by_name(name) and pos.y < space then
player:set_physics_override(1, 1, 1,true,true) -- speed, jump, gravity [default]
player:set_sky({}, "regular", {}) -- Sets skybox, in this case it sets the skybox to it's default setting if and only if the player's Y value is less than the value of space.
--player:set_sky(color, "plain", nil) --problem updating color
--player:set_sky(color, "regular", nil) --seems to work but weather color is stuck
--skybox.set(player, 5)--ADDED SKYBOX
--skycolor.update_sky_color()
--If the player has reached Space
if minetest.get_player_by_name(name) and pos.y >= space then
player:set_physics_override(1, 0.6, 0.2,false,false) -- speed, jump, gravity
player:set_sky({}, "skybox", spaceskybox) -- Sets skybox
--If the player has reached Cave
if minetest.get_player_by_name(name) and pos.y <=cave then
player:set_physics_override(1, 1, 1.2,true,true) -- speed, jump, gravity
player:set_sky({}, "cavebox", caveskybox) -- Sets skybox
end
end
end
end
end)
--end)
--If the player is on Earth
elseif minetest.get_player_by_name(name) and pos.y < space then
player:set_physics_override(1, 1, 1,true,true) -- speed, jump, gravity [default]
player:set_sky({}, "regular", {}) -- Sets skybox, in this case it sets the skybox to it's default setting if and only if the player's Y value is less than the value of space.
--If the player has reached Cave
if minetest.get_player_by_name(name) and pos.y <=cave then
player:set_physics_override(1, 1, 1.2,true,true) -- speed, jump, gravity
player:set_sky({}, "cavebox", caveskybox) -- Sets skybox
end
end
end
end
end)
--[[
-- Update sky color. If players not specified update sky for all players.
update_sky_color = function(players)
local color = skycolor.current_sky_layer_color()
if (color == nil) then
skycolor.active = false
skycolor.set_default_sky()
return
end
minetest.register_on_leaveplayer(function(player)
local name = player:get_player_name()
if name then
player:set_sky({}, "regular", {})
end
end)
players = skycolor.utils.get_players(players)
for _, player in ipairs(players) do
player:set_sky(color, "plain", nil)
end
end,
]]
minetest.register_on_leaveplayer(function(player)
local name = player:get_player_name()
if name then
player:set_sky({}, "regular", {})
end
end)

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,9 @@
--CrushingFurnace mod by sfan5
--v1.1
--Added to es 20160318 maikerumine
minetest.register_alias("cottages:handmill", "es:furnace")
--minetest.register_alias("es:furnace", "es:compressedcobble")
--minetest.register_alias("es:furnace_active", "es:compressedcobble")
-- furnace
local function get_furnace_active_formspec(pos, percent)
local formspec =
"size[8,9]"..
@ -48,7 +49,7 @@ function crushingfurnace_get_craft_result(input)
return {item = ItemStack(""), time=0}, {items = ItemStack("")}
end
minetest.register_node("es:furnace", {
minetest.register_node("es:crushing_furnace", {
description = "Crushing Furnace",
tiles = {"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png",
"default_furnace_side.png", "default_furnace_side.png", "crushingfurnace_front.png"},
@ -119,12 +120,12 @@ minetest.register_node("es:furnace", {
end,
})
minetest.register_node("es:furnace_active", {
minetest.register_node("es:crushing_furnace_active", {
tiles = {"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png",
"default_furnace_side.png", "default_furnace_side.png", "crushingfurnace_front_active.png"},
paramtype2 = "facedir",
light_source = 8,
drop = "es:furnace",
drop = "es:crushing_furnace",
groups = {cracky=2, not_in_creative_inventory=1,hot=1},
legacy_facedir_simple = true,
sounds = default.node_sound_stone_defaults(),
@ -202,7 +203,7 @@ function hacky_swap_node(pos,name)
end
minetest.register_abm({
nodenames = {"es:furnace","es:furnace_active"},
nodenames = {"es:crushing_furnace","es:crushing_furnace_active"},
interval = 1.0,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
@ -252,7 +253,7 @@ minetest.register_abm({
local percent = math.floor(meta:get_float("fuel_time") /
meta:get_float("fuel_totaltime") * 100)
meta:set_string("infotext","Crushing Furnace active: "..percent.."%")
hacky_swap_node(pos,"es:furnace_active")
hacky_swap_node(pos,"es:crushing_furnace_active")
meta:set_string("formspec", get_furnace_active_formspec(pos, percent))
return
end
@ -272,7 +273,7 @@ minetest.register_abm({
if fuel.time <= 0 then
meta:set_string("infotext", "Crushing Furnace out of fuel")
hacky_swap_node(pos, "es:furnace")
hacky_swap_node(pos, "es:crushing_furnace")
meta:set_string("formspec", furnace_inactive_formspec)
return
end
@ -280,7 +281,7 @@ minetest.register_abm({
if cooked.item:is_empty() then
if was_active then
meta:set_string("infotext", "Crushing Furnace is empty")
hacky_swap_node(pos, "es:furnace")
hacky_swap_node(pos, "es:crushing_furnace")
meta:set_string("formspec", furnace_inactive_formspec)
end
return
@ -294,7 +295,7 @@ minetest.register_abm({
})
minetest.register_craft({
output = 'es:furnace',
output = 'es:crushing_furnace',
recipe = {
{'default:cobble', 'default:steelblock', 'default:cobble'},
{'', 'default:diamondblock', ''},

View File

@ -1,9 +1,14 @@
default
3d_armor?
shields?
basic_machines?
farming?
flowers?
stairs
cblocks?
stairs?
moreblocks?
moreores?
cblocks?
toolranks?

View File

@ -36,26 +36,4 @@ minetest.register_chatcommand("mapfix", {
return true, "Done."
end,
})
--[[
--RND CODE
--NO GRIEF WITH liquids
local function disable_placing_above_ground(name)
local table = minetest.registered_nodes[name]; if not table then return end
local table2 = {}
for i,v in pairs(table) do table2[i] = v end
table2.after_place_node = function(pos, placer, itemstack, pointed_thing)
if pos.y>=0 then minetest.set_node(pos,{name = "air"}) end
end
minetest.register_node(":"..name, table2)
end
minetest.after(0,function()
disable_placing_above_ground("default:water_source");
disable_placing_above_ground("default:river_water_source");
disable_placing_above_ground("default:lava_source");
disable_placing_above_ground("es:toxic_water_source");
disable_placing_above_ground("es:mud");
-- add here all other sources: toxic water, mud ,....
end)
]]

View File

@ -84,7 +84,7 @@ end
local function register_flower(seed, name)
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass","es:strange_grass","es:aiden_grass"},
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = -0.015,
@ -95,7 +95,7 @@ local function register_flower(seed, name)
persist = 0.6
},
biomes = {"stone_grassland", "sandstone_grassland",
"deciduous_forest", "coniferous_forest","strangeland","aidenland"},
"deciduous_forest", "coniferous_forest"},
y_min = 1,
y_max = 31000,
decoration = "flowers:"..name,

160
flowlib.lua Normal file
View File

@ -0,0 +1,160 @@
--default = {}
--sum of direction vectors must match an array index
local function to_unit_vector(dir_vector)
--(sum,root)
-- (0,1), (1,1+0=1), (2,1+1=2), (3,1+2^2=5), (4,2^2+2^2=8)
local inv_roots = {[0] = 1, [1] = 1, [2] = 0.70710678118655, [4] = 0.5
, [5] = 0.44721359549996, [8] = 0.35355339059327}
local sum = dir_vector.x*dir_vector.x + dir_vector.z*dir_vector.z
return {x=dir_vector.x*inv_roots[sum],y=dir_vector.y
,z=dir_vector.z*inv_roots[sum]}
end
local is_touching = function(realpos,nodepos,radius)
local boarder = 0.5 - radius
return (math.abs(realpos - nodepos) > (boarder))
end
default.is_touching = is_touching
local is_water = function(pos)
return (minetest.get_item_group(minetest.get_node(
{x=pos.x,y=pos.y,z=pos.z}).name
, "water") ~= 0)
end
default.is_water = is_water
local node_is_water = function(node)
return (minetest.get_item_group(node.name, "water") ~= 0)
end
default.node_is_water = node_is_water
local is_lava = function(pos)
return (minetest.get_item_group(minetest.get_node(
{x=pos.x,y=pos.y,z=pos.z}).name
, "lava") ~= 0)
end
default.is_lava = is_lava
local node_is_lava = function(node)
return (minetest.get_item_group(node.name, "lava") ~= 0)
end
default.node_is_lava = node_is_lava
local is_liquid = function(pos)
return (minetest.get_item_group(minetest.get_node(
{x=pos.x,y=pos.y,z=pos.z}).name
, "liquid") ~= 0)
end
default.is_liquid = is_liquid
local node_is_liquid = function(node)
return (minetest.get_item_group(node.name, "liquid") ~= 0)
end
default.node_is_liquid = node_is_liquid
--This code is more efficient
local function quick_flow_logic(node,pos_testing,direction)
local name = node.name
if minetest.registered_nodes[name].liquidtype == "source" then
local node_testing = minetest.get_node(pos_testing)
local param2_testing = node_testing.param2
if minetest.registered_nodes[node_testing.name].liquidtype
~= "flowing" then
return 0
else
return direction
end
elseif minetest.registered_nodes[name].liquidtype == "flowing" then
local node_testing = minetest.get_node(pos_testing)
local param2_testing = node_testing.param2
if minetest.registered_nodes[node_testing.name].liquidtype
== "source" then
return -direction
elseif minetest.registered_nodes[node_testing.name].liquidtype
== "flowing" then
if param2_testing < node.param2 then
if (node.param2 - param2_testing) > 6 then
return -direction
else
return direction
end
elseif param2_testing > node.param2 then
if (param2_testing - node.param2) > 6 then
return direction
else
return -direction
end
end
end
end
return 0
end
local quick_flow = function(pos,node)
local x = 0
local z = 0
if not node_is_liquid(node) then
return {x=0,y=0,z=0}
end
x = x + quick_flow_logic(node,{x=pos.x-1,y=pos.y,z=pos.z},-1)
x = x + quick_flow_logic(node,{x=pos.x+1,y=pos.y,z=pos.z}, 1)
z = z + quick_flow_logic(node,{x=pos.x,y=pos.y,z=pos.z-1},-1)
z = z + quick_flow_logic(node,{x=pos.x,y=pos.y,z=pos.z+1}, 1)
return to_unit_vector({x=x,y=0,z=z})
end
default.quick_flow = quick_flow
--if not in water but touching, move centre to touching block
--x has higher precedence than z
--if pos changes with x, it affects z
local move_centre = function(pos,realpos,node,radius)
if is_touching(realpos.x,pos.x,radius) then
if is_liquid({x=pos.x-1,y=pos.y,z=pos.z}) then
node = minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z})
pos = {x=pos.x-1,y=pos.y,z=pos.z}
elseif is_liquid({x=pos.x+1,y=pos.y,z=pos.z}) then
node = minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z})
pos = {x=pos.x+1,y=pos.y,z=pos.z}
end
end
if is_touching(realpos.z,pos.z,radius) then
if is_liquid({x=pos.x,y=pos.y,z=pos.z-1}) then
node = minetest.get_node({x=pos.x,y=pos.y,z=pos.z-1})
pos = {x=pos.x,y=pos.y,z=pos.z-1}
elseif is_liquid({x=pos.x,y=pos.y,z=pos.z+1}) then
node = minetest.get_node({x=pos.x,y=pos.y,z=pos.z+1})
pos = {x=pos.x,y=pos.y,z=pos.z+1}
end
end
return pos,node
end
default.move_centre = move_centre
--[[
Waterlib
================
Simple flow functions for use in Minetest mods by Qwertymine3
License of source code:
-----------------------
WTFPL
]]

75
hudclock.lua Normal file
View File

@ -0,0 +1,75 @@
local player_hud = { };
local timer = 0;
--local positionx = 0.97;
--local positiony = 0.02;
local positionx = 0.97; --horz
local positiony = 0.02; --vert
local last_time = os.time()
local function floormod ( x, y )
return (math.floor(x) % y);
end
local function get_time ( )
local secs = (60*60*24*minetest.get_timeofday());
local s = floormod(secs, 60);
local m = floormod(secs/60, 60);
local h = floormod(secs/3600, 60);
return ("%02d:%02d"):format(h, m);
end
minetest.register_globalstep(function ( dtime )
timer = timer + dtime;
if os.time() >= last_time then
last_time = os.time() + 1
if (timer >= 1.0) then
timer = 0;
for _,p in ipairs(minetest.get_connected_players()) do
local name = p:get_player_name();
local h = p:hud_add({
hud_elem_type = "text";
position = {x=positionx, y=positiony};
text = get_time();
number = 0xFFFFFF;
});
local g = p:hud_add({
hud_elem_type = "image",
position = {x=positionx, y=positiony},
offset = {x=-30, y=0},
scale = {x=1, y=1},
text = "mthudclock.png",
});
if (player_hud[name]) then
p:hud_remove(player_hud[name]);
end
player_hud[name] = h;
--player_hud[name] = g;
end
end
end
end);
-- minetest.register_chatcommand("hcr", {
-- params = "",
-- description = "This should reset your hudclock.",
-- func = function(name, param)
-- local player = minetest.get_player_by_name(name)
-- if not player then
-- return
-- end
-- player:hud_remove(player_hud[name]);
-- player_hud[name] = nil
-- end,
-- })
minetest.register_on_joinplayer(function(player)
local name = player:get_player_name()
if player_hud[name] ~= nil then
player:hud_remove(player_hud[name]);
player_hud[name] = nil
end
return true
end)

268
init.lua
View File

@ -1,17 +1,17 @@
--Extreme Survival created by maikerumine
-- Minetest 0.4.13 mod: "Extreme Survival"
-- Minetest 0.5.0 mod: "Extreme Survival"
-- namespace: es
--version 1.8
--version 3.1
--https://github.com/maikerumine
--License:
--~~~~~~~~
--Code:
--(c) Copyright 2015 maikerumine; modified zlib-License
--(c) Copyright 2017 maikerumine; modified zlib-License
--see "LICENSE.txt" for details.
--Media(if not stated differently):
--(c) Copyright (2014-2015) maikerumine; CC-BY-SA 3.0
--(c) Copyright (2014-2017) maikerumine; CC-BY-SA 3.0
es = {}
--NOTE: THIS--v v--MUST BE FIRST IN THE INIT FOR EVERYTHING TO WORK
@ -21,48 +21,240 @@ enable_stairsplus = true
local modpath = minetest.get_modpath("es")
es.modpath = modpath
dofile(modpath.."/crafting.lua")
dofile(modpath.."/antigrief.lua")
dofile(modpath.."/armor.lua")
dofile(modpath.."/shields.lua")
dofile(modpath.."/shutdown.lua")
dofile(modpath.."/spawn.lua")
dofile(modpath.."/crushingfurnace.lua")
dofile(modpath.."/tools.lua")
dofile(modpath.."/biome.lua")
dofile(modpath.."/alias.lua")
if farming then
dofile(modpath.."/biome.lua")
--dofile(modpath.."/oregen.lua") --moved to biomes
dofile(modpath.."/nodes.lua")
dofile(modpath.."/crushingfurnace.lua")
dofile(modpath.."/crafting.lua")
dofile(modpath.."/tools.lua")
--builtin stuff
dofile(modpath.."/extra.lua")
dofile(modpath.."/builtin_flowlib.lua")
dofile(modpath.."/flowlib.lua")
--[[
--CONFIG SWITCHES
--PASTE IN YOUR CONFIG FILE
#--=============================
#--=============================
es_biome = 1 #--1 is on 0 is off
es_armor = 1 #--1 is on 0 is off
es_shields = 1 #--1 is on 0 is off
es_radioactive = 1 #--1 is on 0 is off
es_climate_freeze = 0 #--1 is on 0 is off
es_climate_snow = 0 #--1 is on 0 is off
es_climate_thaw = 0 #--1 is on 0 is off
es_hard_tool_craft = 1 #--1 is on 0 is off
es_server = 0 #--1 is on 0 is off
es_anticheat = 0 #--1 is on 0 is off
es_antigrief = 0 #--1 is on 0 is off
es_kill_command = 1 #--1 is on 0 is off
es_itemdrop = 1 #--1 is on 0 is off
es_musicmod = 1 #--1 is on 0 is off
es_skybox_space = 1 #--1 is on 0 is off
es_hud_clock = 1 #--1 is on 0 is off
es_invisible_tool = 0 #--1 is on 0 is off
#--=============================
#--=============================
]]
--====================================
--====================================
local es_armor = tonumber(minetest.settings:get("es_armor"))
if not es_armor then
es_armor = 1
minetest.settings:set("es_armor",
es_armor)
end
local es_shields = tonumber(minetest.settings:get("es_shields"))
if not es_shields then
es_shields = 1
minetest.settings:set("es_shields",
es_shields)
end
local es_radioactive = tonumber(minetest.settings:get("es_radioactive"))
if not es_radioactive then
es_radioactive = 1
minetest.settings:set("es_radioactive",
es_radioactive)
end
local es_climate_freeze = tonumber(minetest.settings:get("es_climate_freeze"))
if not es_climate_freeze then
es_climate_freeze = 0
minetest.settings:set("es_climate_freeze",
es_climate_freeze)
end
local es_climate_snow = tonumber(minetest.settings:get("es_climate_snow"))
if not es_climate_snow then
es_climate_snow = 0
minetest.settings:set("es_climate_snow",
es_climate_snow)
end
local es_climate_thaw = tonumber(minetest.settings:get("es_climate_thaw"))
if not es_climate_thaw then
es_climate_thaw = 0
minetest.settings:set("es_climate_thaw",
es_climate_thaw)
end
local es_hard_tool_craft = tonumber(minetest.settings:get("es_hard_tool_craft"))
if not es_hard_tool_craft then
es_hard_tool_craft = 1
minetest.settings:set("es_hard_tool_craft",
es_hard_tool_craft)
end
local es_server = tonumber(minetest.settings:get("es_server"))
if not es_server then
es_server = 1
minetest.settings:set("es_server",
es_server)
end
local es_anticheat = tonumber(minetest.settings:get("es_anticheat"))
if not es_anticheat then
es_anticheat = 0
minetest.settings:set("es_anticheat",
es_anticheat)
end
local es_antigrief = tonumber(minetest.settings:get("es_antigrief"))
if not es_antigrief then
es_antigrief = 0
minetest.settings:set("es_antigrief",
es_antigrief)
end
local es_kill_command = tonumber(minetest.settings:get("es_kill_command"))
if not es_kill_command then
es_kill_command = 1
minetest.settings:set("es_kill_command",
es_kill_command)
end
local es_itemdrop = tonumber(minetest.settings:get("es_itemdrop"))
if not es_itemdrop then
es_itemdrop = 1
minetest.settings:set("es_itemdrop",
es_itemdrop)
end
local es_musicmod = tonumber(minetest.settings:get("es_musicmod"))
if not es_musicmod then
es_musicmod = 1
minetest.settings:set("es_musicmod",
es_musicmod)
end
local es_skybox_space = tonumber(minetest.settings:get("es_skybox_space"))
if not es_skybox_space then
es_skybox_space = 1
minetest.settings:set("es_skybox_space",
es_skybox_space)
end
local es_hud_clock = tonumber(minetest.settings:get("es_hud_clock"))
if not es_skybox_space then
es_hud_clock = 1
minetest.settings:set("es_hud_clock",
es_hud_clock)
end
local es_invisible_tool = tonumber(minetest.settings:get("es_invisible_tool"))
if not es_skybox_space then
es_invisible_tool = 0
minetest.settings:set("es_invisible_tool",
es_invisible_tool)
end
--====================================================================
--====================================================================
if es_radioactive == 1 then --add radiation
dofile(modpath.."/radiation.lua")
end
if es_climate_freeze == 1 then --add freezing water and thickening ice
dofile(minetest.get_modpath("es").."/freeze.lua")
end
if es_climate_snow == 1 then --add snow spread effect to grasses then to pure snowblock
dofile(minetest.get_modpath("es").."/snow.lua")
end
if es_climate_thaw == 1 then --add thawing ice (caution, it will melt most ice if light is above)
dofile(minetest.get_modpath("es").."/thaw.lua")
end
if es_server == 1 then --server shutdown script and spawning function
dofile(minetest.get_modpath("es").."/shutdown.lua")
dofile(minetest.get_modpath("es").."/spawn.lua")
end
if es_anticheat == 1 then --add anti cheating. noclip and fly caught by rnd code
dofile(minetest.get_modpath("es").."/antigrief.lua")
end
if es_antigrief == 1 then --add anti griefing. no add liquid above 0
dofile(minetest.get_modpath("es").."/antigrief.lua")
end
if es_kill_command == 1 then --add self kill command type /killme
dofile(minetest.get_modpath("es").."/kill.lua")
end
if es_itemdrop == 1 then --add item drop
dofile(minetest.get_modpath("es").."/itemdrop.lua")
end
if es_musicmod == 1 then --add music for times of day
dofile(minetest.get_modpath("es").."/musicmod.lua")
end
if es_skybox_space == 1 then --add space realm and pure dark in caves
dofile(minetest.get_modpath("es").."/cavespace.lua")
end
if es_hud_clock == 1 then --add clock to your hud
dofile(minetest.get_modpath("es").."/hudclock.lua")
end
if es_invisible_tool == 1 then --add invisibility command type /i
dofile(minetest.get_modpath("es").."/invis.lua")
end
--ARMOR
if armor then
if es_armor == 1 then --add 3d_armor
dofile(minetest.get_modpath("es").."/armor.lua")
end
if es_shields == 1 then --add Shields
dofile(minetest.get_modpath("es").."/shields.lua")
end
end
--farming redo
if farming and redo then
dofile(modpath.."/farming.lua")
end
--flowers on es nodes
if flowers then
dofile(modpath.."/flowers.lua")
end
dofile(modpath.."/extra.lua")
dofile(modpath.."/nodes.lua")
dofile(modpath.."/oregen.lua")
dofile(modpath.."/cavespace.lua")
--dofile(modpath.."/invis.lua")
--dofile(modpath.."/map.lua")
-- Climate very laggy
--dofile(minetest.get_modpath("es").."/freeze.lua")
--dofile(minetest.get_modpath("es").."/snow.lua")
--dofile(minetest.get_modpath("es").."/thaw.lua")
es.RADIOACTIVE = 1; --1 is on 0 is off
--CONFIG SWITCHES
--Radioactive materials switch
if es.RADIOACTIVE == 1 then --add radiation
dofile(modpath.."/radiation.lua")
--MOREBLOCKS / STAIRSPLUS SUPPORT
if moreblocks then
dofile(modpath.."/mostair.lua")
end
--MOREBLOCKS / STAIRSPLUS SUPPORT
--if moreblocks then
--dofile(modpath.."/mostair.lua")
--end
--STAIR SUPPORT
--if stairs then
--dofile(modpath.."/stair.lua")
--end
if stairs then
dofile(modpath.."/stair.lua")
end

72
itemdrop.lua Normal file
View File

@ -0,0 +1,72 @@
minetest.register_globalstep(function(dtime)
for _,player in ipairs(minetest.get_connected_players()) do
if player:get_hp() > 0 or not minetest.setting_getbool("enable_damage") then
local pos = player:getpos()
pos.y = pos.y+0.5
local inv = player:get_inventory()
for _,object in ipairs(minetest.get_objects_inside_radius(pos, 1)) do
if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then
-- only pick up resting objects, so "q" can be used to drop without immediately picking an item up again
local vel = object:getvelocity()
if inv and inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) and math.abs(vel.x) < .2 and math.abs(vel.z) < .2 then
inv:add_item("main", ItemStack(object:get_luaentity().itemstring))
if object:get_luaentity().itemstring ~= "" then
minetest.sound_play("item_drop_pickup", {
to_player = player:get_player_name(),
gain = 0.4,
})
end
object:get_luaentity().itemstring = ""
object:remove()
end
end
end
end
end
end)
function minetest.handle_node_drops(pos, drops, digger)
local inv
if minetest.setting_getbool("creative_mode") and digger and digger:is_player() then
inv = digger:get_inventory()
end
for _,item in ipairs(drops) do
local count, name
if type(item) == "string" then
count = 1
name = item
else
count = item:get_count()
name = item:get_name()
end
if not inv or not inv:contains_item("main", ItemStack(name)) then
for i=1,count do
local obj = minetest.add_item(pos, name)
if obj ~= nil then
obj:get_luaentity().collect = true
local x = math.random(1, 5)
if math.random(1,2) == 1 then
x = -x
end
local z = math.random(1, 5)
if math.random(1,2) == 1 then
z = -z
end
obj:setvelocity({x=1/x, y=obj:getvelocity().y, z=1/z})
-- FIXME this doesnt work for deactiveted objects
if minetest.setting_get("remove_items") and tonumber(minetest.setting_get("remove_items")) then
minetest.after(tonumber(minetest.setting_get("remove_items")), function(obj)
obj:remove()
end, obj)
end
end
end
end
end
end
if minetest.setting_get("log_mods") then
minetest.log("action", "item_drop loaded")
end

26
kill.lua Normal file
View File

@ -0,0 +1,26 @@
minetest.register_chatcommand("killme", {
description = "Kill yourself to respawn",
func = function(name)
local player = minetest.get_player_by_name(name)
if player then
if minetest.settings:get_bool("enable_damage") then
player:set_hp(0)
return true
else
for _, callback in pairs(core.registered_on_respawnplayers) do
if callback(player) then
return true
end
end
-- There doesn't seem to be a way to get a default spawn pos from the lua API
return false, "No static_spawnpoint defined"
end
else
-- Show error message if used when not logged in, eg: from IRC mod
return false, "You need to be online to be killed!"
end
end
})

Binary file not shown.

File diff suppressed because it is too large Load Diff

30
musicmod.lua Normal file
View File

@ -0,0 +1,30 @@
math.randomseed(3)
sound_playing = 0
minetest.register_globalstep(function(time)
local time = minetest.env:get_timeofday()
--minetest.chat_send_all(time .. " " .. sound_playing)
if sound_playing == 0 then
sound_playing = time
end
if sound_playing > 1 and time < 0.2 then
sound_playing = 0.2
end
if time > sound_playing then
if time > 0.8 or time < 0.2 then
sound_playing = time + 0.2
minetest.sound_play("mm_dark")
--minetest.sound_play("mcl_jukebox_track_3")
return true
end
sound_playing = time + 0.2
minetest.sound_play("mm_light")
--minetest.sound_play("mcl_jukebox_track_1")
return true
end
end)

172
nodes.lua
View File

@ -13,6 +13,72 @@
--Media(if not stated differently):
--(c) Copyright (2014-2015) maikerumine; CC-BY-SA 3.0
--Treated Logs
minetest.register_node("es:tree", {
description = "Treated Apple Tree --=Use for buildings, will not grow moss or mushroom.",
tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
minetest.register_node("es:jungletree", {
description = "Treated Jungle Tree --=Use for buildings, will not grow moss or mushroom.",
tiles = {"default_jungletree_top.png", "default_jungletree_top.png",
"default_jungletree.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
minetest.register_node("es:pine_tree", {
description = "Treated Pine Tree --=Use for buildings, will not grow moss or mushroom.",
tiles = {"default_pine_tree_top.png", "default_pine_tree_top.png",
"default_pine_tree.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
minetest.register_node("es:acacia_tree", {
description = "Treated Acacia Tree --=Use for buildings, will not grow moss or mushroom.",
tiles = {"default_acacia_tree_top.png", "default_acacia_tree_top.png",
"default_acacia_tree.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
minetest.register_node("es:aspen_tree", {
description = "Treated Aspen Tree --=Use for buildings, will not grow moss or mushroom.",
tiles = {"default_aspen_tree_top.png", "default_aspen_tree_top.png",
"default_aspen_tree.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
minetest.register_node("es:lag_block", {
description = "Show this around town to sho you love the original Just Test. REMEMBER THE TEST. Lag, This is a dedication block to your ideas, your server, and you. My skuchayem i lyubyat vas. WE MISS AND LOVE YOU!",
@ -50,7 +116,7 @@ minetest.override_item('default:stone_with_mese', {
--compressed cobble
minetest.register_node("es:compressedcobble", {
description = "Compressed Cobblestone",
tiles = {"default_cobble.png^default_ladder.png^[colorize:#000000:170"},
tiles = {"default_cobble.png^default_ladder_wood.png^[colorize:#000000:170"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
@ -73,94 +139,39 @@ hurt_cactus();
--TECHNIC NODES
minetest.register_node( "es:granite", {
description = "Granite",
tiles = { "technic_granite.png" },
--tiles = { "technic_granite.png" },
tiles = { "mcl_core_granite.png" },
is_ground_content = true,
groups = {cracky=3},
groups = {cracky=1, granite=1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node( "es:granite_bricks", {
description = "Granite Bricks",
tiles = { "technic_granite_bricks.png",},
--tiles = { "technic_granite_bricks.png",},
tiles = { "mcl_core_granite_smooth.png",},
is_ground_content = true,
groups = {cracky=3},
groups = {cracky=1, granite=1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node( "es:marble", {
description = "Marble",
tiles = { "technic_marble.png" },
--tiles = { "technic_marble.png" },
tiles = { "mcl_core_diorite.png" },
is_ground_content = true,
groups = {cracky=3},
groups = {cracky=1, marble=1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node( "es:marble_bricks", {
description = "Marble Bricks",
tiles = { "technic_marble_bricks.png" },
--tiles = { "technic_marble_bricks.png" },
tiles = { "mcl_core_diorite_smooth.png" },
is_ground_content = true,
groups = {cracky=3},
groups = {cracky=1, marble=1},
sounds = default.node_sound_stone_defaults(),
})
--[[
--ES OLD_Node Definition
minetest.register_node("es:stone_with_emerald", {
description = "Emerald Ore",
tiles = {"default_stone.png^emerald_ore.png"},
is_ground_content = true,
groups = {cracky=1},
drop = "es:emerald_crystal",
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("es:stone_with_ruby", {
description = "Ruby Ore",
tiles = {"default_stone.png^ruby_ore.png"},
is_ground_content = true,
groups = {cracky=1},
drop = "es:ruby_crystal",
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("es:stone_with_aikerum", {
description = "Aikerum Ore",
tiles = {"default_stone.png^aikerum_ore.png"},
is_ground_content = true,
groups = {cracky=1,level = 2},
drop = "es:aikerum_crystal",
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("es:stone_with_infinium", {
description = "Infinium Ore - Slightly Radioactive",
tiles = {"default_stone.png^infinium_ore.png"},
is_ground_content = true,
--groups = {cracky=1,level = 2, radioactive = (state == "source" and 2 or 2)},
groups = {cracky=1,level = 2, radioactive = 2},
drop = "es:infinium_goo",
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("es:stone_with_purpellium", {
description = "Purlellium Ore - Oddly interesting",
tiles = {"default_stone.png^purpellium_ore.png"},
is_ground_content = true,
--groups = {cracky=2,level = 2,fall_damage_add_percent = -1000, radioactive = (state == "source" and 2 or 2)},
groups = {cracky=2,level = 2,fall_damage_add_percent = -1000, radioactive = 2},
drop = "es:purpellium_lump",
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("es:depleted_uranium", {
description = "Depleted Uranium Ore RADIOACTIVE",
tiles = {"default_stone.png^uranium_ore.png"},
--groups = {cracky = 3, radioactive = (state == "source" and 3 or 2)},
groups = {cracky = 3, radioactive = 3},
drop = 'es:depleted_uranium_lump',
sounds = default.node_sound_stone_defaults(),
light_source = 12,
})
]]
--ES NEW_Node Definition
minetest.register_node("es:stone_with_emeralds", {
@ -323,7 +334,7 @@ minetest.register_node("es:sand_with_diamond", {
--BONEBLOCK
minetest.register_node("es:boneblock", {
description = "Bone Blox",
description = "Bone Blok --=Use for treating default logs for building.",
tiles = {
"bones_top.png",
"bones_bottom.png",
@ -422,13 +433,15 @@ minetest.register_node("es:messymese", {
minetest.register_node("es:what", {
description = "The What Block - Dig for random gift",
drawtype = "glasslike_framed_optional^bubble.png",
tiles = {"default_glass.png^bubble.png", "default_glass_detail.png^bubble.png"},
inventory_image = minetest.inventorycube("default_glass.png"),
drawtype = "glasslike_framed_optional",
tiles = {"default_obsidian_glass.png^bubble.png", "default_obsidian_glass_detail.png^bubble.png"},
inventory_image = minetest.inventorycube("default_obsidian_glass.png^bubble.png"),
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "glasslikeliquidlevel",
is_ground_content = false,
groups = {crumbly=3,},
sunlight_propagates = true,
sounds = default.node_sound_glass_defaults(),
groups = {cracky = 3},
drop = {
max_items = 2,
items = {
@ -491,8 +504,15 @@ end
--node def
minetest.register_node("es:vault", {
description = "Use this to store MANY items.",
tiles = { "vault.png", "vault.png", "vault.png",
"vault.png", "vault.png", "(vault.png^default_nc_front.png^[colorize:#00FF00:110)"},
tiles = {
"vault.png",
"vault.png",
"vault.png",
"vault.png",
"vault.png",
--"(vault.png^nyancat_front.png^[colorize:#00FF00:110)"
"(default_nc_front.png^[colorize:#00FF00:110)"
},
inventory_image = "vault.png",
light_source = 14,
paramtype2 = "facedir",

View File

@ -1,5 +1,5 @@
--Extreme Survival created by maikerumine
-- Minetest 0.4.13 mod: "Extreme Survival"
-- Minetest 0.4.16 mod: "Extreme Survival"
-- namespace: es
--version 1.8
--https://github.com/maikerumine
@ -7,13 +7,30 @@
--License:
--~~~~~~~~
--Code:
--(c) Copyright 2015 maikerumine; modified zlib-License
--(c) Copyright 2015-2017 maikerumine; modified zlib-License
--see "LICENSE.txt" for details.
--Media(if not stated differently):
--(c) Copyright (2014-2015) maikerumine; CC-BY-SA 3.0
--EXPEREMENTAL
minetest.register_ore({
ore_type = "blob",
ore = "default:mossycobble",
wherein = {"default:dirt_with_grass"},
clust_scarcity = 15*15*10,
clust_num_ores = 5,
clust_size = 3,
y_min = 3,
y_max = 33,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=10, y=10, z=10}, seed=23, octaves=3, persist=0.70} ,
})
--TECHNIC ORES
minetest.register_ore({
ore_type = "sheet",
@ -212,6 +229,297 @@ minetest.register_ore({
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=24, octaves=3, persist=0.70}
})
--DEFAULT STRATA
minetest.register_ore({
ore_type = "sheet",
ore = "default:stone",
wherein = {"default:desert_stone","default:desert_sand","es:strange_clay_orange"},
clust_scarcity = 1,
clust_num_ores = 3,
clust_size = 4,
y_min = 50,
y_max = 90,
noise_threshold = 0.4,
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=24, octaves=3, persist=0.70}
})
minetest.register_ore({
ore_type = "sheet",
ore = "default:clay",
wherein = {"default:desert_stone","default:desert_sand","default:stone","es:strange_clay_orange"},
clust_scarcity = 1,
clust_num_ores = 12,
clust_size = 8,
y_min = 24,
y_max = 50,
noise_threshold = 0.4,
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=24, octaves=3, persist=0.70}
})
minetest.register_ore({
ore_type = "sheet",
ore = "default:sandstone",
wherein ={"default:desert_stone","default:desert_sand","default:stone","es:strange_clay_orange"},
clust_scarcity = 1,
clust_num_ores = 12,
clust_size = 10,
y_min = 10,
y_max = 30,
noise_threshold = 0.2,
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=24, octaves=3, persist=0.70}
})
minetest.register_ore({
ore_type = "sheet",
ore = "default:dirt",
wherein = {"default:desert_stone","default:desert_sand","es:strange_clay_orange"},
clust_scarcity = 1,
clust_num_ores = 12,
clust_size = 4,
y_min = -12,
y_max = 7,
noise_threshold = 0.4,
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=24, octaves=3, persist=0.70}
})
minetest.register_ore({
ore_type = "sheet",
ore = "default:gravel",
wherein = {"es:strange_clay_orange"},
clust_scarcity = 1,
clust_num_ores = 8,
clust_size = 4,
y_min = 34,
y_max = 70,
noise_threshold = 0.4,
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=24, octaves=3, persist=0.70}
})
minetest.register_ore({
ore_type = "sheet",
ore = "default:coalblock",
wherein = {"es:strange_clay_orange"},
clust_scarcity = 1,
clust_num_ores = 12,
clust_size = 4,
y_min = 60,
y_max = 96,
noise_threshold = 0.4,
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=24, octaves=3, persist=0.80}
})
minetest.register_ore({
ore_type = "sheet",
ore = "default:desert_sand",
wherein = {"es:strange_clay_orange"},
clust_scarcity = 1,
clust_num_ores = 12,
clust_size = 10,
y_min = 44,
y_max = 70,
noise_threshold = 0.7,
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=24, octaves=3, persist=0.70}
})
minetest.register_ore({
ore_type = "blob",
ore = "default:lava_source",
wherein = "es:strange_clay_orange",
clust_scarcity = 15*15*10,
clust_num_ores = 2,
clust_size = 2,
y_min = -62,
y_max = 50,
})
--HARDENED CLAY FOR MESA :)
--maikerumine
--MESA STRATA
minetest.register_ore({
ore_type = "sheet",
ore = "default:desert_sand",
wherein = {"default:desert_stone", "es:strange_clay_orange"},
clust_scarcity = 1,
clust_num_ores = 8,
clust_size = 4,
y_min = 4,
y_max = 70,
noise_threshold = 0.4,
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=24, octaves=3, persist=0.70}
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_grey",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores = 27,
clust_size = 1,
y_min = 5,
y_max = 14,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_black",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores =27,
clust_size = 1,
y_min = 15,
y_max = 17,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70},
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_maroon",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores = 27,
clust_size = 6,
y_min = 20,
y_max = 29,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_red",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores = 8,
clust_size = 2,
y_min = 34,
y_max = 37,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_brown",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores = 100,
clust_size = 1,
y_min = 42,
y_max = 43,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_blue",
wherein = {"es:strange_clay_orange", "es:strange_grass"},
--clust_scarcity = 1,
--clust_num_ores = 100,
clust_size = 1,
y_min = 43,
y_max = 44,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_red",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores = 100,
clust_size = 1,
y_min = 44,
y_max = 45,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_red",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores = 100,
clust_size = 1,
y_min = 45,
y_max = 47,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_grey",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores = 100,
clust_size = 1,
y_min = 49,
y_max = 52,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_black",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores = 100,
clust_size = 4,
y_min = 53,
y_max = 59,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_grey",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores = 100,
clust_size = 8,
y_min = 61,
y_max = 70,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_maroon",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores = 100,
clust_size = 8,
y_min = 66,
y_max = 75,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
minetest.register_ore({
ore_type = "sheet",
ore = "es:strange_clay_black",
wherein = {"es:strange_clay_orange"},
--clust_scarcity = 1,
--clust_num_ores = 100,
clust_size = 8,
y_min = 161,
y_max = 170,
noise_threshold = 0.0,
noise_params = {offset=0, scale=1, spread={x=3100, y=3100, z=3100}, seed=23, octaves=3, persist=0.70} ,
})
--UNDERGROUND
minetest.register_ore({
ore_type = "sheet",

View File

@ -1,20 +1,24 @@
--Extreme Survival created by maikerumine
-- Minetest 0.4.13 mod: "Extreme Survival"
-- Minetest 0.4.16 mod: "Extreme Survival"
-- namespace: es
--version 1.8
--version 0.4.16
--https://github.com/maikerumine
--License:
--~~~~~~~~
--Code:
--(c) Copyright 2015 maikerumine; modified zlib-License
--(c) Copyright 2015-2017 maikerumine; modified zlib-License
--see "LICENSE.txt" for details.
--Media(if not stated differently):
--(c) Copyright (2014-2015) maikerumine; CC-BY-SA 3.0
--(c) Copyright (2014-2017) maikerumine; CC-BY-SA 3.0
if minetest.global_exists("armor") and armor.elements then
table.insert(armor.elements, "shield")
local mult = armor.config.level_multiplier or 1
armor.config.level_multiplier = mult * 0.9
end
local use_shields = minetest.get_modpath("shields")
--local use_shields = minetest.get_modpath("shields")
local craft_ingreds = {
infinium = "es:infinium_ingot",
@ -22,6 +26,32 @@ local craft_ingreds = {
ruby = "es:ruby_crystal",
emerald = "es:emerald_crystal",
}
minetest.register_craft({
output = 'shields:shield_nomad',
recipe = {
{'default:steel_ingot', 'dye:blue', 'default:steel_ingot'},
{'default:steel_ingot', 'shields:shield_diamond', 'default:steel_ingot'},
{'default:steel_ingot', 'flowers:flower_dandelion_white', 'default:steel_ingot'},
}
})
minetest.register_craft({
output = 'shields:shield_rusher',
recipe = {
{'default:steel_ingot', 'dye:white', 'default:steel_ingot'},
{'default:steel_ingot', 'shields:shield_diamond', 'default:steel_ingot'},
{'default:steel_ingot', 'flowers:flower_dandelion_white', 'default:steel_ingot'},
}
})
minetest.register_craft({
output = 'shields:shield_veteran',
recipe = {
{'default:steel_ingot', 'dye:black', 'default:steel_ingot'},
{'default:steel_ingot', 'shields:shield_diamond', 'default:steel_ingot'},
{'default:steel_ingot', 'flowers:flower_dandelion_white', 'default:steel_ingot'},
}
})
@ -33,50 +63,68 @@ local craft_ingreds = {
--Modified color by maikerumine.
--if use_es then
craft_ingreds.infinium = "es:infinium_ingot"
craft_ingreds.aikerum = "es:aikerum_crystal"
craft_ingreds.ruby = "es:ruby_crystal"
craft_ingreds.emerald = "es:emerald_crystal"
minetest.register_tool("es:shield_infinium", {
minetest.register_tool(":shields:shield_infinium", {
description = "Infinium Shield",
inventory_image = "es_inv_shield_infinium.png",
inventory_image = "shields_inv_shield_infinium.png",
groups = {armor_shield=17, armor_heal=12, armor_use=59},
wear = 0,
})
minetest.register_tool("es:shield_aikerum", {
minetest.register_tool(":shields:shield_aikerum", {
description = "Aikerum Shield",
inventory_image = "es_inv_shield_aikerum.png",
inventory_image = "shields_inv_shield_aikerum.png",
groups = {armor_shield=16, armor_heal=12, armor_use=56},
wear = 0,
})
minetest.register_tool("es:shield_ruby", {
minetest.register_tool(":shields:shield_ruby", {
description = "Ruby Shield",
inventory_image = "es_inv_shield_ruby.png",
inventory_image = "shields_inv_shield_ruby.png",
groups = {armor_shield=15, armor_heal=12, armor_use=54},
wear = 0,
})
minetest.register_tool("es:shield_emerald", {
minetest.register_tool(":shields:shield_emerald", {
description = "Emerald Shield",
inventory_image = "es_inv_shield_emerald.png",
inventory_image = "shields_inv_shield_emerald.png",
groups = {armor_shield=14, armor_heal=12, armor_use=52},
wear = 0,
})
--end
--SHIELDS
minetest.register_tool(":shields:shield_veteran", {
description = "Veteran Shield",
inventory_image = "shields_inv_shield_veteran.png",
groups = {armor_shield=15, armor_heal=12, armor_use=100},
wear = 0,
})
minetest.register_tool(":shields:shield_rusher", {
description = "Rusher Shield",
inventory_image = "shields_inv_shield_rusher.png",
groups = {armor_shield=15, armor_heal=12, armor_use=100},
wear = 0,
})
minetest.register_tool(":shields:shield_nomad", {
description = "Nomad Shield",
inventory_image = "shields_inv_shield_nomad.png",
groups = {armor_shield=15, armor_heal=12, armor_use=100},
wear = 0,
})
for k, v in pairs(craft_ingreds) do
minetest.register_craft({
output = "es:shield_"..k,
output = "shields:shield_"..k,
recipe = {
{v, v, v},
{v, v, v},
@ -85,6 +133,10 @@ for k, v in pairs(craft_ingreds) do
})
end
minetest.after(0, function()
table.insert(armor.elements, "shield")
end)
end)

View File

@ -20,10 +20,10 @@ es = {}
--Modified by maikerumine
-- Time to shut down server.
-- Default is twice a day: at 06:05 and 18:05
local H = 18
local X = 18
local Y = 19
local Z = 19
local H = 19
local X = 19
local Y = 20
local Z = 20
local M = 55
local N = 00
@ -41,26 +41,26 @@ minetest.register_globalstep(function(dtime)
local t = os.date("*t")
if ((t.hour == H or t.hour == X) and (t.min == M) and (t.sec <= 2)
and ((D == nil) or (t.wday == D))) then
minetest.chat_send_all("Scheduled shutdown. 1900 Eastern Time Zone"
minetest.chat_send_all("Scheduled shutdown. 2000 Eastern Time Zone DST 0000 ZULU "
.."Shutting down in FIVE minutes. Enjoy the break")
minetest.chat_send_all("STORE YOUR ITEMS WITHIN 4 MINUTES. "
.."Shutting down in FIVE minutes.")
minetest.chat_send_all("Find safety. "
.."Never forget ESM.")
--minetest.after(2, minetest.request_shutdown)
end
if ((t.hour == Y or t.hour == Z) and (t.min ==N) and (t.sec <= 2)
and ((D == nil) or (t.wday == D))) then
minetest.chat_send_all("SHUTTING SERVER DOWN NOW!"
.." Please come back in a few while map is backed-up.")
minetest.chat_send_all("5 SHUTTING SERVER DOWN NOW!"
.." Please come back in a few while map is backed--up.")
minetest.chat_send_all("4 SHUTTING SERVER DOWN NOW!"
.." Please come back in a few while map is backed---up.")
minetest.chat_send_all("3 SHUTTING SERVER DOWN NOW!"
.." Please come back in a few while map is backed----up.")
minetest.chat_send_all("2 SHUTTING SERVER DOWN NOW!"
.." Please come back in a few while map is backed-----up.")
minetest.chat_send_all("1 SHUTTING SERVER DOWN NOW!"
.." Please come back in a few while map is backed------up.")
minetest.chat_send_all("SHUTTING SERVER DOWN NOW! "
.." Please come back in a few while map is backed-up. ")
minetest.chat_send_all("E SHUTTING SERVER DOWN NOW! "
.." Please come back in a few while map is backed--up. ")
minetest.chat_send_all("S SHUTTING SERVER DOWN NOW! "
.." Please come back in a few while map is backed---up. ")
minetest.chat_send_all("M SHUTTING SERVER DOWN NOW! "
.." Please come back in a few while map is backed----up. ")
minetest.chat_send_all("! SHUTTING SERVER DOWN NOW! "
.." Please come back in a few while map is backed-----up. ")
minetest.chat_send_all("! SHUTTING SERVER DOWN NOW! "
.." Please come back in a few while map is backed------up. ")
minetest.after(2, minetest.request_shutdown)
end
end)

9
sounds/artists.txt Normal file
View File

@ -0,0 +1,9 @@
mm_dark.1.ogg - by yd; original title: Searching.ogg
- compressed
- released as CC0 on opengameart.org
mm_light.1.ogg - by Écrivain; original title: music.ogg
- compressed
- released as CC0 on opengameart.org

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sounds/mm_dark.1.ogg Normal file

Binary file not shown.

BIN
sounds/mm_light.1.ogg Normal file

Binary file not shown.

View File

@ -4,7 +4,7 @@ local spawn_limit_max = 180; -- how much time must elapse to be able to use spaw
spawn_prison = {}
spawn_prison.pos = {x=0, y=10006, z=0}
spawn_prison.pos = {x=0, y=15, z=0}
if minetest.setting_get_pos("static_spawnpoint") then
spawn_prison.pos = minetest.setting_get_pos("static_spawnpoint")
@ -35,15 +35,23 @@ minetest.register_chatcommand("spawn", {
if pos.x>-20 and pos.x<20 and pos.y>-20 and pos.z>-20 and pos.z<20
then
minetest.chat_send_player(name, "YOU MUST MOVE FARTHER FROM SPAWN!")
--[[
else
if pos.x<-47 and pos.x>-255 and pos.y>-20 and pos.z<1078 and pos.z>820
then
minetest.chat_send_player(name, "YOU MUST CLIMB OUT!")
]]
else
if pos.x<2085 and pos.x>1990 and pos.y>100 and pos.z<1590 and pos.z>1500
then
minetest.chat_send_player(name, "YOU MUST DIE TO ESCAPE!")
else
player:setpos(spawn_prison.pos)
minetest.chat_send_player(name, "Teleported to spawn!")
end
--end
end
end,
})

View File

@ -15,6 +15,13 @@
--[[
stairs.register_stair_and_slab("wood", "default:wood",
{snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
{"default_wood.png"},
"Wooden Stair",
"Wooden Slab",
default.node_sound_wood_defaults())
function stairs.register_stair_and_slab(subname, recipeitem, groups, images,
desc_stair, desc_slab, sounds)
stairs.register_stair(subname, recipeitem, groups, images, desc_stair, sounds)
@ -23,28 +30,28 @@ end
]]
--TECHNIC STAIRS
stairs.register_stair_and_slab("granite", "es:granite",
{cracky = 1,not_in_craft_guide=1},
{cracky = 1},
{"technic_granite.png"},
"Granite Block Stair",
"Granite Block Slab",
default.node_sound_stone_defaults())
stairs.register_stair_and_slab("marble", "es:marble",
{cracky = 1,not_in_craft_guide=1},
{cracky = 1},
{"technic_marble.png"},
"Marble Block Stair",
"Marble Block Slab",
default.node_sound_stone_defaults())
stairs.register_stair_and_slab("marble_bricks", "es:marble_bricks",
{cracky = 1,not_in_craft_guide=1},
{cracky = 1},
{"technic_marble_bricks.png" },
"Marble Bricks Block Stair",
"Marble Bricks Block Slab",
default.node_sound_stone_defaults())
stairs.register_stair_and_slab("granite_bricks", "es:granite_bricks",
{cracky = 1,not_in_craft_guide=1},
{cracky = 1},
{"technic_granite_bricks.png" },
"Granite Bricks Block Stair",
"Granite Bricks Block Slab",
@ -52,43 +59,43 @@ stairs.register_stair_and_slab("granite_bricks", "es:granite_bricks",
--Extreme Survival Stairs
stairs.register_stair_and_slab("Ruby", "es:rubyblock",
{cracky = 1,not_in_craft_guide=1},
stairs.register_stair_and_slab("ruby", "es:rubyblock",
{cracky = 1},
{"ruby_block.png"},
"Ruby Block Stair",
"Ruby Block Slab",
default.node_sound_stone_defaults())
stairs.register_stair_and_slab("Emerald", "es:emeraldblock",
{cracky = 1,not_in_craft_guide=1},
stairs.register_stair_and_slab("emerald", "es:emeraldblock",
{cracky = 1},
{"emerald_block.png"},
"Emerald Block Stair",
"Emerald Block Slab",
default.node_sound_stone_defaults())
stairs.register_stair_and_slab("Aikerum", "es:aikerumblock",
{cracky = 1,not_in_craft_guide=1},
stairs.register_stair_and_slab("aikerum", "es:aikerumblock",
{cracky = 1},
{"aikerum_block.png"},
"Aikerum Block Stair",
"Aikerum Block Slab",
default.node_sound_stone_defaults())
stairs.register_stair_and_slab("Infinium", "es:infiniumblock",
{cracky = 1,not_in_craft_guide=1},
stairs.register_stair_and_slab("infinium", "es:infiniumblock",
{cracky = 1},
{"infinium_block.png"},
"Infinium Block Stair",
"Infinium Block Slab",
default.node_sound_stone_defaults())
stairs.register_stair_and_slab("Purpellium", "es:purpelliumblock",
{cracky = 1,not_in_craft_guide=1},
stairs.register_stair_and_slab("purpellium", "es:purpelliumblock",
{cracky = 1},
{"purpellium_block.png"},
"Purpellium Block Stair",
"Purpellium Block Slab",
default.node_sound_stone_defaults())
stairs.register_stair_and_slab("Dirt", "default:dirt",
{cracky = 3, crumbly = 3,not_in_craft_guide=1},
stairs.register_stair_and_slab("dirt", "default:dirt",
{cracky = 3, crumbly = 3},
{"default_dirt.png"},
"Dirt Block Stair",
"Dirt Block Slab",

View File

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 216 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 612 B

After

Width:  |  Height:  |  Size: 612 B

View File

Before

Width:  |  Height:  |  Size: 605 B

After

Width:  |  Height:  |  Size: 605 B

View File

Before

Width:  |  Height:  |  Size: 409 B

After

Width:  |  Height:  |  Size: 409 B

View File

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 504 B

View File

Before

Width:  |  Height:  |  Size: 669 B

After

Width:  |  Height:  |  Size: 669 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 880 B

After

Width:  |  Height:  |  Size: 880 B

View File

Before

Width:  |  Height:  |  Size: 939 B

After

Width:  |  Height:  |  Size: 939 B

View File

Before

Width:  |  Height:  |  Size: 833 B

After

Width:  |  Height:  |  Size: 833 B

View File

Before

Width:  |  Height:  |  Size: 798 B

After

Width:  |  Height:  |  Size: 798 B

View File

Before

Width:  |  Height:  |  Size: 853 B

After

Width:  |  Height:  |  Size: 853 B

View File

Before

Width:  |  Height:  |  Size: 897 B

After

Width:  |  Height:  |  Size: 897 B

View File

Before

Width:  |  Height:  |  Size: 662 B

After

Width:  |  Height:  |  Size: 662 B

View File

Before

Width:  |  Height:  |  Size: 649 B

After

Width:  |  Height:  |  Size: 649 B

View File

Before

Width:  |  Height:  |  Size: 593 B

After

Width:  |  Height:  |  Size: 593 B

View File

Before

Width:  |  Height:  |  Size: 129 B

After

Width:  |  Height:  |  Size: 129 B

View File

Before

Width:  |  Height:  |  Size: 200 B

After

Width:  |  Height:  |  Size: 200 B

View File

Before

Width:  |  Height:  |  Size: 191 B

After

Width:  |  Height:  |  Size: 191 B

View File

Before

Width:  |  Height:  |  Size: 142 B

After

Width:  |  Height:  |  Size: 142 B

View File

Before

Width:  |  Height:  |  Size: 228 B

After

Width:  |  Height:  |  Size: 228 B

View File

Before

Width:  |  Height:  |  Size: 212 B

After

Width:  |  Height:  |  Size: 212 B

View File

Before

Width:  |  Height:  |  Size: 140 B

After

Width:  |  Height:  |  Size: 140 B

View File

Before

Width:  |  Height:  |  Size: 207 B

After

Width:  |  Height:  |  Size: 207 B

View File

Before

Width:  |  Height:  |  Size: 205 B

After

Width:  |  Height:  |  Size: 205 B

View File

Before

Width:  |  Height:  |  Size: 155 B

After

Width:  |  Height:  |  Size: 155 B

View File

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 198 B

View File

Before

Width:  |  Height:  |  Size: 188 B

After

Width:  |  Height:  |  Size: 188 B

View File

Before

Width:  |  Height:  |  Size: 497 B

After

Width:  |  Height:  |  Size: 497 B

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 615 B

After

Width:  |  Height:  |  Size: 615 B

View File

Before

Width:  |  Height:  |  Size: 657 B

After

Width:  |  Height:  |  Size: 657 B

View File

Before

Width:  |  Height:  |  Size: 476 B

After

Width:  |  Height:  |  Size: 476 B

View File

Before

Width:  |  Height:  |  Size: 591 B

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 B

BIN
textures/a-leavedead.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 B

BIN
textures/default_ladder.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

BIN
textures/default_nc_rb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 B

BIN
textures/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
textures/mthudclock.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

View File

Before

Width:  |  Height:  |  Size: 613 B

After

Width:  |  Height:  |  Size: 613 B

View File

Before

Width:  |  Height:  |  Size: 630 B

After

Width:  |  Height:  |  Size: 630 B

View File

Before

Width:  |  Height:  |  Size: 579 B

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 538 B

After

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Some files were not shown because too many files have changed in this diff Show More