fix issue 109 award "WELL LIT" #1

Closed
crabman77 wants to merge 0 commits from crabman77/awards:fix_torch into master
Member

issue nalc/nalc-server-mods#109
Le nom des torches change si placée sur mur et plafond(default:torch_wall, default:torch_ceiling) et awards ne prend pas de regex mais un seul nom donc il ne detect pas.

Il se peut qu'il y ai d'autre nodes qui ont le même souci, mais à part revoir l'api pour essayer de faire une regex ou implementer des alias de rewards, ou faire un peut comme openfarming, ça serait compliqué et usine à gaz.

Le plus simple serait des alias, si il fallait revoir l'api.
du genre:

avec un nouvelle table qui contiendrait tout les alias avec le nom de l'item enregistré dans l'award

award.alias = {}
function award.register_alias(name, alias)
 	for alname in pairs(alias) do -- pas sur du code là
 		award.alias[alname] = name
 	end		
end

et dans l'enregistrement de l'award ajouter:

awards.register_alias("default:torch", {"default:torch_wall, default:torch_ceiling})

et modifier le triggers pour prendre en compte les alias(là ou j'ai fix), et faire ça pour tout les triggers.

if awards.alias[node_name]
	awards.notify_place(player, award.alias[node_name])
end

EDIT:
la table ne serait pas tout a fait comme ça car il faudrait définir le trigger ("on_place", "on_dig", etc) donc se serait du genre award.alias[triggers][node_name]

issue https://sys4.fr/gitea/nalc/nalc-server-mods/issues/109 Le nom des torches change si placée sur mur et plafond(default:torch_wall, default:torch_ceiling) et awards ne prend pas de regex mais un seul nom donc il ne detect pas. Il se peut qu'il y ai d'autre nodes qui ont le même souci, mais à part revoir l'api pour essayer de faire une regex ou implementer des alias de rewards, ou faire un peut comme openfarming, ça serait compliqué et usine à gaz. Le plus simple serait des alias, si il fallait revoir l'api. du genre: avec un nouvelle table qui contiendrait tout les alias avec le nom de l'item enregistré dans l'award ``` award.alias = {} function award.register_alias(name, alias) for alname in pairs(alias) do -- pas sur du code là award.alias[alname] = name end end ``` et dans l'enregistrement de l'award ajouter: ``` awards.register_alias("default:torch", {"default:torch_wall, default:torch_ceiling}) ``` et modifier le triggers pour prendre en compte les alias(là ou j'ai fix), et faire ça pour tout les triggers. ``` if awards.alias[node_name] awards.notify_place(player, award.alias[node_name]) end ``` EDIT: la table ne serait pas tout a fait comme ça car il faudrait définir le trigger ("on_place", "on_dig", etc) donc se serait du genre award.alias[triggers][node_name]
crabman77 added 1 commit 2022-07-05 16:24:36 +02:00
c6151abbe9 fix issue nalc/nalc-server-mods#109
Torch name change if placed on wall/ceiling and break torch awards
Owner

Fusionné.

Fusionné.
sys4 closed this pull request 2022-07-09 17:14:15 +02:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: nalc/awards#1
No description provided.