5 Commits

Author SHA1 Message Date
9c385319cb Corrige la compatibilité avec le mod locks
et améliore l'affichage du formulaire des autres panneaux.
2019-12-28 21:26:30 +01:00
c38e63e3a2 Ajout message de chargement du mod dans le journal "action" 2018-12-24 02:29:28 +01:00
f180f7246d README.md edited online with Bitbucket 2016-09-27 09:07:02 +00:00
7d93f60b74 Using Screwdriver rotates the signs clockwise. Fix issue #2 2016-09-07 16:47:21 +02:00
4a3efd37e4 rotate Inventory image about 90 degree. fix issue #1 2016-09-06 12:51:10 +02:00
5 changed files with 74 additions and 13 deletions

13
README.md Normal file
View File

@ -0,0 +1,13 @@
# README #
This mod adds arrow signs (wood and steel) that can used for showing the goal of a road.
### Installation ###
Install it like each other mod for minetest.
See: http://wiki.minetest.net/Installing_Mods
### Craft rezieps ###
![craft_steel_sign.png](https://bitbucket.org/repo/65EL85/images/1707723039-craft_steel_sign.png)
![craft_wood_sign.png](https://bitbucket.org/repo/65EL85/images/1728731753-craft_wood_sign.png)

View File

@ -13,7 +13,7 @@
arrow_signs={}
arrow_signs.formspec = "field[text;Sign text: (Hint: Use / or | to create a new line);${text}]";
arrow_signs.formspec = "size[6,2]real_coordinates[true]field[0.375,0.5;5.25,0.8;text;Sign text: (Hit 'Enter' key to validate);${text}]label[0.375,1.5;(Hint: Use / or | to create a new line)]";
arrow_signs.on_place = function(itemstack, placer, pointed_thing)
@ -94,6 +94,50 @@ arrow_signs.on_place = function(itemstack, placer, pointed_thing)
return minetest.item_place_node(itemstack, placer, pointed_thing, param2)
end
local matrix = {
-- Mounted on Ground (-Y)
[10]=19,
[19]=4,
[4]=13,
[13]=10,
-- Mounted on Top (+Y)
[8]=17,
[17]=6,
[6]=15,
[15]=8,
-- Mounted at South (-Z)
[2]=18, -- down
[18]=22, -- left
[22]=14, -- up
[14]=2, -- right
-- Mounted at North (+Z)
[0]=12, -- down
[12]=20, -- left
[20]=16, -- up
[16]=0, -- right
-- Mounted at West (-X)
[3]=7, -- down
[7]=21, -- left
[21]=11, -- up
[11]=3, -- right
-- Mounted at East (+X)
[1]=9, -- down
[9]=23, -- left
[23]=5, -- up
[5]=1, -- right
}
arrow_signs.on_rotate = function(pos, node, player, mode, new_param2)
node.param2 = matrix[node.param2] or 0 --in case of error
minetest.swap_node(pos,node)
return true
end
arrow_signs.savetext = function(pos, formname, fields, sender)
if fields.text then
local playername = sender:get_player_name() or ""
@ -148,3 +192,5 @@ dofile(MODPATH.."/steel.lua")
if minetest.get_modpath("locks") then
dofile(MODPATH.."/shared_locked.lua")
end
minetest.log("action", "[arrow_signs] loaded.")

View File

@ -1,7 +1,7 @@
--[[
Shared Locked Arrow sign
Shared Locked Arrow sign
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
]]
minetest.register_node("arrow_signs:shared_locked", {
@ -10,7 +10,7 @@ minetest.register_node("arrow_signs:shared_locked", {
node_box = arrow_signs.nodebox,
selection_box = arrow_signs.selection_box,
tiles = {"arrow_signs_wood.png^arrow_signs_wood_border.png"},
inventory_image = "arrow_signs_wood.png",
inventory_image = "arrow_signs_wood.png^[transformR90",
wield_image = "arrow_signs_wood.png",
paramtype = "light",
paramtype2 = "facedir",
@ -24,7 +24,7 @@ minetest.register_node("arrow_signs:shared_locked", {
locks:lock_set_owner( pointed_thing.above, placer, "Shared locked sign");
return itemstack
end,
on_rotate = arrow_signs.on_rotate,
on_construct = function(pos)
local meta = minetest.get_meta(pos)
-- prepare the lock of the sign
@ -40,7 +40,7 @@ minetest.register_node("arrow_signs:shared_locked", {
end,
on_receive_fields = function(pos, formname, fields, sender)
if not locks:lock_handle_input(pos, formname, fields, sender) then
-- if the user already has the right to use this and did input text
if( fields.text
and ( not(fields.locks_sent_lock_command)
@ -62,7 +62,7 @@ minetest.register_node("arrow_signs:shared_locked", {
--a warning message is also printed by the locks mod
--arrow_signs.savetext( pos, formname, fields, sender );
end
end
end,
});

View File

@ -1,7 +1,7 @@
--[[
Steel Arrow Sign
Steel Arrow Sign
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
]]
@ -11,7 +11,7 @@ minetest.register_node("arrow_signs:steel", {
node_box = arrow_signs.nodebox,
selection_box = arrow_signs.selection_box,
tiles = {"arrow_signs_steel.png^arrow_signs_steel_border.png"},
inventory_image = "arrow_signs_steel.png",
inventory_image = "arrow_signs_steel.png^[transformR90",
wield_image = "arrow_signs_steel.png",
paramtype = "light",
paramtype2 = "facedir",
@ -20,6 +20,7 @@ minetest.register_node("arrow_signs:steel", {
groups = {cracky = 2},
sounds = default.node_sound_defaults(),
on_place = arrow_signs.on_place,
on_rotate = arrow_signs.on_rotate,
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", arrow_signs.formspec)

View File

@ -1,7 +1,7 @@
--[[
Wooden Arrow sign
Wooden Arrow sign
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
]]
@ -11,7 +11,7 @@ minetest.register_node("arrow_signs:wall", {
node_box = arrow_signs.nodebox,
selection_box = arrow_signs.selection_box,
tiles = {"arrow_signs_wood.png^arrow_signs_wood_border.png"},
inventory_image = "arrow_signs_wood.png",
inventory_image = "arrow_signs_wood.png^[transformR90",
wield_image = "arrow_signs_wood.png",
paramtype = "light",
paramtype2 = "facedir",
@ -20,6 +20,7 @@ minetest.register_node("arrow_signs:wall", {
groups = {choppy = 2, flammable = 2, oddly_breakable_by_hand = 3},
sounds = default.node_sound_defaults(),
on_place = arrow_signs.on_place,
on_rotate = arrow_signs.on_rotate,
on_construct = function(pos)
--local n = minetest.get_node(pos)
local meta = minetest.get_meta(pos)