本文整理汇总了Java中openperipheral.api.helpers.Index.fromJava方法的典型用法代码示例。如果您正苦于以下问题:Java Index.fromJava方法的具体用法?Java Index.fromJava怎么用?Java Index.fromJava使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类openperipheral.api.helpers.Index
的用法示例。
在下文中一共展示了Index.fromJava方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: pushNotebookPage
import openperipheral.api.helpers.Index; //导入方法依赖的package包/类
@ScriptCallable(
returnTypes = ReturnType.NUMBER,
description = "Push a page from the notebook into a specific slot in external inventory. Returns the amount of items moved")
public int pushNotebookPage(
TileEntity desk,
@Arg(name = "deskSlot") Index deskSlot,
@Arg(name = "direction", description = "The direction of the other inventory. (north, south, east, west, up or down)") ForgeDirection direction,
@Arg(name = "fromSlot", description = "The page slot in inventory that you're pushing from") Index fromSlot,
@Optionals @Arg(name = "intoSlot", description = "The slot in the other inventory that you want to push into") Index intoSlot) {
IInventory source = createInventoryWrapper(desk, deskSlot);
IInventory target = getTargetTile(desk, direction);
if (intoSlot == null) intoSlot = Index.fromJava(-1, 0);
final int amount = ItemDistribution.moveItemInto(source, fromSlot.value, target, intoSlot.value, 64, direction.getOpposite(), true);
if (amount > 0) target.markDirty();
return amount;
}
示例2: pushNotebookPage
import openperipheral.api.helpers.Index; //导入方法依赖的package包/类
@ScriptCallable(
returnTypes = ReturnType.NUMBER,
description = "Push a page from the notebook into a specific slot in external inventory. Returns the amount of items moved")
public int pushNotebookPage(
TileEntity desk,
@Arg(name = "deskSlot") Index deskSlot,
@Arg(name = "direction", description = "The direction of the other inventory. (north, south, east, west, up or down)") ForgeDirection direction,
@Arg(name = "fromSlot", description = "The page slot in inventory that you're pushing from") Index fromSlot,
@Optionals @Arg(name = "intoSlot", description = "The slot in the other inventory that you want to push into") Index intoSlot) {
final NotebookWrapper wrapper = createInventoryWrapper(desk, deskSlot);
ItemStack page = wrapper.getPageFromSlot(fromSlot);
ItemStack removedPage = wrapper.removePage(page);
Preconditions.checkNotNull(removedPage, "No page in notebook");
GenericInventory tmp = new GenericInventory("tmp", false, 1);
tmp.setInventorySlotContents(0, removedPage.copy());
final IInventory target = getTargetTile(desk, direction);
if (intoSlot == null) intoSlot = Index.fromJava(-1, 0);
int result = ItemDistribution.moveItemInto(tmp, 0, target, intoSlot.value, removedPage.stackSize, direction, true);
int remains = removedPage.stackSize - result;
if (remains >= 0) {
ItemStack returns = removedPage.copy();
returns.stackSize = remains;
wrapper.addPage(returns);
}
return result;
}
示例3: exportItem
import openperipheral.api.helpers.Index; //导入方法依赖的package包/类
@ScriptCallable(description = "Exports the specified item into the target inventory.", returnTypes = ReturnType.TABLE)
public IAEItemStack exportItem(Object tileEntityInterface,
@Arg(name = "fingerprint", description = "Details of the item you want to export (can be result of .getStackInSlot() or .getAvailableItems())") ItemFingerprint needle,
@Arg(name = "direction", description = "Location of target inventory") ForgeDirection direction,
@Optionals @Arg(name = "maxAmount", description = "The maximum amount of items you want to export") Integer maxAmount,
@Arg(name = "intoSlot", description = "The slot in the other inventory that you want to export into") Index intoSlot) {
final IActionHost host = (IActionHost)tileEntityInterface;
final IInventory neighbor = getNeighborInventory(tileEntityInterface, direction);
Preconditions.checkArgument(neighbor != null, "No neighbour attached");
if (intoSlot == null) intoSlot = Index.fromJava(-1, 0);
IStorageGrid storageGrid = getStorageGrid(host);
IMEMonitor<IAEItemStack> monitor = storageGrid.getItemInventory();
IAEItemStack stack = findStack(monitor.getStorageList(), needle);
Preconditions.checkArgument(stack != null, "Can't find item fingerprint %s", needle);
IAEItemStack toExtract = stack.copy();
if (maxAmount == null || maxAmount < 1 || maxAmount > toExtract.getItemStack().getMaxStackSize()) {
toExtract.setStackSize(toExtract.getItemStack().getMaxStackSize());
} else {
toExtract.setStackSize(maxAmount);
}
// Actually export the items from the ME system.
MachineSource machineSource = new MachineSource(host);
IAEItemStack extracted = monitor.extractItems(toExtract, Actionable.MODULATE, machineSource);
if (extracted == null) return null;
ItemStack toInsert = extracted.getItemStack().copy();
// Put the item in the neighbor inventory
if (ItemDistribution.insertItemIntoInventory(neighbor, toInsert, direction.getOpposite(), intoSlot.value)) {
neighbor.markDirty();
}
// If we've moved some items, but others are still remaining.
// Insert them back into the ME system.
if (toInsert.stackSize > 0) {
final IAEItemStack toReturn = AEApi.instance().storage().createItemStack(toInsert);
monitor.injectItems(toReturn, Actionable.MODULATE, machineSource);
extracted.decStackSize(toInsert.stackSize);
}
// Return what we've actually extracted
return extracted;
}
示例4: createIndex
import openperipheral.api.helpers.Index; //导入方法依赖的package包/类
@Override
public Index createIndex(int value) {
return Index.fromJava(value, 1);
}