Added a "hand" pseudo block type that uses the currently selected block.

This commit is contained in:
TomyLobo 2013-11-03 19:34:46 +01:00
parent 8319eb6d91
commit 768adee389

View File

@ -397,7 +397,17 @@ public class WorldEdit {
int data = -1; int data = -1;
boolean parseDataValue = true; boolean parseDataValue = true;
if ("hand".equalsIgnoreCase(testID)) {
// Get the block type from the item in the user's hand.
final BaseBlock blockInHand = player.getBlockInHand();
if (blockInHand.getClass() != BaseBlock.class) {
return blockInHand;
}
blockId = blockInHand.getId();
blockType = BlockType.fromID(blockId);
data = blockInHand.getData();
} else {
// Attempt to parse the item ID or otherwise resolve an item/block // Attempt to parse the item ID or otherwise resolve an item/block
// name to its numeric ID // name to its numeric ID
try { try {
@ -436,6 +446,7 @@ public class WorldEdit {
if (!player.getWorld().isValidBlockType(blockId)) { if (!player.getWorld().isValidBlockType(blockId)) {
throw new UnknownItemException(arg); throw new UnknownItemException(arg);
} }
}
if (!allowNoData && data == -1) { if (!allowNoData && data == -1) {
// No wildcards allowed => eliminate them. // No wildcards allowed => eliminate them.