SPIGOT-3272: Fix convertSlot in creative

Creative's slots are indexed the same as the survival crafting inventory, and thus the same transforms that happen in survival should happen in creative.
This commit is contained in:
Pokechu22 2017-05-26 20:03:53 -07:00 committed by md_5
parent 1f3b0516a6
commit 17ec944682

View file

@ -1,6 +1,5 @@
package org.bukkit.inventory;
import org.bukkit.GameMode;
import org.bukkit.entity.HumanEntity;
import org.bukkit.event.inventory.InventoryType;
@ -228,13 +227,9 @@ public abstract class InventoryView {
// Move down the slot index by the top size
int slot = rawSlot - numInTop;
// Creative mode players have one contiguous inventory dictated by the client
if (getPlayer().getGameMode() == GameMode.CREATIVE && getType() == InventoryType.PLAYER) {
return slot;
}
// Player crafting slots are indexed differently. The matrix is caught by the first return.
if (getType() == InventoryType.CRAFTING) {
// Creative mode is the same, except that you can't see the crafting slots (but the IDs are still used)
if (getType() == InventoryType.CRAFTING || getType() == InventoryType.CREATIVE) {
/**
* Raw Slots:
*
@ -247,7 +242,7 @@ public abstract class InventoryView {
* 27 28 29 30 31 32 33 34 35
* 36 37 38 39 40 41 42 43 44
*/
/**
* Converted Slots:
*