Skip to content

Commit aac8d5d

Browse files
committed
Added IF_WITHIN_RANGE and IF_NOT_WITHIN_RANGE
1 parent c353a44 commit aac8d5d

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

src/main/java/io/github/techstreet/dfscript/script/action/ScriptActionType.java

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,46 @@ public enum ScriptActionType {
394394
}
395395
})),
396396

397+
IF_WITHIN_RANGE(builder -> builder.name("If Number Within Range")
398+
.description("Checks if a number is between\n2 different numbers (inclusive).")
399+
.icon(Items.CHEST)
400+
.category(ScriptActionCategory.NUMBERS)
401+
.arg("Value", ScriptActionArgumentType.NUMBER)
402+
.arg("Minimum", ScriptActionArgumentType.NUMBER)
403+
.arg("Maximum", ScriptActionArgumentType.NUMBER)
404+
.hasChildren(true)
405+
.group(ScriptGroup.CONDITION)
406+
.action(ctx -> {
407+
double value = ctx.value("Value").asNumber();
408+
409+
if (value >= ctx.value("Minimum").asNumber()) {
410+
if (value <= ctx.value("Maximum").asNumber()) {
411+
ctx.setLastIfResult(true);
412+
}
413+
}
414+
})),
415+
416+
IF_NOT_WITHIN_RANGE(builder -> builder.name("If Number Not Within Range")
417+
.description("Checks if a number isn't between\n2 different numbers (inclusive).")
418+
.icon(Items.TRAPPED_CHEST)
419+
.category(ScriptActionCategory.NUMBERS)
420+
.arg("Value", ScriptActionArgumentType.NUMBER)
421+
.arg("Minimum", ScriptActionArgumentType.NUMBER)
422+
.arg("Maximum", ScriptActionArgumentType.NUMBER)
423+
.hasChildren(true)
424+
.group(ScriptGroup.CONDITION)
425+
.action(ctx -> {
426+
double value = ctx.value("Value").asNumber();
427+
428+
if (value >= ctx.value("Minimum").asNumber()) {
429+
if (value <= ctx.value("Maximum").asNumber()) {
430+
return;
431+
}
432+
}
433+
434+
ctx.setLastIfResult(true);
435+
})),
436+
397437
CANCEL_EVENT(builder -> builder.name("Cancel Event")
398438
.description("Cancels the event.")
399439
.icon(Items.BARRIER)

0 commit comments

Comments
 (0)