net.minecraft.inventory.Slot.onSlotChange()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(5.4k)|赞(0)|评价(0)|浏览(192)

本文整理了Java中net.minecraft.inventory.Slot.onSlotChange()方法的一些代码示例,展示了Slot.onSlotChange()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Slot.onSlotChange()方法的具体详情如下:
包路径:net.minecraft.inventory.Slot
类名称:Slot
方法名:onSlotChange

Slot.onSlotChange介绍

暂无

代码示例

代码示例来源:origin: ForestryMC/ForestryMC

  1. public static ItemStack transferStackInSlot(List<Slot> inventorySlots, EntityPlayer player, int slotIndex) {
  2. Slot slot = inventorySlots.get(slotIndex);
  3. if (slot == null || !slot.getHasStack()) {
  4. return ItemStack.EMPTY;
  5. }
  6. boolean fromCraftingSlot = slot instanceof SlotCrafting || slot instanceof SlotCrafter;
  7. int numSlots = inventorySlots.size();
  8. ItemStack stackInSlot = slot.getStack();
  9. ItemStack originalStack = stackInSlot.copy();
  10. if (!shiftItemStack(inventorySlots, stackInSlot, slotIndex, numSlots, fromCraftingSlot)) {
  11. return ItemStack.EMPTY;
  12. }
  13. slot.onSlotChange(stackInSlot, originalStack);
  14. if (stackInSlot.isEmpty()) {
  15. slot.putStack(ItemStack.EMPTY);
  16. } else {
  17. slot.onSlotChanged();
  18. }
  19. if (stackInSlot.getCount() == originalStack.getCount()) {
  20. return ItemStack.EMPTY;
  21. }
  22. slot.onTake(player, stackInSlot);
  23. return originalStack;
  24. }

代码示例来源:origin: SonarSonic/Calculator

  1. @Override
  2. public void onSlotChange(ItemStack stack1, ItemStack stack2) {
  3. super.onSlotChange(stack1, stack2);
  4. if (player != null) {
  5. /*
  6. int[] unblocked = entity.unblockedList();
  7. if (entity.isBlocked(entity.lastResearch) && entity.lastResearch != 0) {
  8. if (CalculatorRecipes.recipes().discovery(unblocked, entity.lastResearch)) {
  9. FontHelper.sendMessage(FontHelper.translate("research.recipeNew"), entity.getWorld(), player);
  10. }
  11. }
  12. */
  13. entity.markBlockForUpdate();
  14. entity.getWorld().addBlockEvent(entity.getPos(), entity.getBlockType(), 1, 0);
  15. }
  16. }

代码示例来源:origin: SonarSonic/Calculator

  1. @Nonnull
  2. @Override
  3. public ItemStack transferStackInSlot(EntityPlayer player, int id) {
  4. ItemStack itemstack = ItemStack.EMPTY;
  5. Slot slot = this.inventorySlots.get(id);
  6. if (slot != null && slot.getHasStack()) {
  7. ItemStack itemstack1 = slot.getStack();
  8. itemstack = itemstack1.copy();
  9. if (id < INV_START) {
  10. if (!this.mergeItemStack(itemstack1, INV_START, HOTBAR_END + 1, true)) {
  11. return ItemStack.EMPTY;
  12. }
  13. slot.onSlotChange(itemstack1, itemstack);
  14. } else {
  15. if (!this.mergeItemStack(itemstack1, 0, INV_START, false)) {
  16. return ItemStack.EMPTY;
  17. }
  18. }
  19. if (itemstack1.getCount() == 0) {
  20. slot.putStack(ItemStack.EMPTY);
  21. } else {
  22. slot.onSlotChanged();
  23. }
  24. if (itemstack1.getCount() == itemstack.getCount()) {
  25. return ItemStack.EMPTY;
  26. }
  27. slot.onTake(player, itemstack1);
  28. }
  29. return itemstack;
  30. }

代码示例来源:origin: CoFH/CoFHCore

  1. @Override
  2. public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex) {
  3. if (!supportsShiftClick(player, slotIndex)) {
  4. return ItemStack.EMPTY;
  5. }
  6. ItemStack stack = ItemStack.EMPTY;
  7. Slot slot = inventorySlots.get(slotIndex);
  8. if (slot != null && slot.getHasStack()) {
  9. ItemStack stackInSlot = slot.getStack();
  10. stack = stackInSlot.copy();
  11. if (!performMerge(player, slotIndex, stackInSlot)) {
  12. return ItemStack.EMPTY;
  13. }
  14. slot.onSlotChange(stackInSlot, stack);
  15. if (stackInSlot.getCount() <= 0) {
  16. slot.putStack(ItemStack.EMPTY);
  17. } else {
  18. slot.putStack(stackInSlot);
  19. }
  20. if (stackInSlot.getCount() == stack.getCount()) {
  21. return ItemStack.EMPTY;
  22. }
  23. slot.onTake(player, stackInSlot);
  24. }
  25. return stack;
  26. }

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

  1. slot.onSlotChange(itemstack1, stack);
  2. } else if (index >= 26 && index < 53) {
  3. if (!this.mergeItemStack(itemstack1, 53, 62, false)) {

代码示例来源:origin: SonarSonic/Calculator

  1. return ItemStack.EMPTY;
  2. slot.onSlotChange(itemstack1, itemstack);
  3. } else {

代码示例来源:origin: coolAlias/Tutorial-Demo

  1. slot.onSlotChange(itemstack1, itemstack);

代码示例来源:origin: TeamLapen/Vampirism

  1. slot.onSlotChange(itemstack1, itemstack);
  2. } else if (index >= 17 && index < 44) {
  3. if (!this.mergeItemStack(itemstack1, 44, 53, false)) {

代码示例来源:origin: WayofTime/BloodMagic

  1. slot.onSlotChange(itemstack1, itemstack);
  2. } else if (index > 0) {

代码示例来源:origin: SonarSonic/Calculator

  1. return ItemStack.EMPTY;
  2. slot.onSlotChange(itemstack1, itemstack);
  3. } else {
  4. int current = this.getCurrentUsage();

代码示例来源:origin: Esteemed-Innovation/Esteemed-Innovation

  1. slot.onSlotChange(itemstack1, itemstack);
  2. } else if (par2 != 0 && par2 != 1) {
  3. if (par2 >= 3 && par2 < 39 && !this.mergeItemStack(itemstack1, 0, 2, false)) {

代码示例来源:origin: WayofTime/BloodMagic

  1. slot.onSlotChange(itemstack1, itemstack);
  2. } else if (index > 8) {
  3. if (itemstack1.getItem() instanceof IBloodOrb) {

代码示例来源:origin: WayofTime/BloodMagic

  1. slot.onSlotChange(itemstack1, itemstack);
  2. } else if (index > 5) {
  3. if (itemstack1.getItem() instanceof IDemonWill || itemstack1.getItem() instanceof IDemonWillGem) {

代码示例来源:origin: SleepyTrousers/EnderCore

  1. slot.onSlotChange(itemstack1, itemstack);
  2. } else if (index != 1 && index != 0) {
  3. if (TileEntityFurnace.isItemFuel(itemstack1) && mergeItemStack(inv, itemstack1, 1, 2, false)) { // HL: added this case

代码示例来源:origin: SleepyTrousers/EnderIO

  1. slot.onSlotChange(origStack, copystack);

代码示例来源:origin: vadis365/TheErebus

  1. if (!mergeItemStack(itemstack1, 3, 39, true))
  2. return ItemStack.EMPTY;
  3. slot.onSlotChange(itemstack1, itemstack);
  4. } else if (slotIndex != 1 && slotIndex != 0) {
  5. if (!ComposterRegistry.isCompostable(itemstack1).isEmpty()) {

代码示例来源:origin: PrinceOfAmber/Cyclic

  1. itemstack1.getItem().onCreated(itemstack1, playerIn.world, playerIn);
  2. if (!this.mergeItemStack(itemstack1, 10, 46, true)) return ItemStack.EMPTY;
  3. slot.onSlotChange(itemstack1, itemstack);

代码示例来源:origin: Alex-the-666/Ice_and_Fire

  1. slot.onSlotChange(itemstack1, itemstack);
  2. } else if (index != 1 && index != 0) {
  3. if (!itemstack1.isEmpty() && itemstack1.getItem() == ModItems.bestiary) {

代码示例来源:origin: Ellpeck/ActuallyAdditions

  1. return StackUtil.getEmpty();
  2. theSlot.onSlotChange(newStack, currentStack);

代码示例来源:origin: Ellpeck/ActuallyAdditions

  1. theSlot.onSlotChange(newStack, currentStack);

相关文章