Advertisement
riking

Horrific Minecraft protocol switch

Apr 7th, 2013
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.53 KB | None | 0 0
  1.             MouseButton button = MouseButton.LEFT;
  2.  
  3.             switch (packet102windowclick.shift) {
  4.             case 0:
  5.                 // Shift key not held
  6.                 switch (packet102windowclick.button) {
  7.                 case 0:
  8.                     button = MouseButton.LEFT;
  9.                     break;
  10.                 case 1:
  11.                     button = MouseButton.RIGHT;
  12.                     break;
  13.                 default:
  14.                     throw new AssertionError("Minecraft Packet 102 change! Shift=" + packet102windowclick.shift + " Button=" + packet102windowclick.button + " Slot=" + packet102windowclick.slot);
  15.                 }
  16.                 break;
  17.             case 1:
  18.                 // Shift key held
  19.                 switch (packet102windowclick.button) {
  20.                 case 0:
  21.                     button = MouseButton.SHIFT_LEFT;
  22.                     break;
  23.                 case 1:
  24.                     button = MouseButton.SHIFT_RIGHT;
  25.                     break;
  26.                 default:
  27.                     throw new AssertionError("Minecraft Packet 102 change! Shift=" + packet102windowclick.shift + " Button=" + packet102windowclick.button + " Slot=" + packet102windowclick.slot);
  28.                 }
  29.             case 2:
  30.                 // Number press
  31.                 switch (packet102windowclick.button) {
  32.                 case 0:
  33.                     button = MouseButton.NUMBER_1;
  34.                     break;
  35.                 case 1:
  36.                     button = MouseButton.NUMBER_2;
  37.                     break;
  38.                 case 2:
  39.                     button = MouseButton.NUMBER_3;
  40.                     break;
  41.                 case 3:
  42.                     button = MouseButton.NUMBER_4;
  43.                     break;
  44.                 case 4:
  45.                     button = MouseButton.NUMBER_5;
  46.                     break;
  47.                 case 5:
  48.                     button = MouseButton.NUMBER_6;
  49.                     break;
  50.                 case 6:
  51.                     button = MouseButton.NUMBER_7;
  52.                     break;
  53.                 case 7:
  54.                     button = MouseButton.NUMBER_8;
  55.                     break;
  56.                 case 8:
  57.                     button = MouseButton.NUMBER_9;
  58.                     break;
  59.                 }
  60.             case 3:
  61.                 // Middle click is always 3/3
  62.                 if (packet102windowclick.button != 3) {
  63.                     throw new AssertionError("Minecraft Packet 102 change! Shift=" + packet102windowclick.shift + " Button=" + packet102windowclick.button + " Slot=" + packet102windowclick.slot);
  64.                 }
  65.                 button = MouseButton.MIDDLE;
  66.             case 5:
  67.                 // Painting
  68.                 if (packet102windowclick.slot == -999) {
  69.                     // Start or stop
  70.                     switch (packet102windowclick.button) {
  71.                     case 0:
  72.                         button = MouseButton.DRAG_START_LEFT;
  73.                         break;
  74.                     case 2:
  75.                         button = MouseButton.DRAG_FINISH_LEFT;
  76.                         break;
  77.                     case 4:
  78.                         button = MouseButton.DRAG_START_RIGHT;
  79.                         break;
  80.                     case 6:
  81.                         button = MouseButton.DRAG_FINISH_RIGHT;
  82.                         break;
  83.                     default:
  84.                         throw new AssertionError("Minecraft Packet 102 change! Shift=" + packet102windowclick.shift + " Button=" + packet102windowclick.button + " Slot=" + packet102windowclick.slot);
  85.                     }
  86.                 } else {
  87.                     // Middle of stream
  88.                     switch (packet102windowclick.button) {
  89.                     case 0:
  90.                         button = MouseButton.DRAG_LEFT;
  91.                     case 1:
  92.                         button = MouseButton.DRAG_RIGHT;
  93.                     default:
  94.                         throw new AssertionError("Minecraft Packet 102 change! Shift=" + packet102windowclick.shift + " Button=" + packet102windowclick.button + " Slot=" + packet102windowclick.slot);
  95.                     }
  96.                 }
  97.                 break;
  98.             case 6:
  99.                 // Double click
  100.                 button = MouseButton.DOUBLE_CLICK;
  101.                 break;
  102.             default:
  103.                 throw new AssertionError("Minecraft Packet 102 change! Shift=" + packet102windowclick.shift + " Button=" + packet102windowclick.button + " Slot=" + packet102windowclick.slot);
  104.             }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement