X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FCommands.java;h=8f617134a4d38b36b46ac40c8d7d9dfe51f8c2c6;hb=e147b561b263ad878201f68ba0f76b9a1d76c59c;hp=9a2be3bdfdab2cf75f3ec086ad97868f4c9f25d7;hpb=fe55a0449c2f5d434357c481890d909fffd30b3a;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Commands.java b/src/kaka/cakelight/Commands.java index 9a2be3b..8f61713 100644 --- a/src/kaka/cakelight/Commands.java +++ b/src/kaka/cakelight/Commands.java @@ -3,6 +3,7 @@ package kaka.cakelight; import kaka.cakelight.mode.*; import java.util.function.BiFunction; +import java.util.stream.Stream; class Commands { private static Console.Command command(String[] names, BiFunction activate) { @@ -154,13 +155,26 @@ class Commands { }); } - static Console.Command twoColorNoiseMode() { + static Console.Command noiseMode() { return modeCommand(new String[] {"n", "noise"}, (console, args) -> { - if (args.length == 2) { - console.out("setting two-color noise mode"); - return new TwoColorNoiseMode( - console.parseColor(args[0]), - console.parseColor(args[1]) + if (args.length > 1) { + console.out("setting multi-color noise mode"); + return new NoiseMode(Stream.of(args) + .map(console::parseColor) + .toArray(Color[]::new) + ); + } + return null; + }); + } + + static Console.Command fireMode() { + return modeCommand(new String[] {"f", "fire"}, (console, args) -> { + if (args.length > 1) { + console.out("setting multi-color fire mode"); + return new FireMode(Stream.of(args) + .map(console::parseColor) + .toArray(Color[]::new) ); } return null;