Add InventoryView#getSlotType

This commit is contained in:
md_5 2018-12-26 10:40:14 +11:00
parent 01a9959aaf
commit 2b2d084ac9
2 changed files with 1 additions and 68 deletions

View File

@ -1230,7 +1230,7 @@
+ }
+
+ InventoryView inventory = this.player.activeContainer.getBukkitView();
+ SlotType type = CraftInventoryView.getSlotType(inventory, packetplayinwindowclick.c());
+ SlotType type = inventory.getSlotType(packetplayinwindowclick.c());
+ InventoryClickEvent event;
+ ClickType click = ClickType.UNKNOWN;

View File

@ -72,71 +72,4 @@ public class CraftInventoryView extends InventoryView {
public Container getHandle() {
return container;
}
public static SlotType getSlotType(InventoryView inventory, int slot) {
SlotType type = SlotType.CONTAINER;
if (slot >= 0 && slot < inventory.getTopInventory().getSize()) {
switch(inventory.getType()) {
case FURNACE:
if (slot == 2) {
type = SlotType.RESULT;
} else if(slot == 1) {
type = SlotType.FUEL;
} else {
type = SlotType.CRAFTING;
}
break;
case BREWING:
if (slot == 3) {
type = SlotType.FUEL;
} else {
type = SlotType.CRAFTING;
}
break;
case ENCHANTING:
type = SlotType.CRAFTING;
break;
case WORKBENCH:
case CRAFTING:
if (slot == 0) {
type = SlotType.RESULT;
} else {
type = SlotType.CRAFTING;
}
break;
case MERCHANT:
if (slot == 2) {
type = SlotType.RESULT;
} else {
type = SlotType.CRAFTING;
}
break;
case BEACON:
type = SlotType.CRAFTING;
break;
case ANVIL:
if (slot == 2) {
type = SlotType.RESULT;
} else {
type = SlotType.CRAFTING;
}
break;
default:
// Nothing to do, it's a CONTAINER slot
}
} else {
if (slot < 0) {
type = SlotType.OUTSIDE;
} else if (inventory.getType() == InventoryType.CRAFTING) { // Also includes creative inventory
if (slot < 9) {
type = SlotType.ARMOR;
} else if (slot > 35) {
type = SlotType.QUICKBAR;
}
} else if (slot >= (inventory.countSlots() - (9 + 4 + 1))) { // Quickbar, Armor, Offhand
type = SlotType.QUICKBAR;
}
}
return type;
}
}