Compare commits

...

24 Commits

Author SHA1 Message Date
62c0bbb3fd Remove entity selector
All checks were successful
Deploy datapack to dev / Build (push) Successful in 6s
2025-03-12 02:23:30 -05:00
da5d6858e8 Configure shardblade item replacement
All checks were successful
Deploy datapack to dev / Build (push) Successful in 7s
2025-03-12 02:20:48 -05:00
995af4eea5 Put NBT info behind debugger 2025-03-12 01:52:57 -05:00
a5472065a7 Change type from player to entity
All checks were successful
Deploy datapack to dev / Build (push) Successful in 7s
2025-03-12 01:48:05 -05:00
d6fbcbf03c Change patter to include all dev branches
All checks were successful
Deploy datapack to dev / Build (push) Successful in 6s
2025-03-12 01:34:07 -05:00
2497087360 Add magic.shardblade module 2025-03-12 01:23:34 -05:00
cd81fbb70a Improve control of imports
`import` is really just an alias for copy/paste. Ensure import order
reflects intended execution order.
2025-03-12 01:22:16 -05:00
1681ea71bb Add props.jmc
Define reusable, dynamic text props. These must be defined in the load
function and can be accessed globally, hence the added module.
2025-03-12 01:20:11 -05:00
6cb4b30b2d Merge pull request 'Create general purpose logging module' (#4) from dev-logging into dev
All checks were successful
Deploy datapack to dev / Build (push) Successful in 8s
Reviewed-on: #4
2025-03-11 20:31:37 -05:00
b6e1d224e5 Fix debug logging messages 2025-03-11 19:55:30 -05:00
9117c84653 Enable debug logging to bypass log level 2025-03-11 19:55:30 -05:00
7bfa12b539 Turn line into macro command 2025-03-11 19:55:30 -05:00
d30418d57a Fix log level message to display current log level 2025-03-11 19:55:30 -05:00
accd746389 Change logger type check to use temp var 2025-03-11 19:55:30 -05:00
cf55f238ff Add logger error for invalid type paramater 2025-03-11 19:55:30 -05:00
68d4b8c25d Add log level threshold
Set default log level to 3, or ERROR. Ensure log level isn't overriden
on reload. Add errors if log level is misconfigured.
2025-03-11 19:55:30 -05:00
686592df33 Add double-quotes back to log messages
Double-quotes were initially removed for aesthetic reasons. However, JMC
collapses whitespace, resulting in mangled message output. Double quotes
are converted to single quotes in compliled output.
2025-03-11 19:55:30 -05:00
28d85c4e02 Remove double-quotes from log messages 2025-03-11 19:55:30 -05:00
5468fa9605 Add "caller" paramteter to logger 2025-03-11 19:55:30 -05:00
daa70062f6 Show status after toggling logger 2025-03-11 19:55:30 -05:00
f4d444635b Revert logger status from printf to say 2025-03-11 19:55:30 -05:00
58ef0a251e Add logger status function 2025-03-11 19:55:30 -05:00
3b6990be85 Rename logger toggle function 2025-03-11 19:55:30 -05:00
3ff1bded99 Create logging module 2025-03-11 19:55:30 -05:00
5 changed files with 120 additions and 2 deletions

View File

@ -1,7 +1,7 @@
name: Deploy datapack to dev name: Deploy datapack to dev
on: on:
push: push:
branches: [dev, dev-player-messages, dev-database] branches: [dev*]
jobs: jobs:
build: build:
name: Build name: Build

View File

@ -1,3 +1,6 @@
import "src/*"; import "src/props.jmc";
import "src/logger.jmc";
import "src/commands.jmc";
import "src/magic/*";
function __tick__() {} function __tick__() {}

90
src/logger.jmc Normal file
View File

@ -0,0 +1,90 @@
@lazy
function logger(type, caller, message) {
$tmp_logger = false;
$tmp_type = $type;
if ($temp_type > 6 || $temp_type < 1) {
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; }
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;
}
}
class logger {
@add(__load__)
function __init__() {
if (!$log_level) {
$log_level = 3;
} else if ($log_level > 5) {
say "The log level was too high. Resetting to default value.";
$log_level = 3;
}
execute run {
$say "The log level is set to $(0).";
} with [$log_level];
if (!$logger) {
$logger = false;
} else if ($logger) {
say "Debug logging is enabled. You should now see a test log message:";
logger(2, logger, "This is a test. Logging appears to be working as expected!");
} else {
say "This is not a log message. There appears to be something wrong with the logger. It has not been detected as `!true` or `true`. Please investigate.";
}
}
function toggle() {
switch($logger) {
case 0:
$logger = true;
this.status();
case 1:
$logger = false;
this.status();
}
}
function status() {
switch($logger) {
case 0:
say "Debug logging is disabled";
case 1:
say "Debug logging is enabled";
}
}
function test_fatal() {
logger(5, logger, "This is a test");
}
function test_error() {
logger(4, logger, "This is a test");
}
function test_warning() {
logger(3, logger, "This is a test");
}
function test_info() {
logger(2, logger, "This is a test");
}
function test_debug() {
logger(1, logger, "This is a test");
}
}

13
src/magic/shardblade.jmc Normal file
View File

@ -0,0 +1,13 @@
class magic.shardblade {
function give() {
::temp.magic.shardblade = @s::SelectedItem;
if ($logger) {
printf("&<yellow,SelectedItem>");
}
Item.replaceEntity(
shardblade_wind_runner,
@s,
"weapon"
);
}
}

12
src/props.jmc Normal file
View File

@ -0,0 +1,12 @@
TextProp.nbt(
propertyName = "SelectedItem",
type = entity,
source = "@s",
path = SelectedItem
);
Item.create(
shardblade_wind_runner,
netherite_sword,
"&<blue>Blade of Honor",
["&<gold>wind runner"]
);