use of net.minecraft.block.BlockPackedIce in project Cavern2 by kegare.
the class RecipeChargeIceEquipment method matches.
@Override
public boolean matches(InventoryCrafting crafting, World world) {
resultItem = ItemStack.EMPTY;
if (!(crafting.getStackInRowAndColumn(1, 1).getItem() instanceof IIceEquipment)) {
return false;
}
int ice = 0;
for (int row = 0; row < 3; ++row) {
for (int column = 0; column < 3; ++column) {
if (row == 1 && column == 1) {
continue;
}
ItemStack stack = crafting.getStackInRowAndColumn(row, column);
if (!stack.isEmpty()) {
Block block = Block.getBlockFromItem(stack.getItem());
if (block == null) {
continue;
}
if (block instanceof BlockIce || block instanceof BlockPackedIce) {
if (row != 1 && column == 1 || row == 1 && column != 1) {
++ice;
}
} else if (row != 1 && column != 1) {
return false;
}
}
}
}
if (ice >= 4) {
resultItem = getResult(crafting);
return true;
}
return false;
}
use of net.minecraft.block.BlockPackedIce in project Cavern2 by kegare.
the class RecipeChargeIceEquipment method getResult.
protected ItemStack getResult(InventoryCrafting crafting) {
ItemStack result = crafting.getStackInRowAndColumn(1, 1).copy();
int ice = 0;
int packed = 0;
for (int row = 0; row < 3; ++row) {
for (int column = 0; column < 3; ++column) {
if (row == 1 && column == 1) {
continue;
}
ItemStack stack = crafting.getStackInRowAndColumn(row, column);
if (!stack.isEmpty()) {
Block block = Block.getBlockFromItem(stack.getItem());
if (block == null) {
continue;
}
if (block instanceof BlockPackedIce) {
++packed;
} else if (block instanceof BlockIce) {
++ice;
}
}
}
}
if (result.isItemStackDamageable() && result.isItemDamaged()) {
result.setItemDamage(0);
} else {
result = ((IIceEquipment) result.getItem()).addCharge(result, ice + packed * 9);
result.getTagCompound().setBoolean("AfterIceCharge", true);
}
return result;
}
Aggregations