added more options for granite and marble and a screwdriver

master
maikerumine 2016-03-23 19:16:56 -04:00
parent d18ff40cd0
commit e998174325
7 changed files with 281 additions and 97 deletions

View File

@ -16,10 +16,6 @@
--groups = {not_in_craft_guide=1},
-- Minetest 0.4 mod: bone_collector
-- Bones can be crafted to clay, sand or coal to motivate players clear the playground.
--
@ -67,8 +63,28 @@ minetest.register_craft({
})
--END BONE COLLECTOR
minetest.register_craft({
output = 'es:marble_bricks',
recipe = {
{"es:marble", "es:marble"},
{"es:marble", "es:marble"},
},
})
minetest.register_craft({
output = 'es:granite_bricks',
recipe = {
{"es:granite", "es:granite"},
{"es:granite", "es:granite"},
},
})
--MESE
minetest.register_craftitem("es:mesecook_crystal", {
description = "Cookable Raw MESE",
inventory_image = "default_mineral_mese.png",
})
minetest.register_craft({
output = 'es:messymese',
recipe = {
@ -77,7 +93,6 @@ minetest.register_craft({
{"es:mesecook_crystal", "es:mesecook_crystal", "es:mesecook_crystal"},
},
})
minetest.register_craft({
output = 'es:mesecook_crystal 9',
recipe = {
@ -85,11 +100,22 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = 'default:mese_crystal',
recipe = {
{'default:mese_crystal_fragment', 'default:mese_crystal_fragment', 'default:mese_crystal_fragment'},
{'default:mese_crystal_fragment', 'default:mese_crystal_fragment', 'default:mese_crystal_fragment'},
{'default:mese_crystal_fragment', 'default:mese_crystal_fragment', 'default:mese_crystal_fragment'},
}
})
minetest.register_craftitem("es:depleted_uranium_ingot", {
description = "Depleted uranium",
--inventory_image = "technic_uranium_ingot.png",
inventory_image = "technic_uranium_ingot.png",
})
minetest.register_craft({
output = 'es:boneblock',
recipe = {
@ -108,11 +134,6 @@ minetest.register_craft({
}
})
--ES HELPFUL CRAFTS
minetest.register_craft({
output = 'default:ice',
@ -155,24 +176,6 @@ minetest.register_craft({
recipe = {"es:dry_dirt","default:water_flowing"},
})
--[[For ref
minetest.register_node("default:dirt_with_grass", {
description = "Dirt with Grass",
tiles = {"default_grass.png", "default_dirt.png",
{name = "default_dirt.png^default_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.register_craft({
output = 'default:desert_cobble 3',
recipe = {
@ -182,16 +185,10 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = 'default:mese_crystal',
recipe = {
{'default:mese_crystal_fragment', 'default:mese_crystal_fragment', 'default:mese_crystal_fragment'},
{'default:mese_crystal_fragment', 'default:mese_crystal_fragment', 'default:mese_crystal_fragment'},
{'default:mese_crystal_fragment', 'default:mese_crystal_fragment', 'default:mese_crystal_fragment'},
}
})
--ES SPECIAL BLOCKS
--emerald
minetest.register_craft({
output = 'es:emeraldblock',
recipe = {
@ -206,8 +203,14 @@ minetest.register_craft({
{'stairs:stair_Emerald', 'stairs:stair_Emerald', 'stairs:stair_Emerald'},
}
})
minetest.register_craft({
output = 'es:emerald_crystal 9',
recipe = {
{'es:emeraldblock'},
}
})
--aikerum
minetest.register_craft({
output = 'es:aikerumblock',
recipe = {
@ -222,8 +225,14 @@ minetest.register_craft({
{'stairs:stair_Aikerum', 'stairs:stair_Aikerum', 'stairs:stair_Aikerum'},
}
})
minetest.register_craft({
output = 'es:aikerum_crystal 9',
recipe = {
{'es:aikerumblock'},
}
})
--ruby
minetest.register_craft({
output = 'es:rubyblock',
recipe = {
@ -238,8 +247,14 @@ minetest.register_craft({
{'stairs:stair_Ruby', 'stairs:stair_Ruby', 'stairs:stair_Ruby'},
}
})
minetest.register_craft({
output = 'es:ruby_crystal 9',
recipe = {
{'es:rubyblock'},
}
})
--infinium
minetest.register_craft({
output = 'es:infiniumblock',
recipe = {
@ -254,7 +269,14 @@ minetest.register_craft({
{'stairs:stair_Infinium', 'stairs:stair_Infinium', 'stairs:stair_Infinium'},
}
})
minetest.register_craft({
output = 'es:infinium_ingot 9',
recipe = {
{'es:infiniumblock'},
}
})
--purpellium
minetest.register_craft({
output = 'es:purpelliumblock',
recipe = {
@ -270,35 +292,6 @@ minetest.register_craft({
{'stairs:stair_Purpellium', 'stairs:stair_Purpellium', 'stairs:stair_Purpellium'},
}
})
minetest.register_craft({
output = 'es:emerald_crystal 9',
recipe = {
{'es:emeraldblock'},
}
})
minetest.register_craft({
output = 'es:ruby_crystal 9',
recipe = {
{'es:rubyblock'},
}
})
minetest.register_craft({
output = 'es:aikerum_crystal 9',
recipe = {
{'es:aikerumblock'},
}
})
minetest.register_craft({
output = 'es:infinium_ingot 9',
recipe = {
{'es:infiniumblock'},
}
})
minetest.register_craft({
output = 'es:purpellium_ingot 9',
recipe = {
@ -306,19 +299,18 @@ minetest.register_craft({
}
})
--crafting
--crafting containers
minetest.register_craft({
type = "shapeless",
output = "es:infinium_container",
recipe = {"vessels:glass_bottle", "es:infinium_goo","default:water_flowing"},
})
minetest.register_craft({
type = "shapeless",
output = "es:purpellium_container",
recipe = {"vessels:glass_bottle", "es:purpellium_dust","default:water_flowing"},
})
minetest.register_craft({
type = "shapeless",
output = "es:aikerum_container",
@ -329,7 +321,6 @@ minetest.register_craft({
output = "es:ruby_container",
recipe = {"vessels:glass_bottle", "es:ruby_dust","default:water_flowing"},
})
minetest.register_craft({
type = "shapeless",
output = "es:emerald_container",
@ -346,23 +337,18 @@ minetest.register_craft({
--cottages.handmill_product[ 'es:emerald_crystal' ] = 'es:emerald_dust 1';
--ES GRINDER:
minetest.register_craftitem("es:purpellium_dust", {
description = "Purpellium Dust",
inventory_image = "dye_violet.png",
})
minetest.register_craftitem("es:aikerum_dust", {
description = "Aikerum Dust",
inventory_image = "dye_blue.png",
})
minetest.register_craftitem("es:ruby_dust", {
description = "Ruby Dust",
inventory_image = "dye_red.png",
})
minetest.register_craftitem("es:emerald_dust", {
description = "Emerald Dust",
inventory_image = "dye_green.png",
@ -438,7 +424,7 @@ minetest.register_craft({
})
--POTION TO FIX ARMOUR (RUBY)
--infinium
--infinium armour fix
minetest.register_craft({
output = 'es:helmet_infinium',
type = "shapeless",
@ -464,7 +450,7 @@ minetest.register_craft({
{'es:ruby_container', 'es:boots_infinium' },
})
--aikerum
--aikerum armour fix
minetest.register_craft({
output = 'es:helmet_aikerum',
type = "shapeless",
@ -490,7 +476,7 @@ minetest.register_craft({
{'es:ruby_container', 'es:boots_aikerum' },
})
--emerald
--emerald armour fix
minetest.register_craft({
output = 'es:helmet_emerald',
type = "shapeless",
@ -517,8 +503,7 @@ minetest.register_craft({
})
--Weapon &Tool Crafting:
--WEAPONS AND TOOLS
minetest.register_craft({
output = 'es:handle',
recipe = {
@ -542,7 +527,6 @@ minetest.register_craft({
{'es:handle'},
}
})
minetest.register_craft({
output = 'es:sword_ruby',
recipe = {
@ -551,7 +535,6 @@ minetest.register_craft({
{'es:handle'},
}
})
minetest.register_craft({
output = 'es:sword_aikerum',
recipe = {
@ -560,7 +543,6 @@ minetest.register_craft({
{'es:handle'},
}
})
minetest.register_craft({
output = 'es:sword_purpellium',
recipe = {
@ -579,7 +561,6 @@ minetest.register_craft({
{'', 'es:handle', ''},
}
})
minetest.register_craft({
output = 'es:pick_ruby',
recipe = {
@ -588,7 +569,6 @@ minetest.register_craft({
{'', 'es:handle', ''},
}
})
minetest.register_craft({
output = 'es:pick_aikerum',
recipe = {
@ -597,7 +577,6 @@ minetest.register_craft({
{'', 'es:handle', ''},
}
})
minetest.register_craft({
output = 'es:pick_aikerum',
recipe = {
@ -606,7 +585,6 @@ minetest.register_craft({
{'', 'es:handle', ''},
}
})
minetest.register_craft({
output = 'es:pick_purpellium',
recipe = {
@ -625,7 +603,6 @@ minetest.register_craft({
{'', 'es:handle', ''},
}
})
minetest.register_craft({
output = 'es:axe_ruby',
recipe = {
@ -634,7 +611,6 @@ minetest.register_craft({
{'', 'es:handle', ''},
}
})
minetest.register_craft({
output = 'es:axe_aikerum',
recipe = {
@ -814,7 +790,7 @@ minetest.register_craft({
]]
--Default override Cooking
--COOKING RECIPIES
minetest.register_craft({
type = "cooking",
output = "default:water_flowing",
@ -866,11 +842,33 @@ minetest.register_craft({
})
--MUST HAVE DEFAULT ORE GENERATION SET
minetest.register_craftitem("es:mesecook_crystal", {
description = "Cookable Raw MESE",
inventory_image = "default_mineral_mese.png",
--Dust cooking
minetest.register_craft({
type = "cooking",
cooktime = 90,
output = "es:purpellium_lump",
recipe = "es:purpellium_dust",
})
minetest.register_craft({
type = "cooking",
cooktime = 90,
output = "es:aikerum_crystal",
recipe = "es:aikerum_dust",
})
minetest.register_craft({
type = "cooking",
cooktime = 90,
output = "es:ruby_crystal",
recipe = "es:ruby_dust",
})
minetest.register_craft({
type = "cooking",
cooktime = 90,
output = "es:emerald_crystal",
recipe = "es:emerald_dust",
})

View File

@ -52,6 +52,7 @@ dofile(modpath.."/oregen.lua")
-- Tools
dofile(modpath.."/tools.lua")
dofile(modpath.."/screwdriver.lua")
--dofile(modpath.."/hoes.lua")
-- Climate very laggy

View File

@ -17,6 +17,42 @@ es = {}
--Compatibility with Moreblocks / stairsplus
if minetest.get_modpath("moreblocks") and enable_stairsplus then
register_stair_slab_panel_micro("es", "granite", "es:granite",
{cracky=3},
{"technic_granite.png"},
"Granite",
"granite",
0)
end
if minetest.get_modpath("moreblocks") and enable_stairsplus then
register_stair_slab_panel_micro("es", "granitebricks", "es:granite_bricks",
{cracky=3},
{ "technic_granite_bricks.png",},
"Granite Bricks",
"granitebricks",
0)
end
if minetest.get_modpath("moreblocks") and enable_stairsplus then
register_stair_slab_panel_micro("es", "marble", "es:marble",
{cracky=3},
{"technic_marble.png"},
"Marble",
"marble",
0)
end
if minetest.get_modpath("moreblocks") and enable_stairsplus then
register_stair_slab_panel_micro("es", "marblebricks", "es:marble_bricks",
{cracky=3},
{"technic_marble_bricks.png"},
"Marble Bricks",
"marblebricks",
0)
end
if minetest.get_modpath("moreblocks") and enable_stairsplus then
register_stair_slab_panel_micro("es", "emeraldblock", "es:emeraldblock",
{cracky=3},

View File

@ -59,6 +59,14 @@ minetest.register_node( "es:granite", {
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node( "es:granite_bricks", {
description = "Granite Bricks",
tiles = { "technic_granite_bricks.png",},
is_ground_content = true,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node( "es:marble", {
description = "Marble",
tiles = { "technic_marble.png" },

141
screwdriver.lua Normal file
View File

@ -0,0 +1,141 @@
--Extreme Survival created by maikerumine
-- Minetest 0.4.13 mod: "Extreme Survival"
-- namespace: es
--https://github.com/maikerumine
--[[License:
--~~~~~~~~
Minetest mod: screwdriver
=========================
License of source code:
-----------------------
Copyright (C) 2013 RealBadAngel, Maciej Kasatkin <mk@realbadangel.pl>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
http://www.gnu.org/licenses/lgpl-2.1.html
License of media (textures and sounds)
--------------------------------------
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
http://creativecommons.org/licenses/by-sa/3.0/
Created by Gambit (WTFPL):
screwdriver.png
]]
es = {}
local function nextrange(x, max)
x = x + 1
if x > max then
x = 0
end
return x
end
screwdriver.ROTATE_FACE = 1
screwdriver.ROTATE_AXIS = 2
screwdriver.disallow = function(pos, node, user, mode, new_param2)
return false
end
screwdriver.rotate_simple = function(pos, node, user, mode, new_param2)
if mode ~= screwdriver.ROTATE_FACE then
return false
end
end
local USES = 3000
-- Handles rotation
local function screwdriver_handler(itemstack, user, pointed_thing, mode)
if pointed_thing.type ~= "node" then
return
end
local pos = pointed_thing.under
if minetest.is_protected(pos, user:get_player_name()) then
minetest.record_protection_violation(pos, user:get_player_name())
return
end
local node = minetest.get_node(pos)
local ndef = minetest.registered_nodes[node.name]
-- Compute param2
local rotationPart = node.param2 % 32 -- get first 4 bits
local preservePart = node.param2 - rotationPart
local axisdir = math.floor(rotationPart / 4)
local rotation = rotationPart - axisdir * 4
if mode == screwdriver.ROTATE_FACE then
rotationPart = axisdir * 4 + nextrange(rotation, 3)
elseif mode == screwdriver.ROTATE_AXIS then
rotationPart = nextrange(axisdir, 5) * 4
end
local new_param2 = preservePart + rotationPart
local should_rotate = true
if ndef and ndef.on_rotate then -- Node provides a handler, so let the handler decide instead if the node can be rotated
-- Copy pos and node because callback can modify it
local result = ndef.on_rotate(vector.new(pos),
{name = node.name, param1 = node.param1, param2 = node.param2},
user, mode, new_param2)
if result == false then -- Disallow rotation
return
elseif result == true then
should_rotate = false
end
else
if not ndef or not ndef.paramtype2 == "facedir" or
(ndef.drawtype == "nodebox" and
not ndef.node_box.type == "fixed") or
node.param2 == nil then
return
end
if ndef.can_dig and not ndef.can_dig(pos, user) then
return
end
end
if should_rotate then
node.param2 = new_param2
minetest.swap_node(pos, node)
end
if not minetest.setting_getbool("creative_mode") then
itemstack:add_wear(65535 / (USES - 1))
end
return itemstack
end
-- Screwdriver
minetest.register_tool("es:screwdriver", {
description = "Screwdriver (left-click rotates face, right-click rotates axis)",
inventory_image = "screwdriver.png^[colorize:#0000FF:180",
on_use = function(itemstack, user, pointed_thing)
screwdriver_handler(itemstack, user, pointed_thing, screwdriver.ROTATE_FACE)
return itemstack
end,
on_place = function(itemstack, user, pointed_thing)
screwdriver_handler(itemstack, user, pointed_thing, screwdriver.ROTATE_AXIS)
return itemstack
end,
})
minetest.register_craft({
output = "es:screwdriver",
recipe = {
{"es:aikerum_crystal"},
{"es:handle"}
}
})

BIN
textures/screwdriver.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1015 B