summaryrefslogtreecommitdiff
path: root/dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java
diff options
context:
space:
mode:
authorBen Culkin <scorpress@gmail.com>2020-10-06 19:14:55 -0400
committerBen Culkin <scorpress@gmail.com>2020-10-06 19:14:55 -0400
commita166818ea312c83489d9397165bd16aa61fe5438 (patch)
tree8dc4741b987e45611d3929db91a4fe1ab7ad01a5 /dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java
parent5a26fb2c0d899b1c80fabb39366a7b7db4d8ca41 (diff)
Info cleanup
Diffstat (limited to 'dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java')
-rw-r--r--dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java b/dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java
index d6d5dd0..c0131f1 100644
--- a/dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java
+++ b/dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java
@@ -2,11 +2,29 @@ package bjc.dicelang.dicev2;
import java.util.function.LongUnaryOperator;
+/**
+ * Die pool which executes a mapping on the result.
+ *
+ * @author Ben Culkin
+ *
+ */
public class MapDieMod extends Die {
+ /**
+ * The die pool.
+ */
public final Die die;
+ /**
+ * The operator on the result.
+ */
public final LongUnaryOperator map;
+ /**
+ * Create a new mapping die pool.
+ *
+ * @param map The operation to do on the result.
+ * @param die The die pool.
+ */
public MapDieMod(LongUnaryOperator map, Die die) {
super();
@@ -14,6 +32,7 @@ public class MapDieMod extends Die {
this.map = map;
}
+ @Override
public long[] roll() {
long[] res = die.roll();
@@ -24,15 +43,18 @@ public class MapDieMod extends Die {
return res;
}
+ @Override
public long rollSingle() {
return map.applyAsLong(die.rollSingle());
}
/* :UnoptimizableDice */
+ @Override
public boolean canOptimize() {
return false;
}
+ @Override
public long optimize() {
throw new UnsupportedOperationException("Mapped dice can't be optimized");
}