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.

By: Pokechu22 <Pokechu022@gmail.com>
This commit is contained in:
Bukkit/Spigot 2017-05-26 20:03:53 -07:00
parent 6e76dbda88
commit 96d1c2ec96

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:
*