aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author alemi <me@alemi.dev>2024-02-14 20:30:53 +0100
committer alemi <me@alemi.dev>2024-02-14 20:30:53 +0100
commit5adc5da6cd02e5ee9a60d7a77b80019ffbbb6e92 (patch)
treea742130d67aa220893c1ce782fe41b0f03c97986
parentf1b284235745b2aeb1bb2890c2b5d2153bfe06ef (diff)
feat: block and item id search
-rw-r--r--src/main/java/ftbsc/bscv/commands/BlockSearch.java15
-rw-r--r--src/main/java/ftbsc/bscv/commands/ItemCommand.java14
2 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/ftbsc/bscv/commands/BlockSearch.java b/src/main/java/ftbsc/bscv/commands/BlockSearch.java
index dd5f663..17d1fb0 100644
--- a/src/main/java/ftbsc/bscv/commands/BlockSearch.java
+++ b/src/main/java/ftbsc/bscv/commands/BlockSearch.java
@@ -9,6 +9,8 @@ import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.command.CommandSource;
import net.minecraft.command.Commands;
+import net.minecraft.command.arguments.BlockStateArgument;
+import net.minecraft.command.arguments.BlockStateInput;
import static ftbsc.bscv.Boscovicino.log;
@@ -48,6 +50,19 @@ public class BlockSearch extends AbstractCommand {
)
)
)
+ .then(
+ Commands.literal("id")
+ .then(
+ Commands.argument("name", BlockStateArgument.block())
+ .executes( ctx -> {
+ BlockStateInput arg = ctx.getArgument("name", BlockStateInput.class);
+ BlockState state = arg.getState();
+ int block_id = Block.getId(state);
+ log("block #[%d:%d] >> %s", block_id >> 4, block_id & 0xF, state.toString());
+ return 1;
+ })
+ )
+ )
.executes(ctx -> {
log("no block specified");
return 0;
diff --git a/src/main/java/ftbsc/bscv/commands/ItemCommand.java b/src/main/java/ftbsc/bscv/commands/ItemCommand.java
index e1e1b80..c380609 100644
--- a/src/main/java/ftbsc/bscv/commands/ItemCommand.java
+++ b/src/main/java/ftbsc/bscv/commands/ItemCommand.java
@@ -8,6 +8,8 @@ import ftbsc.bscv.api.ILoadable;
import ftbsc.bscv.tools.Inventory;
import net.minecraft.command.CommandSource;
import net.minecraft.command.Commands;
+import net.minecraft.command.arguments.ItemArgument;
+import net.minecraft.command.arguments.ItemInput;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.Item;
@@ -48,6 +50,18 @@ public class ItemCommand extends AbstractCommand {
})
)
)
+ .then(
+ Commands.literal("id")
+ .then(
+ Commands.argument("name", ItemArgument.item())
+ .executes( ctx -> {
+ ItemInput arg = ctx.getArgument("name", ItemInput.class);
+ Item item = arg.getItem();
+ log("item #[%d] >> %s", Item.getId(item), item.toString());
+ return 1;
+ })
+ )
+ )
.executes(ctx -> {
Slot slot = Inventory.hotbar(MC.player).get(MC.player.inventory.selected);
if (!slot.hasItem()) return 0;