本文整理匯總了Java中net.minecraft.inventory.ClickType.QUICK_CRAFT屬性的典型用法代碼示例。如果您正苦於以下問題:Java ClickType.QUICK_CRAFT屬性的具體用法?Java ClickType.QUICK_CRAFT怎麽用?Java ClickType.QUICK_CRAFT使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類net.minecraft.inventory.ClickType
的用法示例。
在下文中一共展示了ClickType.QUICK_CRAFT屬性的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: slotClick
@Override
public ItemStack slotClick(int slotId, int dragType, ClickType clickTypeIn, EntityPlayer playerIn) {
Slot slot = slotId > -1 && slotId < inventorySlots.size() ? inventorySlots.get(slotId) : null;
if (slot instanceof SlotPhantom) {
ItemStack s = TomsModUtils.copyItemStack(playerIn.inventory.getItemStack());
if (!s.isEmpty()) {
if (!ItemIgnoreList.accepts(s))
s.setTagCompound(null);
slot.putStack(dragType == 1 ? s.splitStack(1) : s);
} else if (dragType != 1)
slot.putStack(ItemStack.EMPTY);
else if (dragType == 1) {
if (!slot.getStack().isEmpty()) {
int c = 1;
if (clickTypeIn == ClickType.PICKUP_ALL)
c = -1;
else if (clickTypeIn == ClickType.QUICK_CRAFT)
c = -phantomSlotChange;
else if (clickTypeIn == ClickType.CLONE)
c = phantomSlotChange;
if (slot.getStack().getMaxStackSize() >= slot.getStack().getCount() + c && slot.getStack().getCount() + c > 0) {
slot.getStack().grow(c);
}
}
}
return playerIn.inventory.getItemStack();
} else if (slot instanceof ISlotClickListener) {
((ISlotClickListener) slot).slotClick(slotId, dragType, clickTypeIn, playerIn);
return super.slotClick(slotId, dragType, clickTypeIn, playerIn);
} else
return super.slotClick(slotId, dragType, clickTypeIn, playerIn);
}
示例2: slotClick
@Override
public ItemStack slotClick(int slotNum, int dragType, ClickType clickType, EntityPlayer player)
{
if (this.tef.isFiltered())
{
if (this.filterSlots.contains(slotNum))
{
this.fakeSlotClick(slotNum, dragType, clickType, player);
return ItemStack.EMPTY;
}
// (Starting) or ending a drag and the dragged slots include at least one of our fake slots
if (clickType == ClickType.QUICK_CRAFT && slotNum == -999)
{
for (int i : this.draggedSlots)
{
if (this.filterSlots.contains(i))
{
this.fakeSlotClick(i, dragType, clickType, player);
return ItemStack.EMPTY;
}
}
}
}
return super.slotClick(slotNum, dragType, clickType, player);
}
示例3: slotClick
@Override
public ItemStack slotClick(int slotNum, int dragType, ClickType clickType, EntityPlayer player)
{
if (this.filterSlots.contains(slotNum))
{
this.fakeSlotClick(slotNum, dragType, clickType, player);
return ItemStack.EMPTY;
}
// (Starting) or ending a drag and the dragged slots include at least one of our fake slots
if (clickType == ClickType.QUICK_CRAFT && slotNum == -999)
{
for (int i : this.draggedSlots)
{
if (this.filterSlots.contains(i))
{
this.fakeSlotClick(i, dragType, clickType, player);
return ItemStack.EMPTY;
}
}
}
ItemStack stack = super.slotClick(slotNum, dragType, clickType, player);
ItemStack modularStackPost = this.getContainerItem();
if (player.getEntityWorld().isRemote == false && modularStackPost.isEmpty() == false &&
modularStackPost.getItem() == EnderUtilitiesItems.PICKUP_MANAGER)
{
boolean sent = ((ItemPickupManager) modularStackPost.getItem()).tryTransportItemsFromTransportSlot(
this.inventoryItemTransmit, player, modularStackPost);
// The change is not picked up by detectAndSendChanges() because the items are transported out
// immediately, so the client side container will get out of sync without a forced sync
if (sent && player instanceof EntityPlayerMP)
{
PacketHandler.INSTANCE.sendTo(new MessageSyncSlot(this.windowId, 0, this.getSlot(0).getStack()), (EntityPlayerMP) player);
}
}
this.detectAndSendChanges();
return stack;
}
示例4: slotClick
@Override
public ItemStack slotClick(int slotNum, int dragType, ClickType clickType, EntityPlayer player)
{
if (this.filterSlots.contains(slotNum))
{
this.fakeSlotClick(slotNum, dragType, clickType, player);
return ItemStack.EMPTY;
}
// (Starting) or ending a drag and the dragged slots include at least one of our fake slots
if (clickType == ClickType.QUICK_CRAFT && slotNum == -999)
{
for (int i : this.draggedSlots)
{
if (this.filterSlots.contains(i))
{
this.fakeSlotClick(i, dragType, clickType, player);
return ItemStack.EMPTY;
}
}
}
// Middle click
else if (clickType == ClickType.CLONE && dragType == 2)
{
int invSlotNum = this.getSlot(slotNum) != null ? this.getSlot(slotNum).getSlotIndex() : -1;
if (invSlotNum == -1 || (invSlotNum >= 36 && invSlotNum != 40))
{
return ItemStack.EMPTY;
}
long mask = this.teqsa.getEnabledSlotsMask();
mask ^= (0x1L << invSlotNum);
this.teqsa.setEnabledSlotsMask(mask);
return ItemStack.EMPTY;
}
ItemStack stack = super.slotClick(slotNum, dragType, clickType, player);
if (player instanceof EntityPlayerMP)
{
this.detectAndSendChanges();
}
return stack;
}