use of WayofTime.bloodmagic.item.sigil.ItemSigilHolding in project BloodMagic by WayofTime.
the class ContainerHolding method transferStackInSlot.
@Override
public ItemStack transferStackInSlot(EntityPlayer entityPlayer, int slotIndex) {
ItemStack stack = ItemStack.EMPTY;
Slot slotObject = inventorySlots.get(slotIndex);
int slots = inventorySlots.size();
if (slotObject != null && slotObject.getHasStack()) {
ItemStack stackInSlot = slotObject.getStack();
stack = stackInSlot.copy();
if (stack.getItem() instanceof ISigil) {
if (slotIndex < ItemSigilHolding.inventorySize) {
if (!this.mergeItemStack(stackInSlot, ItemSigilHolding.inventorySize, slots, false)) {
return ItemStack.EMPTY;
}
} else if (!this.mergeItemStack(stackInSlot, 0, ItemSigilHolding.inventorySize, false)) {
return ItemStack.EMPTY;
}
} else if (stack.getItem() instanceof ItemSigilHolding) {
if (slotIndex < ItemSigilHolding.inventorySize + (PLAYER_INVENTORY_ROWS * PLAYER_INVENTORY_COLUMNS)) {
if (!this.mergeItemStack(stackInSlot, ItemSigilHolding.inventorySize + (PLAYER_INVENTORY_ROWS * PLAYER_INVENTORY_COLUMNS), inventorySlots.size(), false)) {
return ItemStack.EMPTY;
}
} else if (!this.mergeItemStack(stackInSlot, ItemSigilHolding.inventorySize, ItemSigilHolding.inventorySize + (PLAYER_INVENTORY_ROWS * PLAYER_INVENTORY_COLUMNS), false)) {
return ItemStack.EMPTY;
}
}
if (stackInSlot.isEmpty()) {
slotObject.putStack(ItemStack.EMPTY);
} else {
slotObject.onSlotChanged();
}
if (stackInSlot.getCount() == stack.getCount()) {
return ItemStack.EMPTY;
}
slotObject.onTake(player, stackInSlot);
}
return stack;
}
use of WayofTime.bloodmagic.item.sigil.ItemSigilHolding in project BloodMagic by WayofTime.
the class ClientHandler method onMouseEvent.
@SubscribeEvent
public static void onMouseEvent(MouseEvent event) {
EntityPlayerSP player = Minecraft.getMinecraft().player;
if (event.getDwheel() != 0 && player != null && player.isSneaking()) {
ItemStack stack = player.getHeldItemMainhand();
if (!stack.isEmpty()) {
Item item = stack.getItem();
if (item instanceof ItemSigilHolding) {
cycleSigil(stack, player, event.getDwheel());
event.setCanceled(true);
}
}
}
}
Aggregations