mirror of
https://gitlab.com/lunovox/minertrade.git
synced 2025-03-15 05:31:20 +00:00
169 lines
5.3 KiB
Lua
169 lines
5.3 KiB
Lua
|
|
|
|
--#########################################################################################
|
|
|
|
minetest.register_craftitem("minertrade:minercoin", {
|
|
description = modMinerTrade.translate("MINERCOIN\n* Basic craftable money with gold and steel."),
|
|
inventory_image = "obj_minecoin.png",
|
|
stack_max=9, --Acumula 9 por slot
|
|
groups = {cash=1, trade=1},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "minertrade:minercoin",
|
|
recipe = {
|
|
{"default:gold_ingot","default:steel_ingot","default:gold_ingot"},
|
|
},
|
|
--https://github.com/minetest/minetest_game/blob/master/mods/default/craftitems.lua
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "default:gold_ingot",
|
|
recipe = "minertrade:minercoin",
|
|
cooktime = 5,
|
|
})
|
|
|
|
minetest.register_alias(
|
|
modMinerTrade.translate("minercoin"),
|
|
"minertrade:minercoin"
|
|
)
|
|
|
|
--##########################################################################################################
|
|
|
|
minetest.register_craftitem("minertrade:minermoney", {
|
|
description = modMinerTrade.translate("MINERMONEY\n* equals 09 Minercoins."),
|
|
inventory_image = "obj_minemoney.png",
|
|
stack_max=9, --Acumula 9 por slot
|
|
groups = {cash=1, trade=1},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "minertrade:minermoney",
|
|
recipe = {
|
|
{"minertrade:minercoin", "minertrade:minercoin", "minertrade:minercoin"},
|
|
{"minertrade:minercoin", "minertrade:minercoin", "minertrade:minercoin"},
|
|
{"minertrade:minercoin", "minertrade:minercoin", "minertrade:minercoin"}
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "minertrade:minercoin 9",
|
|
recipe = {
|
|
{"minertrade:minermoney"},
|
|
},
|
|
})
|
|
|
|
|
|
minetest.register_alias(
|
|
modMinerTrade.translate("minermoney"),
|
|
"minertrade:minermoney"
|
|
)
|
|
|
|
--##########################################################################################################
|
|
|
|
|
|
minetest.register_craftitem("minertrade:checkbank", {
|
|
description = modMinerTrade.translate("CHECK BANK\n* equals 09 Minermoneys."),
|
|
inventory_image = "obj_bank_check.png",
|
|
stack_max=9, --Acumula 9 por slot
|
|
groups = {cash=1, trade=1},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "minertrade:checkbank",
|
|
recipe = {
|
|
{"minertrade:minermoney", "minertrade:minermoney", "minertrade:minermoney"},
|
|
{"minertrade:minermoney", "minertrade:minermoney", "minertrade:minermoney"},
|
|
{"minertrade:minermoney", "minertrade:minermoney", "minertrade:minermoney"}
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "minertrade:minermoney 9",
|
|
recipe = {
|
|
{"minertrade:checkbank"},
|
|
},
|
|
})
|
|
|
|
|
|
minetest.register_alias(
|
|
modMinerTrade.translate("piggybank"),
|
|
"minertrade:checkbank"
|
|
)
|
|
|
|
--##########################################################################################################
|
|
|
|
minetest.register_craftitem("minertrade:creditcard", {
|
|
description = modMinerTrade.translate("CREDIT CARD (Unowned)\n* equals 09 Check Banks.\n* Allows you to access the bank account of the credit card owner anywhere in the world."),
|
|
inventory_image = "obj_credit_card.png",
|
|
--stack_max=9, --Acumula 9 por slot
|
|
groups = {cash=1, trade=1},
|
|
on_use = function(itemstack, player)
|
|
local playername = player:get_player_name()
|
|
local meta = itemstack:get_meta()
|
|
local old_data = minetest.deserialize(itemstack:get_metadata())
|
|
if old_data then
|
|
meta:from_table({ fields = old_data })
|
|
end
|
|
local tmpDatabase = meta:to_table().fields
|
|
if type(tmpDatabase.ownername)~="string" or tmpDatabase.ownername=="" then
|
|
tmpDatabase.ownername = playername
|
|
tmpDatabase.description = modMinerTrade.translate("CREDIT CARD of '%s'"):format(tmpDatabase.ownername)
|
|
local invPlayer = player:get_inventory()
|
|
local new_stack
|
|
local count = itemstack:get_count()
|
|
itemstack:set_count(count - 1)
|
|
new_stack = ItemStack("minertrade:creditcard")
|
|
new_stack:get_meta():from_table({ fields = tmpDatabase })
|
|
if invPlayer:room_for_item("main", new_stack) then
|
|
invPlayer:add_item("main", new_stack)
|
|
else
|
|
minetest.add_item(player:get_pos(), new_stack)
|
|
end
|
|
minetest.chat_send_player(playername,
|
|
core.colorize("#00ff00", "["..modMinerTrade.translate("CREDIT CARD").."]: ")
|
|
..modMinerTrade.translate("Your name has been saved to this credit card. Anyone using this credit card will be able to access the '%s' bank account."):format(tmpDatabase.ownername)
|
|
)
|
|
minetest.sound_play("sfx_alert", {object=player, max_hear_distance=5.0,})
|
|
return itemstack
|
|
end
|
|
|
|
local inv = modMinerTrade.getDetachedInventory(tmpDatabase.ownername)
|
|
minetest.show_formspec(
|
|
playername,
|
|
"safe_"..tmpDatabase.ownername,
|
|
modMinerTrade.getFormspec(
|
|
tmpDatabase.ownername,
|
|
modMinerTrade.translate("ACCOUNT BANK of '%s':"):format(tmpDatabase.ownername)
|
|
)
|
|
)
|
|
--return itemstack
|
|
end,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "minertrade:creditcard",
|
|
recipe = {
|
|
{"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"},
|
|
{"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"},
|
|
{"minertrade:checkbank", "minertrade:checkbank", "minertrade:checkbank"}
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "minertrade:checkbank 9",
|
|
recipe = {
|
|
{"minertrade:creditcard"},
|
|
},
|
|
})
|
|
|
|
|
|
minetest.register_alias(
|
|
modMinerTrade.translate("creditcard"),
|
|
"minertrade:creditcard"
|
|
)
|
|
|
|
--##########################################################################################################
|
|
|
|
|