Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Illuna-Minetest
bitchange
Commits
1a68fcbd
Commit
1a68fcbd
authored
Jan 18, 2014
by
SmallJoker
Browse files
Cleanups, new node
Added tool repair node to .. repair tools with money
parent
73161dbd
Changes
13
Hide whitespace changes
Inline
Side-by-side
bank_currency.lua
View file @
1a68fcbd
...
...
@@ -43,11 +43,6 @@ minetest.register_on_shutdown(function()
save_exchange_rate
()
end
)
local
function
has_bank_privilege
(
meta
,
player
)
local
player_name
=
player
:
get_player_name
()
return
((
player_name
==
meta
:
get_string
(
"owner"
))
or
minetest
.
get_player_privs
(
player_name
).
server
)
end
local
function
get_bank_formspec
(
number
,
pos
)
local
formspec
=
""
local
name
=
"nodemeta:"
..
pos
.
x
..
","
..
pos
.
y
..
","
..
pos
.
z
...
...
@@ -196,21 +191,21 @@ minetest.register_node("bitchange:bank", {
end
,
allow_metadata_inventory_move
=
function
(
pos
,
from_list
,
from_index
,
to_list
,
to_index
,
count
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
has_bank_privilege
(
meta
,
player
))
then
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()
))
then
return
count
end
return
0
end
,
allow_metadata_inventory_put
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
has_bank_privilege
(
meta
,
player
))
then
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()
))
then
return
stack
:
get_count
()
end
return
0
end
,
allow_metadata_inventory_take
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
has_bank_privilege
(
meta
,
player
))
then
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()
))
then
return
stack
:
get_count
()
end
return
0
...
...
bank_money.lua
View file @
1a68fcbd
...
...
@@ -43,11 +43,6 @@ minetest.register_on_shutdown(function()
save_exchange_rate
()
end
)
local
function
has_bank_privilege
(
meta
,
player
)
local
player_name
=
player
:
get_player_name
()
return
((
player_name
==
meta
:
get_string
(
"owner"
))
or
minetest
.
get_player_privs
(
player_name
).
server
)
end
local
function
get_bank_formspec
(
number
,
pos
)
local
formspec
=
""
local
name
=
"nodemeta:"
..
pos
.
x
..
","
..
pos
.
y
..
","
..
pos
.
z
...
...
@@ -178,21 +173,21 @@ minetest.register_node("bitchange:bank", {
end
,
allow_metadata_inventory_move
=
function
(
pos
,
from_list
,
from_index
,
to_list
,
to_index
,
count
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
has_bank_privilege
(
meta
,
player
))
then
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()
))
then
return
count
end
return
0
end
,
allow_metadata_inventory_put
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
has_bank_privilege
(
meta
,
player
))
then
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()
))
then
return
stack
:
get_count
()
end
return
0
end
,
allow_metadata_inventory_take
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
has_bank_privilege
(
meta
,
player
))
then
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()
))
then
return
stack
:
get_count
()
end
return
0
...
...
bank_money2.lua
View file @
1a68fcbd
...
...
@@ -43,11 +43,6 @@ minetest.register_on_shutdown(function()
save_exchange_rate
()
end
)
local
function
has_bank_privilege
(
meta
,
player
)
local
player_name
=
player
:
get_player_name
()
return
((
player_name
==
meta
:
get_string
(
"owner"
))
or
minetest
.
get_player_privs
(
player_name
).
server
)
end
local
function
get_bank_formspec
(
number
,
pos
)
local
formspec
=
""
local
name
=
"nodemeta:"
..
pos
.
x
..
","
..
pos
.
y
..
","
..
pos
.
z
...
...
@@ -178,21 +173,21 @@ minetest.register_node("bitchange:bank", {
end
,
allow_metadata_inventory_move
=
function
(
pos
,
from_list
,
from_index
,
to_list
,
to_index
,
count
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
has_bank_privilege
(
meta
,
player
))
then
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()
))
then
return
count
end
return
0
end
,
allow_metadata_inventory_put
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
has_bank_privilege
(
meta
,
player
))
then
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()
))
then
return
stack
:
get_count
()
end
return
0
end
,
allow_metadata_inventory_take
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
has_bank_privilege
(
meta
,
player
))
then
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()
))
then
return
stack
:
get_count
()
end
return
0
...
...
config.default.txt
View file @
1a68fcbd
...
...
@@ -6,6 +6,7 @@ bitchange_initial_give = 2
bitchange_enable_exchangeshop = true
bitchange_enable_moneychanger = true
bitchange_enable_warehouse = false
bitchange_enable_toolrepair = true
-- Set this variable to false if you have a supported currency enabled
-- and if you want to disable the exchanging/converting point - the bank
...
...
init.lua
View file @
1a68fcbd
...
...
@@ -15,6 +15,9 @@ end
if
(
bitchange_enable_warehouse
)
then
dofile
(
mod_path
..
"/warehouse.lua"
)
end
if
(
bitchange_enable_toolrepair
)
then
dofile
(
mod_path
..
"/toolrepair.lua"
)
end
if
(
bitchange_enable_bank
)
then
local
loaded_bank
=
""
if
(
minetest
.
get_modpath
(
"money"
)
~=
nil
)
then
...
...
@@ -38,4 +41,11 @@ if(not minetest.setting_getbool("creative_mode") and bitchange_initial_give > 0)
player
:
get_inventory
():
add_item
(
"main"
,
"bitchange:mineninth "
..
bitchange_initial_give
)
end
)
end
-- Privs
minetest
.
register_privilege
(
"bitchange"
,
"Can access to owned nodes of the bitchange mod"
)
function
bitchange_has_access
(
owner
,
player_name
)
return
(
player_name
==
owner
or
minetest
.
get_player_privs
(
player_name
).
server
or
minetest
.
get_player_privs
(
player_name
).
bitchange
)
end
print
(
"[BitChange] Loaded."
)
\ No newline at end of file
moneychanger.lua
View file @
1a68fcbd
...
...
@@ -120,9 +120,8 @@ moneychanger.update_fields = function(pos, listname, index, stack, take)
end
if
(
canMove
)
then
return
stack
:
get_count
()
else
return
0
end
return
0
end
minetest
.
register_node
(
"bitchange:moneychanger"
,
{
...
...
@@ -151,35 +150,31 @@ minetest.register_node("bitchange:moneychanger", {
end
,
allow_metadata_inventory_put
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
player
:
get_player_name
()
~=
meta
:
get_string
(
"owner"
))
then
if
(
not
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()
))
then
return
0
end
if
(
listname
==
"source"
)
then
local
stack_name
=
stack
:
get_name
()
if
(
stack_name
==
"bitchange:mineninth"
or
stack_name
==
"bitchange:minecoin"
or
stack_name
==
"bitchange:minecoinblock"
)
then
return
moneychanger
.
update_fields
(
pos
,
listname
,
index
,
stack
,
false
)
else
return
0
end
else
return
0
end
return
0
end
,
allow_metadata_inventory_take
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
player
:
get_player_name
()
==
meta
:
get_string
(
"owner"
)
or
minetest
.
get_player_privs
(
name
)[
"server"
]
)
then
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
())
)
then
return
moneychanger
.
update_fields
(
pos
,
listname
,
index
,
stack
,
true
)
else
return
0
end
return
0
end
,
can_dig
=
function
(
pos
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
local
inv
=
meta
:
get_inventory
()
if
(
player
:
get_player_name
()
~=
meta
:
get_string
(
"owner"
)
and
not
minetest
.
get_player_privs
(
name
)[
"server"
]
)
then
return
0
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
())
)
then
return
inv
:
is_empty
(
"source"
)
and
inv
:
is_empty
(
"output"
)
and
inv
:
is_empty
(
"rest"
)
end
return
inv
:
is_empty
(
"source"
)
and
inv
:
is_empty
(
"output"
)
and
inv
:
is_empty
(
"rest"
)
return
0
end
})
...
...
shop.lua
View file @
1a68fcbd
...
...
@@ -5,11 +5,6 @@
local
exchange_shop
=
{}
local
function
has_exchange_shop_privilege
(
meta
,
player
)
local
player_name
=
player
:
get_player_name
()
return
((
player_name
==
meta
:
get_string
(
"owner"
))
or
minetest
.
get_player_privs
(
player_name
).
server
)
end
local
function
get_exchange_shop_formspec
(
number
,
pos
,
title
)
local
formspec
=
""
local
name
=
"nodemeta:"
..
pos
.
x
..
","
..
pos
.
y
..
","
..
pos
.
z
...
...
@@ -94,6 +89,7 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields)
local
pos
=
exchange_shop
[
player_name
]
local
meta
=
minetest
.
get_meta
(
pos
)
local
title
=
meta
:
get_string
(
"title"
)
or
""
local
shop_owner
=
meta
:
get_string
(
"owner"
)
if
(
fields
.
exchange
)
then
local
player_inv
=
sender
:
get_inventory
()
...
...
@@ -209,11 +205,11 @@ minetest.register_on_player_receive_fields(function(sender, formname, fields)
if
(
err_msg
~=
""
)
then
minetest
.
chat_send_player
(
player_name
,
"Exchange shop: "
..
err_msg
)
end
elseif
(
fields
.
vstock
and
has_ex
change_
shop_privilege
(
meta
,
sender
)
and
not
fields
.
quit
)
then
elseif
(
fields
.
vstock
and
bit
change_
has_access
(
shop_owner
,
player_name
)
and
not
fields
.
quit
)
then
minetest
.
show_formspec
(
sender
:
get_player_name
(),
"bitchange:shop_formspec"
,
get_exchange_shop_formspec
(
3
,
pos
,
title
))
elseif
(
fields
.
vcustm
and
has_ex
change_
shop_privilege
(
meta
,
sender
)
and
not
fields
.
quit
)
then
elseif
(
fields
.
vcustm
and
bit
change_
has_access
(
shop_owner
,
player_name
)
and
not
fields
.
quit
)
then
minetest
.
show_formspec
(
sender
:
get_player_name
(),
"bitchange:shop_formspec"
,
get_exchange_shop_formspec
(
2
,
pos
,
title
))
elseif
(
fields
.
quit
and
has_ex
change_
shop_privilege
(
meta
,
sender
))
then
elseif
(
fields
.
quit
and
bit
change_
has_access
(
shop_owner
,
player_name
))
then
if
(
fields
.
title
and
title
~=
fields
.
title
)
then
if
(
fields
.
title
~=
""
)
then
meta
:
set_string
(
"infotext"
,
"Exchange shop \""..fields.title.."
\
" (owned by "
..
...
...
@@ -284,21 +280,21 @@ minetest.register_node("bitchange:shop", {
end
,
allow_metadata_inventory_move
=
function
(
pos
,
from_list
,
from_index
,
to_list
,
to_index
,
count
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
not
has_exchan
ge_s
hop_privilege
(
meta
,
player
))
then
if
(
not
bitchange_has_access
(
meta
:
ge
t
_s
tring
(
"owner"
),
player
:
get_player_name
()
))
then
return
0
end
return
count
end
,
allow_metadata_inventory_put
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
has_exchan
ge_s
hop_privilege
(
meta
,
player
)
and
(
listname
~=
"cust_ej"
)
and
(
listname
~=
"custm_ej"
))
then
if
(
bitchange_has_access
(
meta
:
ge
t
_s
tring
(
"owner"
),
player
:
get_player_name
()
)
and
(
listname
~=
"cust_ej"
)
and
(
listname
~=
"custm_ej"
))
then
return
stack
:
get_count
()
end
return
0
end
,
allow_metadata_inventory_take
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
has_exchan
ge_s
hop_privilege
(
meta
,
player
)
or
(
listname
==
"cust_ej"
))
then
if
(
bitchange_has_access
(
meta
:
ge
t
_s
tring
(
"owner"
),
player
:
get_player_name
()
)
or
(
listname
==
"cust_ej"
))
then
return
stack
:
get_count
()
end
return
0
...
...
textures/bitchange_toolrepair_bottom.png
0 → 100644
View file @
1a68fcbd
1.77 KB
textures/bitchange_toolrepair_side.png
0 → 100644
View file @
1a68fcbd
980 Bytes
textures/bitchange_toolrepair_top.png
0 → 100644
View file @
1a68fcbd
928 Bytes
toolrepair.lua
0 → 100644
View file @
1a68fcbd
--Created by Krock for the BitChange mod
--License: WTFPL
local
function
set_infotext
(
meta
,
mode
)
if
(
mode
==
meta
:
get_int
(
"state"
))
then
return
end
local
owner
=
meta
:
get_string
(
"owner"
)
local
text
=
"Tool Repair "
local
text2
=
"[Inactive]"
if
(
mode
==
0
)
then
text
=
text
..
"(constructing)"
elseif
(
mode
==
1
)
then
text2
=
"Inactive"
elseif
(
mode
==
2
)
then
text2
=
"Active"
end
if
(
mode
~=
0
)
then
text
=
text
..
"["
..
text2
..
"] (owned by "
..
owner
..
")"
end
meta
:
set_int
(
"state"
,
mode
)
meta
:
set_string
(
"infotext"
,
text
)
local
formspec
=
"size[8,9]"
..
"list[current_name;src;3.5,1;1,1;]"
..
"label[3.4,2;\\["
..
text2
..
"
\\
]]"
..
"list[current_name;fuel;3.5,3;1,1;]"
..
"list[current_player;main;0,5;8,4;]"
meta
:
set_string
(
"formspec"
,
formspec
)
end
minetest
.
register_node
(
"bitchange:toolrepair"
,
{
description
=
"Tool Repair"
,
tiles
=
{
"bitchange_toolrepair_top.png"
,
"bitchange_toolrepair_bottom.png"
,
"bitchange_toolrepair_side.png"
,
"bitchange_toolrepair_side.png"
,
"bitchange_toolrepair_side.png"
,
"bitchange_toolrepair_side.png"
},
groups
=
{
cracky
=
1
},
sounds
=
default
.
node_sound_stone_defaults
(),
after_place_node
=
function
(
pos
,
placer
,
itemstack
)
local
meta
=
minetest
.
get_meta
(
pos
)
meta
:
set_string
(
"owner"
,
placer
:
get_player_name
())
meta
:
set_int
(
"state"
,
0
)
set_infotext
(
meta
,
1
)
end
,
on_construct
=
function
(
pos
)
local
meta
=
minetest
.
get_meta
(
pos
)
meta
:
set_string
(
"owner"
,
""
)
set_infotext
(
meta
,
0
)
local
inv
=
meta
:
get_inventory
()
inv
:
set_size
(
"src"
,
1
)
inv
:
set_size
(
"fuel"
,
1
)
end
,
allow_metadata_inventory_move
=
function
(
pos
,
from_list
,
from_index
,
to_list
,
to_index
,
count
,
player
)
return
0
end
,
allow_metadata_inventory_put
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
player
:
get_player_name
()
~=
meta
:
get_string
(
"owner"
))
then
return
0
end
if
(
listname
==
"src"
)
then
if
(
stack
:
get_wear
()
>
0
and
stack
:
get_wear
()
<
65535
and
stack
:
get_name
()
~=
"technic:water_can"
and
stack
:
get_name
()
~=
"technic:lava_can"
)
then
return
1
end
elseif
(
listname
==
"fuel"
)
then
if
(
stack
:
get_name
()
==
"bitchange:minecoin"
)
then
return
stack
:
get_count
()
end
end
return
0
end
,
allow_metadata_inventory_take
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()))
then
return
stack
:
get_count
()
end
return
0
end
,
can_dig
=
function
(
pos
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
local
inv
=
meta
:
get_inventory
()
if
(
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
()))
then
return
inv
:
is_empty
(
"src"
)
and
inv
:
is_empty
(
"fuel"
)
end
return
0
end
})
minetest
.
register_craft
({
output
=
'bitchange:toolrepair'
,
recipe
=
{
{
'default:steel_ingot'
,
'default:stick'
,
'default:steel_ingot'
},
{
'default:jungletree'
,
'default:mese_crystal'
,
'default:jungletree'
},
{
'default:jungletree'
,
'bitchange:minecoinblock'
,
'default:jungletree'
}
}
})
minetest
.
register_abm
({
nodenames
=
{
"bitchange:toolrepair"
},
interval
=
8
,
chance
=
1
,
action
=
function
(
pos
,
node
,
active_object_count
,
active_object_count_wider
)
local
meta
=
minetest
.
get_meta
(
pos
)
local
inv
=
meta
:
get_inventory
()
local
src
=
inv
:
get_stack
(
"src"
,
1
)
local
wear
=
src
:
get_wear
()
if
(
src
:
is_empty
()
or
wear
==
0
or
wear
==
65535
or
src
:
get_name
()
==
"technic:water_can"
or
src
:
get_name
()
==
"technic:lava_can"
)
then
set_infotext
(
meta
,
1
)
return
end
local
fuel
=
inv
:
get_stack
(
"fuel"
,
1
)
if
(
fuel
:
is_empty
()
or
fuel
:
get_name
()
~=
"bitchange:minecoin"
)
then
set_infotext
(
meta
,
1
)
return
end
if
(
wear
-
2000
<
0
)
then
src
:
add_wear
(
-
2000
+
wear
)
else
src
:
add_wear
(
-
2000
)
end
inv
:
set_stack
(
"src"
,
1
,
src
)
set_infotext
(
meta
,
2
)
inv
:
remove_item
(
"fuel"
,
"bitchange:minecoin 1"
)
end
})
\ No newline at end of file
version.txt
View file @
1a68fcbd
======>- Version 1.6.8 -<======
- tool repair node
- privilege: bitchange
- more cleanups
======>- Version 1.6.7 -<======
- cleanups, adjustments
======>- Version 1.6.6 -<======
- default config 'config.default.txt'
- generation adjustments (coins are alot cheaper now)
...
...
warehouse.lua
View file @
1a68fcbd
...
...
@@ -2,10 +2,6 @@
-- Something like a chest...experimental, have fun!
--License: WTFPL
function
has_locked_chest_privilege
(
meta
,
player
)
return
(
player
:
get_player_name
()
==
meta
:
get_string
(
"owner"
))
end
function
get_warehouse_tube_config
(
mode
)
if
(
bitchange_warehouse_pipeworks
)
then
if
(
mode
==
1
)
then
...
...
@@ -94,21 +90,21 @@ minetest.register_node("bitchange:warehouse", {
end
,
allow_metadata_inventory_move
=
function
(
pos
,
from_list
,
from_index
,
to_list
,
to_index
,
count
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
not
has_locked_chest_privilege
(
meta
,
player
)
then
if
(
not
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
())
)
then
return
0
end
return
count
end
,
allow_metadata_inventory_put
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
not
has_locked_chest_privilege
(
meta
,
player
)
then
if
(
not
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
())
)
then
return
0
end
return
stack
:
get_count
()
end
,
allow_metadata_inventory_take
=
function
(
pos
,
listname
,
index
,
stack
,
player
)
local
meta
=
minetest
.
get_meta
(
pos
)
if
not
has_locked_chest_privilege
(
meta
,
player
)
then
if
(
not
bitchange_has_access
(
meta
:
get_string
(
"owner"
),
player
:
get_player_name
())
)
then
return
0
end
return
stack
:
get_count
()
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment