-
Автор темы
- #1
Java:
public void swapTo(int slot) {
if (slot != -1 && delay <= 0) {
if (mc.currentScreen instanceof ContainerScreen) return;
int nearestSlot = findNearestCurrentItem();
int prevCurrentItem = mc.player.inventory.currentItem;
if (slot >= 9) {
mc.playerController.windowClick(mc.player.openContainer.windowId, slot, nearestSlot, ClickType.SWAP, mc.player);
mc.player.connection.sendPacket(new CHeldItemChangePacket(nearestSlot));
mc.player.inventory.currentItem = nearestSlot;
ItemStack itemstack = mc.player.getHeldItemOffhand();
mc.player.setHeldItem(Hand.OFF_HAND, mc.player.getHeldItemMainhand());
mc.player.setHeldItem(Hand.MAIN_HAND, itemstack);
mc.player.connection.sendPacket(new CPlayerDiggingPacket(CPlayerDiggingPacket.Action.SWAP_ITEM_WITH_OFFHAND, BlockPos.ZERO, Direction.DOWN));
mc.player.connection.sendPacket(new CHeldItemChangePacket(prevCurrentItem));
mc.player.inventory.currentItem = prevCurrentItem;
mc.playerController.windowClick(mc.player.openContainer.windowId, slot, nearestSlot, ClickType.SWAP, mc.player);
mc.player.connection.sendPacket(new CCloseWindowPacket(mc.player.openContainer.windowId));
mc.player.resetCooldown();
} else {
mc.player.connection.sendPacket(new CHeldItemChangePacket(slot));
mc.player.inventory.currentItem = slot;
mc.player.connection.sendPacket(new CPlayerDiggingPacket(CPlayerDiggingPacket.Action.SWAP_ITEM_WITH_OFFHAND, BlockPos.ZERO, Direction.DOWN));
mc.player.connection.sendPacket(new CHeldItemChangePacket(prevCurrentItem));
mc.player.inventory.currentItem = prevCurrentItem;
mc.player.resetCooldown();
}
if (entry != null) {
delay = (int) (2 + (entry.getPing() / 25f));
}
}
}