From 352d9fc88b13cb822bca0930a2afb8d96cce3890 Mon Sep 17 00:00:00 2001 From: MrDave1999 Date: Wed, 15 Jul 2026 18:54:37 -0500 Subject: [PATCH] feat: make permission denied messages optional and configurable --- .../Options/PlayerCommandServiceOptions.cs | 15 +++++++++++++++ .../Player/DefaultPlayerCommandMessageService.cs | 6 ++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/SampSharp.OpenMp.Entities.Commands/Options/PlayerCommandServiceOptions.cs b/src/SampSharp.OpenMp.Entities.Commands/Options/PlayerCommandServiceOptions.cs index 41941880..307a0d19 100644 --- a/src/SampSharp.OpenMp.Entities.Commands/Options/PlayerCommandServiceOptions.cs +++ b/src/SampSharp.OpenMp.Entities.Commands/Options/PlayerCommandServiceOptions.cs @@ -10,4 +10,19 @@ public class PlayerCommandServiceOptions : CommandServiceOptions /// Defaults to . /// public Color UsageMessageColor { get; set; } = Color.White; + + /// + /// Gets or sets the color used when displaying permission denied messages. + /// Defaults to . + /// + public Color PermissionDeniedMessageColor { get; set; } = Color.White; + + /// + /// Gets or sets the message displayed when a player attempts to execute + /// a command without sufficient permissions. + /// If , no message is sent. + /// Defaults to "You do not have permission to use this command.". + /// + public string? PermissionDeniedMessage { get; set; } + = "You do not have permission to use this command."; } \ No newline at end of file diff --git a/src/SampSharp.OpenMp.Entities.Commands/Player/DefaultPlayerCommandMessageService.cs b/src/SampSharp.OpenMp.Entities.Commands/Player/DefaultPlayerCommandMessageService.cs index 43753e79..7744a0b9 100644 --- a/src/SampSharp.OpenMp.Entities.Commands/Player/DefaultPlayerCommandMessageService.cs +++ b/src/SampSharp.OpenMp.Entities.Commands/Player/DefaultPlayerCommandMessageService.cs @@ -94,8 +94,10 @@ public virtual bool SendPermissionDenied(Player player, CommandDefinition overlo ArgumentNullException.ThrowIfNull(player); ArgumentNullException.ThrowIfNull(overload); - const string message = "You do not have permission to use this command."; - player.SendClientMessage(message); + if (_options.PermissionDeniedMessage is null) + return true; + + player.SendClientMessage(_options.PermissionDeniedMessageColor, _options.PermissionDeniedMessage); return true; }