started making list ops, about to come up with new patterns for things
This commit is contained in:
parent
24dcfb414b
commit
e67c61a23e
3 changed files with 46 additions and 1 deletions
|
@ -22,4 +22,12 @@ public interface Arithmetic {
|
|||
HexPattern MOD = HexPattern.fromAngles("addwaad", HexDir.NORTH_EAST);
|
||||
HexPattern PACK = HexPattern.fromAngles("eqqqqq", HexDir.EAST);
|
||||
HexPattern UNPACK = HexPattern.fromAngles("qeeeee", HexDir.EAST);
|
||||
|
||||
// Lists
|
||||
HexPattern INDEX = HexPattern.fromAngles("deeed", HexDir.NORTH_WEST);
|
||||
HexPattern SLICE = HexPattern.fromAngles("qaeaqwded", HexDir.NORTH_WEST);
|
||||
HexPattern REV = HexPattern.fromAngles("qqqaede", HexDir.EAST);
|
||||
HexPattern INDEX_OF = HexPattern.fromAngles("dedqde", HexDir.EAST);
|
||||
HexPattern REMOVE = HexPattern.fromAngles("edqdewaqa", HexDir.SOUTH_WEST);
|
||||
HexPattern REPLACE = HexPattern.fromAngles("wqaeaqw", HexDir.NORTH_WEST);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
package at.petrak.hexcasting.api.casting.arithmetic.impls;
|
||||
|
||||
import at.petrak.hexcasting.api.casting.arithmetic.Arithmetic;
|
||||
import at.petrak.hexcasting.api.casting.arithmetic.operator.Operator;
|
||||
import at.petrak.hexcasting.api.casting.math.HexPattern;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public enum ListArithmetic implements Arithmetic {
|
||||
INSTANCE;
|
||||
|
||||
public static final List<HexPattern> OPS = List.of(
|
||||
INDEX,
|
||||
SLICE,
|
||||
ADD,
|
||||
ABS,
|
||||
REV,
|
||||
INDEX_OF,
|
||||
REMOVE,
|
||||
REPLACE
|
||||
);
|
||||
|
||||
@Override
|
||||
public String arithName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<HexPattern> opTypes() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Operator getOperator(HexPattern pattern) {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -41,7 +41,7 @@ public class OperatorVec3Delegating extends Operator {
|
|||
fb.apply(new IterPair<>(new DoubleIota(lh.x()), new DoubleIota(rh.x()))),
|
||||
fb.apply(new IterPair<>(new DoubleIota(lh.y()), new DoubleIota(rh.y()))),
|
||||
fb.apply(new IterPair<>(new DoubleIota(lh.z()), new DoubleIota(rh.z()))),
|
||||
(x, y, z) -> new Vec3Iota(new Vec3(downcast(x, DOUBLE).getDouble(), downcast(y, DOUBLE).getDouble(), downcast(y, DOUBLE).getDouble()))
|
||||
(x, y, z) -> new Vec3Iota(new Vec3(downcast(x, DOUBLE).getDouble(), downcast(y, DOUBLE).getDouble(), downcast(z, DOUBLE).getDouble()))
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue