Skip to content

Commit f56f632

Browse files
committed
Allow using block tags where multiple blocks were allowed already
1 parent 78eb755 commit f56f632

2 files changed

Lines changed: 11 additions & 3 deletions

File tree

src/main/java/baritone/command/defaults/MineCommand.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121
import baritone.api.IBaritone;
2222
import baritone.api.command.Command;
2323
import baritone.api.command.argument.IArgConsumer;
24-
import baritone.api.command.datatypes.ForBlockOptionalMeta;
24+
import baritone.api.command.datatypes.ForBlockOptionalMetaLookup;
2525
import baritone.api.command.exception.CommandException;
26+
import baritone.api.command.exception.CommandInvalidStateException;
2627
import baritone.api.utils.BlockOptionalMeta;
2728

2829
import java.util.ArrayList;
@@ -42,7 +43,10 @@ public void execute(String label, IArgConsumer args) throws CommandException {
4243
args.requireMin(1);
4344
List<BlockOptionalMeta> boms = new ArrayList<>();
4445
while (args.hasAny()) {
45-
boms.add(args.getDatatypeFor(ForBlockOptionalMeta.INSTANCE));
46+
boms.addAll(args.getDatatypeFor(ForBlockOptionalMetaLookup.INSTANCE).blocks());
47+
}
48+
if (boms.size() == 0) {
49+
throw new CommandInvalidStateException("No target blocks specified");
4650
}
4751
BaritoneAPI.getProvider().getWorldScanner().repack(ctx);
4852
logDirect(String.format("Mining %s", boms.toString()));

src/main/java/baritone/command/defaults/SelCommand.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import baritone.api.command.argument.IArgConsumer;
2424
import baritone.api.command.datatypes.ForAxis;
2525
import baritone.api.command.datatypes.ForBlockOptionalMeta;
26+
import baritone.api.command.datatypes.ForBlockOptionalMetaLookup;
2627
import baritone.api.command.datatypes.ForDirection;
2728
import baritone.api.command.datatypes.RelativeBlockPos;
2829
import baritone.api.command.exception.CommandException;
@@ -133,9 +134,12 @@ public void execute(String label, IArgConsumer args) throws CommandException {
133134
List<BlockOptionalMeta> replacesList = new ArrayList<>();
134135
replacesList.add(type);
135136
while (args.has(2)) {
136-
replacesList.add(args.getDatatypeFor(ForBlockOptionalMeta.INSTANCE));
137+
replacesList.addAll(args.getDatatypeFor(ForBlockOptionalMetaLookup.INSTANCE).blocks());
137138
}
138139
type = args.getDatatypeFor(ForBlockOptionalMeta.INSTANCE);
140+
if (replacesList.size() == 0) {
141+
throw new CommandInvalidStateException("No target blocks specified");
142+
}
139143
replaces = new BlockOptionalMetaLookup(replacesList.toArray(new BlockOptionalMeta[0]));
140144
alignment = null;
141145
} else if (action == Action.CYLINDER || action == Action.HCYLINDER) {

0 commit comments

Comments
 (0)