Allow logging to take storages as message inputs
All checks were successful
Deploy datapack to dev / Build (push) Successful in 7s

Message inputs with a leading "::" will be parsed as storages.

All other message inputs will be parsed as strings.
This commit is contained in:
themodernhakr 2025-03-28 12:54:05 -05:00
parent 31f616e110
commit 915988215d

View File

@ -1,3 +1,43 @@
@lazy
function messagePrinter(name, caller, message) {
::tmp.string = $message;
::tmp.sub = ::tmp.string[0:1];
if (String.isEqual("ferdinland:ferdinland", "tmp.sub", "::")) {
::temp.message = ::tmp.string[2:];
execute run {
switch($tmp_logger) {
case 5:
say "FATAL: ($caller) $(message)";
case 4:
say "ERROR: ($caller) $(message)";
case 3:
say "WARNING: ($caller) $(message)";
case 2:
say "INFO: ($caller) $(message)";
case 1:
say "DEBUG: ($caller) $(message)";
default:
return 0;
}
} with ::temp;
} else {
switch($tmp_logger) {
case 5:
say "FATAL: ($caller) $message";
case 4:
say "ERROR: ($caller) $message";
case 3:
say "WARNING: ($caller) $message";
case 2:
say "INFO: ($caller) $message";
case 1:
say "DEBUG: ($caller) $message";
default:
return 0;
}
}
}
@lazy @lazy
function logger(type, caller, message, body) { function logger(type, caller, message, body) {
$tmp_logger = false; $tmp_logger = false;
@ -6,25 +46,17 @@ function logger(type, caller, message, body) {
say "The log type requested does not exist. Please find the caller ($caller) and resolve this issue."; say "The log type requested does not exist. Please find the caller ($caller) and resolve this issue.";
} }
if ($temp_type >= $log_level || $logger) { $tmp_logger = $type; } if ($temp_type >= $log_level || $logger) { $tmp_logger = $type; }
switch($tmp_logger) {
case 5: if (!$tmp_logger) {
say "FATAL: ($caller) $message";
case 4:
say "ERROR: ($caller) $message";
case 3:
say "WARNING: ($caller) $message";
case 2:
say "INFO: ($caller) $message";
case 1:
say "DEBUG: ($caller) $message";
default:
return 0;
}
$isBody = $body;
if ($isBody) {
return; return;
} else {
messagePrinter($type, $caller, $message);
$isBody = $body;
if ($isBody) {
tellraw @a $body;
}
} }
tellraw @a $body;
} }
class logger { class logger {