Added metadata-ignoring fuzzy option to robot.compare.

This commit is contained in:
Vexatos 2016-12-11 13:15:10 +01:00
parent 1d5c69924f
commit db0a67eca5
2 changed files with 8 additions and 8 deletions

View File

@ -72,16 +72,16 @@ end
-------------------------------------------------------------------------------
-- Inventory + World
function robot.compare()
return component.robot.compare(sides.front)
function robot.compare(fuzzy)
return component.robot.compare(sides.front, fuzzy)
end
function robot.compareUp()
return component.robot.compare(sides.up)
function robot.compareUp(fuzzy)
return component.robot.compare(sides.up, fuzzy)
end
function robot.compareDown()
return component.robot.compare(sides.down)
function robot.compareDown(fuzzy)
return component.robot.compare(sides.down, fuzzy)
end
function robot.drop(count)

View File

@ -13,7 +13,7 @@ import net.minecraft.item.ItemBlock
import net.minecraftforge.common.util.ForgeDirection
trait InventoryWorldControl extends InventoryAware with WorldAware with SideRestricted {
@Callback(doc = "function(side:number):boolean -- Compare the block on the specified side with the one in the selected slot. Returns true if equal.")
@Callback(doc = "function(side:number[, fuzzy:boolean=false]):boolean -- Compare the block on the specified side with the one in the selected slot. Returns true if equal.")
def compare(context: Context, args: Arguments): Array[AnyRef] = {
val side = checkSideForAction(args, 0)
stackInSlot(selectedSlot) match {
@ -21,7 +21,7 @@ trait InventoryWorldControl extends InventoryAware with WorldAware with SideRest
case Some(item: ItemBlock) =>
val blockPos = position.offset(side)
val idMatches = item.field_150939_a == world.getBlock(blockPos)
val subTypeMatches = !item.getHasSubtypes || item.getMetadata(stack.getItemDamage) == world.getBlockMetadata(blockPos)
val subTypeMatches = args.optBoolean(1, false) || !item.getHasSubtypes || item.getMetadata(stack.getItemDamage) == world.getBlockMetadata(blockPos)
return result(idMatches && subTypeMatches)
case _ =>
}