Compare commits
20 Commits
ba4eb7f4b0
...
f93e52b080
Author | SHA1 | Date |
---|---|---|
Pascal Abresch | f93e52b080 | |
Pascal Abresch | 6b2bee3ef9 | |
Pascal Abresch | df36ba3fdf | |
Pascal Abresch | db695a7c03 | |
Pascal Abresch | 6e4b87ec57 | |
Pascal Abresch | 67c8636a4f | |
Pascal Abresch | c5b25dc552 | |
Pascal Abresch | f969b3152c | |
Pascal Abresch | 4f00a62a63 | |
Pascal Abresch | 9f596f99e2 | |
Pascal Abresch | 13b78ff838 | |
Pascal Abresch | a3c297ac21 | |
Pascal Abresch | 34d01977fa | |
Pascal Abresch | ca7c23e2fc | |
Pascal Abresch | 975c2d609c | |
Pascal Abresch | d3d8d43df4 | |
Pascal Abresch | 179fdb57b8 | |
Pascal Abresch | 9b710c5299 | |
Pascal Abresch | 1b12ed04d3 | |
Pascal Abresch | de6dbf0c77 |
|
@ -0,0 +1,14 @@
|
|||
-- .lua is the file extension, because i dont want to get yelled at
|
||||
-- i just realized, because this is all just my code depending on it i can define names like i want :D^
|
||||
|
||||
TRUE = 1
|
||||
FALSE = 0
|
||||
|
||||
-- sparktech_techy
|
||||
-- TODO: replace this later? like wiht a better name
|
||||
WRENCHABLE = 1
|
||||
|
||||
-- energy_type
|
||||
ENERGY_PRODUCER = 2
|
||||
ENERGY_STORE = 3
|
||||
ENERGY_CONSUMER = 4
|
|
@ -0,0 +1,61 @@
|
|||
if not sparktech then sparktech = {} end
|
||||
|
||||
|
||||
function sparktech.empty_inventory(source, destination, listname) ---
|
||||
--- expects those in already inventory formats
|
||||
--
|
||||
local inventory_lists = source:get_lists()
|
||||
|
||||
if not inventory_lists then return true end
|
||||
for i, list in pairs(inventory_lists) do
|
||||
for n=1, #list do
|
||||
if destination:room_for_item(listname, list[n]) then
|
||||
destination:add_item("main", list[n])
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
function sparktech.drop_inventory(nodepos, quilty) ---
|
||||
--- evacutate the mines, quickly now!
|
||||
local inventory_lists = minetest.get_meta(nodepos):get_inventory():get_lists()
|
||||
|
||||
for i, list in pairs(inventory_lists) do
|
||||
for n=1, #list do
|
||||
minetest.item_drop(list[n], quilty, nodepos)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function sparktech.dig_node(nodepos, inventory, listname, strictmode, quilty) ---
|
||||
--- call with position, your inventory, and the listname
|
||||
-- strictmode true: give me all you can
|
||||
-- strictmode false: it is okay to drop items to the ground
|
||||
local node = minetest.get_node(nodepos)
|
||||
local node_inv = minetest.get_meta(nodepos):get_inventory()
|
||||
if not sparktech.empty_inventory(node_inv, inventory, listname) then
|
||||
if not strictmode then
|
||||
sparktech.drop_inventory(nodepos)
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
if inventory:room_for_item(listname, ItemStack(node["name"])) then
|
||||
inventory:add_item(listname, ItemStack(node["name"]))
|
||||
else
|
||||
if not strictmode then
|
||||
minetest.item_drop(ItemStack(node["name"]), quilty, nodepos)
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
minetest.remove_node(nodepos)
|
||||
return true
|
||||
end
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
if not sparktech then sparktech = {} end
|
||||
|
||||
function sparktech.can_drain_energy(target_pos, ammount) ---
|
||||
--- check whether you can drain
|
||||
return minetest.get_meta(target_pos):get_int("energy") >= ammount
|
||||
end
|
||||
|
||||
function sparktech.drain_energy(target_pos, ammount)
|
||||
local target = minetest.get_meta(target_pos)
|
||||
local current = target:get_int("energy")
|
||||
if sparktech.can_drain_energy(target_pos, ammount) then
|
||||
target:set_int("energy", current - ammount)
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
|
@ -0,0 +1,8 @@
|
|||
function math.order(x, y) -- might change to arbitrary args later, but now now ... this is just the simple impl written for the quarry
|
||||
if not x or not y then return nil end
|
||||
if x <= y then
|
||||
return x, y
|
||||
else
|
||||
return y, x
|
||||
end
|
||||
end
|
|
@ -20,38 +20,9 @@ function sparktech.register_wrench(name, dictionary)
|
|||
end
|
||||
local on_place = function(itemstack, placer, pointed_thing)
|
||||
if pointed_thing["type"] == "node" then
|
||||
local node = minetest.get_node(pointed_thing["under"])
|
||||
if minetest.get_item_group(node["name"], "sparktech_techy") > 0 then
|
||||
local nodemeta = minetest.get_meta(pointed_thing["under"])
|
||||
local item = ItemStack(node["name"])
|
||||
if minetest.get_item_group(item:get_name(), "sparktech_energy_storeonbreak") > 0 then
|
||||
item:set_metadata(nodemeta:get_int("energy"))
|
||||
end
|
||||
|
||||
minetest.remove_node(pointed_thing["under"])
|
||||
sparktech.remove_node_from_net(pointed_thing.under, node)
|
||||
|
||||
local node_inv = nodemeta:get_inventory()
|
||||
local inv = placer:get_inventory()
|
||||
|
||||
local inventory_lists = node_inv:get_lists()
|
||||
|
||||
for i, list in pairs(inventory_lists) do
|
||||
for n=1, #list do
|
||||
if inv:room_for_item("main", list[n]) then
|
||||
inv:add_item("main", list[n])
|
||||
else
|
||||
minetest.item_drop(list[n], placer, pointed_thing["under"])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if inv:room_for_item("main", item) then
|
||||
inv:add_item("main", item)
|
||||
else
|
||||
minetest.item_drop(item, placer, pointed_thing["under"])
|
||||
end
|
||||
end
|
||||
if not sparktech.dig_node then dofile("./dig.lua") end
|
||||
sparktech.dig_node(pointed_thing["under"], placer:get_inventory(), "main", false, placer)
|
||||
sparktech.remove_node_from_net(pointed_thing.under, minetest.get_node(pointed_thing.under))
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
minetest.register_craft({
|
||||
output = "sparkmachine:quarry_marker",
|
||||
recipe = {
|
||||
{ "sparkmachine:static_strut", "sparkmachine:static_strut" },
|
||||
{ "default:steel_ingot", "default:copper_ingot" }
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "sparkmachine:lv_furnace",
|
||||
recipe = {
|
||||
{ "default:clay_brick", "sparkcore:cable", "default:clay_brick"},
|
||||
{ "default:clay_brick", "group:steel_chasis", "default:clay_brick" },
|
||||
{ "default:clay_brick", "sparkcore:cable","default:clay_brick" }
|
||||
}
|
||||
})
|
|
@ -17,7 +17,7 @@ minetest.register_craft({
|
|||
minetest.register_craftitem(NAME .. ":steel_chasis", {
|
||||
groups = { steel_chasis = 1 }, -- group for a single item because we keep moving files around, this way it will work even if the modname changes
|
||||
description = "Steel chasis",
|
||||
inventory_image = "chasis.png",
|
||||
inventory_image = "[inventorycube{sparkcomponent_steel_sideplate.png{sparkcomponent_steel_sideplate.png{sparkcomponent_steel_sideplate.png",
|
||||
stack_max = 128,
|
||||
})
|
||||
|
||||
|
|
Before Width: | Height: | Size: 164 B After Width: | Height: | Size: 164 B |
|
@ -1,4 +1,5 @@
|
|||
local NAME = minetest.get_current_modname()
|
||||
local MAX_ENERGY
|
||||
|
||||
minetest.register_node(NAME ..":capacitor", {
|
||||
description = "Capacitor",
|
||||
|
@ -11,11 +12,11 @@ minetest.register_node(NAME ..":capacitor", {
|
|||
"capacitor_side.png"
|
||||
},
|
||||
groups = {
|
||||
sparktech_techy = 3,
|
||||
sparktech_energy_type = 3,
|
||||
sparktech_energy_storeonbreak = 1,
|
||||
sparktech_energy_max = 30000,
|
||||
sparktech_net_trigger = 1,
|
||||
sparktech_techy = WRENCHABLE,
|
||||
sparktech_energy_type = ENERGY_STORE,
|
||||
sparktech_energy_storeonbreak = TRUE,
|
||||
sparktech_energy_max = MAX_ENERGY,
|
||||
sparktech_net_trigger = TRUE,
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
@ -7,9 +7,9 @@ local function round(x)
|
|||
end
|
||||
|
||||
local function wakeup(pos,share)
|
||||
--called to test if a node needs to be woken uü
|
||||
--called to test if a node needs to be woken up
|
||||
local node = minetest.get_node(pos)
|
||||
if (minetest.get_item_group(node.name, "sparktech_energy_wakeup") == 1) then
|
||||
if (minetest.get_item_group(node.name, "sparktech_energy_wakeup") >= 1) then
|
||||
local ntype = minetest.get_item_group(node.name, "spaktech_energy_type")
|
||||
local meta = minetest.get_meta(pos)
|
||||
local energy = meta:get_int("energy")
|
||||
|
@ -19,7 +19,7 @@ local function wakeup(pos,share)
|
|||
minetest.get_node_timer(pos):start(0.5)
|
||||
end
|
||||
elseif ntype == 4 then
|
||||
if minetest.get_item_group(node.name, "sparktech_energy_may") == energy then
|
||||
if minetest.get_item_group(node.name, "sparktech_energy_wakeup") == energy then -- set the value to when you want to be woken up key
|
||||
minetest.get_node_timer(pos):start(0.5)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
../init.lua
|
|
@ -0,0 +1,18 @@
|
|||
local NAME = minetest.get_current_modname()
|
||||
local PATH = minetest.get_modpath(NAME) .."/lua/"
|
||||
local MODFILES = minetest.get_dir_list(PATH, false)
|
||||
|
||||
spacenum = 20 - string.len(NAME)
|
||||
|
||||
-- This assumes that the lua/ subdir contains lua code only.
|
||||
if not minetest.settings:get("spark_debug_enable") then
|
||||
minetest.debug("│ " .. NAME .. string.rep(" ", spacenum) .. "DISABLED")
|
||||
return false
|
||||
end
|
||||
|
||||
minetest.debug("│ " .. NAME .. string.rep(" ",spacenum) .. "init")
|
||||
for i=1,table.getn(MODFILES),1
|
||||
do
|
||||
minetest.debug("│ "..NAME .. string.rep(" ",spacenum) .."load " .. MODFILES[i])
|
||||
dofile(PATH .. MODFILES[i])
|
||||
end
|
|
@ -9,11 +9,11 @@ minetest.register_node("sparkdebug:energyvoid", {
|
|||
"capacitor_side.png"
|
||||
},
|
||||
groups = {
|
||||
sparkdebug = 1,
|
||||
sparktech_energy_type = 4,
|
||||
sparktech_net_trigger = 1,
|
||||
sparkdebug = TRUE,
|
||||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
sparktech_net_trigger = TRUE,
|
||||
sparktech_energy_max = 10000,
|
||||
sparktech_techy = 1
|
||||
sparktech_techy = WRENCHABLE
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -28,11 +28,11 @@ minetest.register_node("sparkdebug:energysource", {
|
|||
"capacitor_side.png"
|
||||
},
|
||||
groups = {
|
||||
sparkdebug = 1,
|
||||
sparktech_energy_type = 2,
|
||||
sparktech_net_trigger = 1,
|
||||
sparkdebug = TRUE,
|
||||
sparktech_energy_type = ENERGY_PRODUCER,
|
||||
sparktech_net_trigger = TRUE,
|
||||
sparktech_energy_max = 10000,
|
||||
sparktech_techy = 1
|
||||
sparktech_techy = WRENCHABLE
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
spark_debug_enable ([WARNING: ARBITRARY LUA CODE [very bad!]] enable sparkdebug) bool false
|
|
@ -1,5 +1,6 @@
|
|||
local fuel_multiplier = 2
|
||||
local interval = 0.5
|
||||
local FUEL_MULTIPLIER = 2
|
||||
local INTERVAL= 0.5
|
||||
local MAX_ENERGY = 2000
|
||||
|
||||
|
||||
local NAME = minetest.get_current_modname()
|
||||
|
@ -23,7 +24,7 @@ local function is_item_allowed(pos, target, _, stack)
|
|||
end
|
||||
|
||||
local function ongetitem(pos) -- could add checking if energy >= max energy here, not really required since timer does that first thing anyway
|
||||
local timer = minetest.get_node_timer(pos):start(interval)
|
||||
local timer = minetest.get_node_timer(pos):start(INTERVAL)
|
||||
end
|
||||
|
||||
local function update_formspec(pos)
|
||||
|
@ -57,11 +58,11 @@ minetest.register_node(NAME .. ":burnergenerator", {
|
|||
"generator.png"},
|
||||
paramtype2 = "facedir",
|
||||
groups = {
|
||||
sparktech_energy_wakeup = 1,
|
||||
sparktech_techy = 1,
|
||||
sparktech_energy_type = 2,
|
||||
sparktech_net_trigger = 1,
|
||||
sparktech_energy_max = 2000
|
||||
sparktech_techy = WRENCHABLE,
|
||||
sparktech_energy_wakeup = TRUE,
|
||||
sparktech_energy_type = ENERGY_PRODUCER,
|
||||
sparktech_net_trigger = TRUE,
|
||||
sparktech_energy_max = MAX_ENERGY
|
||||
},
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
|
@ -69,7 +70,7 @@ minetest.register_node(NAME .. ":burnergenerator", {
|
|||
meta:set_int("rem_energy_", 0)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('fuel', 1)
|
||||
-- minetest.get_node_timer(pos):start(interval)
|
||||
-- minetest.get_node_timer(pos):start(INTERVAL)
|
||||
-- not required! its not like we got items on construct
|
||||
end,
|
||||
|
||||
|
@ -118,7 +119,7 @@ minetest.register_node(NAME .. ":burnergenerator", {
|
|||
|
||||
update_formspec(pos) -- Later this should only be done when a player looks into the block
|
||||
|
||||
minetest.get_node_timer(pos):start(interval)
|
||||
minetest.get_node_timer(pos):start(INTERVAL)
|
||||
end
|
||||
})
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
local NAME = minetest.get_current_modname()
|
||||
local MAX_ENERGY = 50
|
||||
|
||||
minetest.register_node(NAME .. ":solar", {
|
||||
description = "Solar Cell",
|
||||
|
@ -16,10 +17,10 @@ minetest.register_node(NAME .. ":solar", {
|
|||
}
|
||||
},
|
||||
groups = {
|
||||
sparktech_techy = 1,
|
||||
sparktech_energy_type = 2,
|
||||
sparktech_net_trigger = 1,
|
||||
sparktech_energy_max = 50
|
||||
sparktech_techy = WRENCHABLE,
|
||||
sparktech_energy_type = ENERGY_PRODUCER,
|
||||
sparktech_net_trigger = TRUE,
|
||||
sparktech_energy_max = MAX_ENERGY
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
default
|
||||
sparkcore
|
||||
sparkapi
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
local NAME = minetest.get_current_modname()
|
||||
local MAX_ENERGY = 300
|
||||
local modifier = 10 -- Cooking cost modifier
|
||||
local time_modifier = 1.5 -- Cooking time modifier
|
||||
|
||||
|
@ -46,7 +47,7 @@ local function update_formspec(pos)
|
|||
|
||||
cfmsp = cfmsp ..
|
||||
sparktech.makebar("energy2.png", 0, 1.125, 9.75, 0.25,
|
||||
energy, minetest.get_item_group(minetest.get_node(pos).name, "sparktech_energy_max")
|
||||
energy, minetest.get_item_group(MAX_ENERGY)
|
||||
, 0)
|
||||
|
||||
for item=0, 1 do
|
||||
|
@ -117,21 +118,21 @@ minetest.register_node( NAME .. ":lv_furnace", {
|
|||
description = "Electric furnace",
|
||||
|
||||
tiles = {
|
||||
"furnace2.png",
|
||||
"furnace2.png",
|
||||
"furnace2.png",
|
||||
"furnace2.png",
|
||||
"backplate.png",
|
||||
"frontplate.png"
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_backplate.png",
|
||||
NAME .. "_furnace_frontplate.png"
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
|
||||
groups = {
|
||||
sparktech_techy = 1,
|
||||
sparktech_energy_type = 4,
|
||||
sparktech_net_trigger = 1,
|
||||
sparktech_energy_max = 300,
|
||||
spark_energy_timer = 2
|
||||
sparktech_techy = WRENCHABLE,
|
||||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
sparktech_net_trigger = TRUE,
|
||||
sparktech_energy_max = MAX_ENERGY,
|
||||
sparktech_energy_wakeup = 10
|
||||
},
|
||||
|
||||
on_timer = mytime, -- add a mytimer function
|
||||
|
@ -160,12 +161,3 @@ minetest.register_node( NAME .. ":lv_furnace", {
|
|||
--on_metadata_inventory_move = ongetitem, --doesnt seem necesarry to me, if the item moves in the inventory schould not change the cooking process
|
||||
on_metadata_inventory_put = ongetitem
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = NAME .. ":lv_furnace",
|
||||
recipe = {
|
||||
{ "default:clay_brick", "sparkcore:cable", "default:clay_brick"},
|
||||
{ "default:clay_brick", "group:steel_chasis", "default:clay_brick" },
|
||||
{ "default:clay_brick", "sparkcore:cable","default:clay_brick" }
|
||||
}
|
||||
})
|
||||
|
|
|
@ -3,8 +3,9 @@ local ENERGYCOST = {
|
|||
static_strut = 20,
|
||||
dynamic_struct = 24,
|
||||
hardness_mod = 1,
|
||||
mining_cost = 25,
|
||||
mining = 25,
|
||||
}
|
||||
local MAX_ENERGY = 3000
|
||||
local FORMSPEC = sparktech.add_inventory(19.8,8,
|
||||
"list[current_name;quarry;0,0;16,6;]")
|
||||
local MAX_SIZE = 64
|
||||
|
@ -14,15 +15,6 @@ local function Position(x, y, z) ---
|
|||
return {x=x, y=y, z=z}
|
||||
end
|
||||
|
||||
local function order(x, y) ---
|
||||
--- Returns (smaller, bigger)
|
||||
if x <= y then
|
||||
return x, y
|
||||
else
|
||||
return y,x
|
||||
end
|
||||
end
|
||||
|
||||
local function try_drain_energy(target_pos, amount) ---
|
||||
--- Returns true if drained, false otherwise
|
||||
--- Removes amount energy from target_pos if energy >= amount
|
||||
|
@ -65,7 +57,8 @@ end
|
|||
local function dig_node(pos, quarrypos)
|
||||
local node = minetest.get_node(pos)
|
||||
|
||||
if node.name ~= "air" and try_drain_energy(quarrypos, ENERGYCOST.mining_cost) then
|
||||
if node.name ~= "air" and sparktech.drain_energy(quarrypos, ENERGYCOST.mining) then
|
||||
|
||||
local quarry = minetest.get_meta(quarrypos)
|
||||
local quarry_inv = quarry:get_inventory()
|
||||
|
||||
|
@ -96,9 +89,9 @@ local function on_marker_placed(pos, quarry_pos, player)
|
|||
|
||||
end
|
||||
|
||||
local minx, maxx = order(pos.x, quarry_pos.x)
|
||||
local miny, maxy = order(pos.y, quarry_pos.y)
|
||||
local minz, maxz = order(pos.z, quarry_pos.z)
|
||||
local minx, maxx = math.order(pos.x, quarry_pos.x)
|
||||
local miny, maxy = math.order(pos.y, quarry_pos.y)
|
||||
local minz, maxz = math.order(pos.z, quarry_pos.z)
|
||||
|
||||
local diffx = maxx - minx
|
||||
local diffy = maxy - miny
|
||||
|
@ -109,7 +102,6 @@ local function on_marker_placed(pos, quarry_pos, player)
|
|||
diffz < 2 or diffz >= MAX_SIZE
|
||||
then
|
||||
notify.hud.sendtext(player, "Invalid dimensions for quarry 3x3x3")
|
||||
-- minetest.chat_send_player(player:get_player_name(), "Invalid dimensions for quarry")
|
||||
return
|
||||
end
|
||||
|
||||
|
@ -130,12 +122,10 @@ end
|
|||
local function place_strut(position, quarrypos)
|
||||
if minetest.get_node(position).name == "air" then
|
||||
local placed = false
|
||||
if try_remove_item(quarrypos, "quarry", NAME .. ":static_strut") then
|
||||
if try_drain_energy(quarrypos, ENERGYCOST.static_strut) then
|
||||
if sparktech.can_drain_energy(quarrypos, ENERGYCOST.static_strut) then
|
||||
if try_remove_item(quarrypos, "quarry", NAME .. ":static_strut") then
|
||||
minetest.set_node(position, { name = NAME .. ":static_strut"})
|
||||
placed = true
|
||||
else
|
||||
-- TODO Restore items
|
||||
end
|
||||
end
|
||||
return true, placed
|
||||
|
@ -145,9 +135,9 @@ end
|
|||
|
||||
local function prepare_area(pos, pos2)
|
||||
local placement_done = true
|
||||
local minx, maxx = order(pos.x, pos2.x)
|
||||
local miny, maxy = order(pos.y, pos2.y)
|
||||
local minz, maxz = order(pos.z, pos2.z)
|
||||
local minx, maxx = math.order(pos.x, pos2.x)
|
||||
local miny, maxy = math.order(pos.y, pos2.y)
|
||||
local minz, maxz = math.order(pos.z, pos2.z)
|
||||
for x=minx , maxx do
|
||||
for y=miny, maxy do
|
||||
for z=minz, maxz do
|
||||
|
@ -191,6 +181,7 @@ end
|
|||
|
||||
local function timer_trigger(pos, elapsed)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if not meta then assert("FUCK") end
|
||||
local framenum = meta:get_int("current_frame")
|
||||
local marker_pos = minetest.string_to_pos(meta:get_string("marker"))
|
||||
|
||||
|
@ -225,9 +216,9 @@ local function timer_trigger(pos, elapsed)
|
|||
else
|
||||
--shrink the operational area here to a 2d space with one piece of border taken away to drill there
|
||||
--
|
||||
local posx, pos2x = order(pos.x, marker_pos.x)
|
||||
local posy, pos2y = order(pos.y, marker_pos.y)
|
||||
local posz, pos2z = order(pos.z, marker_pos.z)
|
||||
local posx, pos2x = math.order(pos.x, marker_pos.x)
|
||||
local posy, pos2y = math.order(pos.y, marker_pos.y)
|
||||
local posz, pos2z = math.order(pos.z, marker_pos.z)
|
||||
posx = posx +1
|
||||
pos2x = pos2x -1
|
||||
posz = posz + 1
|
||||
|
@ -248,11 +239,9 @@ end
|
|||
minetest.register_node( NAME .. ":quarry_marker", {
|
||||
descritption = "quarry marker",
|
||||
tiles = {
|
||||
"marker.png"
|
||||
},
|
||||
groups = {
|
||||
oddly_breakable_by_hand = 1
|
||||
NAME .. "marker.png"
|
||||
},
|
||||
groups = { sparktech_techy = 1 },
|
||||
after_place_node = marker_construct,
|
||||
})
|
||||
|
||||
|
@ -266,7 +255,7 @@ minetest.register_node( NAME .. ":static_strut", {
|
|||
NAME .. ":lv_quarry"
|
||||
},
|
||||
tiles = {
|
||||
"strut.png"
|
||||
NAME .. "_strut.png"
|
||||
},
|
||||
node_box = {
|
||||
type = "connected",
|
||||
|
@ -278,31 +267,28 @@ minetest.register_node( NAME .. ":static_strut", {
|
|||
connect_front = {-0.2, -0.2, -0.5, 0.2, 0.2, -0.2},
|
||||
connect_left = {-0.5, -0.2, -0.2, -0.2, 0.2, 0.2},
|
||||
},
|
||||
groups = {
|
||||
oddly_breakable_by_hand = 1
|
||||
}
|
||||
groups = { sparktech_techy = 1 }
|
||||
})
|
||||
|
||||
minetest.register_node( NAME .. ":lv_quarry", {
|
||||
description = "Electric Quarry",
|
||||
|
||||
tiles = {
|
||||
"quarry.png",
|
||||
"quarry.png",
|
||||
"quarry.png",
|
||||
"quarry.png",
|
||||
"backplate.png",
|
||||
"quarry_frontplate.png"
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_backplate.png",
|
||||
NAME .. "_quarry_frontplate.png"
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
|
||||
groups = {
|
||||
sparktech_techy = 1,
|
||||
sparktech_struty = 1,
|
||||
sparktech_energy_type = 4,
|
||||
sparktech_net_trigger = 1,
|
||||
sparktech_energy_max = 3000,
|
||||
spark_energy_timer = 2
|
||||
sparktech_techy = WRENCHABLE,
|
||||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
sparktech_net_trigger = TRUE,
|
||||
sparktech_energy_max = MAX_ENERGY,
|
||||
sparktech_energy_wakeup = ENERGYCOST.mining
|
||||
},
|
||||
|
||||
on_timer = timer_trigger,
|
||||
|
@ -322,13 +308,6 @@ minetest.register_craft({
|
|||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = NAME .. ":quarry_marker",
|
||||
recipe = {
|
||||
{ NAME .. ":static_strut", NAME .. ":static_strut" },
|
||||
{ "default:steel_ingot", "default:copper_ingot" }
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = NAME .. ":static_strut 16",
|
||||
|
|
Before Width: | Height: | Size: 186 B |
Before Width: | Height: | Size: 696 B After Width: | Height: | Size: 696 B |
Before Width: | Height: | Size: 559 B After Width: | Height: | Size: 559 B |
After Width: | Height: | Size: 164 B |
Before Width: | Height: | Size: 233 B After Width: | Height: | Size: 233 B |
|
@ -1,4 +1,5 @@
|
|||
local NAME = minetest.get_current_modname()
|
||||
local MAX_ENERGY = 200
|
||||
|
||||
local formspec = sparktech.add_inventory(8,1.5,
|
||||
"list[current_name;charge;0,0;1,1;]")
|
||||
|
@ -8,20 +9,20 @@ local SPEED = 10
|
|||
minetest.register_node(NAME ..":charger", {
|
||||
description = "Electric Charger",
|
||||
tiles = {
|
||||
"charger_top.png",
|
||||
"charger_top.png",
|
||||
"charger_side.png",
|
||||
"charger_side.png",
|
||||
"charger_side.png",
|
||||
"charger_side.png"
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_sideplate.png",
|
||||
NAME .. "_steel_backplate.png",
|
||||
NAME .. "_charger_frontplate.png",
|
||||
},
|
||||
groups = {
|
||||
sparktech_techy = 3,
|
||||
sparktech_energy_type = 4,
|
||||
sparktech_energy_storeonbreak = 1,
|
||||
sparktech_energy_max = 200,
|
||||
sparktech_net_trigger = 1,
|
||||
spark_energy_timer = 2
|
||||
sparktech_techy = WRENCHABLE,
|
||||
sparktech_energy_type = ENERGY_CONSUMER,
|
||||
sparktech_energy_storeonbreak = TRUE,
|
||||
sparktech_net_trigger = TRUE,
|
||||
sparktech_energy_max = MAX_ENERGY,
|
||||
sparktech_energy_wakeup = 10
|
||||
},
|
||||
allow_metadata_inventory_put = function (_, _, _, itemstack)
|
||||
if minetest.get_item_group(itemstack:get_name(), "sparktech_chargable") > 0 then
|
||||
|
|
|
@ -2,7 +2,7 @@ local NAME = minetest.get_current_modname()
|
|||
|
||||
sparktech.register_wrench(NAME .. ":wrench", {
|
||||
description = "Wrench",
|
||||
inventory_image = "wrench.png",
|
||||
inventory_image = NAME .. "_wrench.png",
|
||||
stack_max = 1,
|
||||
range = 6.0
|
||||
})
|
||||
|
|
After Width: | Height: | Size: 559 B |
After Width: | Height: | Size: 164 B |
Before Width: | Height: | Size: 316 B After Width: | Height: | Size: 316 B |