Skip to content

Commit 8ebfefe

Browse files
committed
fix: prevent items from being dropped
1 parent c04f3bb commit 8ebfefe

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

src/main/kotlin/me/tech/mcchestui/GUI.kt

+11-7
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,20 @@
77

88
package me.tech.mcchestui
99

10-
import me.tech.mcchestui.attached.*
11-
import me.tech.mcchestui.item.*
12-
import me.tech.mcchestui.listeners.*
13-
import me.tech.mcchestui.listeners.hotbar.*
14-
import me.tech.mcchestui.listeners.item.*
10+
import me.tech.mcchestui.attached.AttachedInventoryCache
11+
import me.tech.mcchestui.attached.MemoryAttachedInventoryCache
12+
import me.tech.mcchestui.item.GUIItem
13+
import me.tech.mcchestui.listeners.GUICloseListener
14+
import me.tech.mcchestui.listeners.GUISlotClickListener
15+
import me.tech.mcchestui.listeners.hotbar.GUIHotbarListener
16+
import me.tech.mcchestui.listeners.item.GUIItemDragListener
17+
import me.tech.mcchestui.listeners.item.GUIItemPickupListener
18+
import me.tech.mcchestui.listeners.item.GUIItemPlaceListener
1519
import me.tech.mcchestui.utils.*
1620
import net.kyori.adventure.text.Component
17-
import org.bukkit.Material
1821
import org.bukkit.entity.Player
19-
import org.bukkit.event.*
22+
import org.bukkit.event.HandlerList
23+
import org.bukkit.event.Listener
2024
import org.bukkit.inventory.Inventory
2125
import org.bukkit.inventory.ItemStack
2226
import org.bukkit.inventory.PlayerInventory

src/main/kotlin/me/tech/mcchestui/listeners/GUISlotClickListener.kt

+7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package me.tech.mcchestui.listeners
33
import me.tech.mcchestui.GUI
44
import org.bukkit.entity.Player
55
import org.bukkit.event.EventHandler
6+
import org.bukkit.event.inventory.ClickType
67
import org.bukkit.event.inventory.InventoryClickEvent
78

89
internal class GUISlotClickListener(gui: GUI) : GUIEventListener(gui) {
@@ -16,6 +17,12 @@ internal class GUISlotClickListener(gui: GUI) : GUIEventListener(gui) {
1617
val guiSlot = gui.slots.getOrNull(slot)
1718
?: return // handle cancellation of task in onPlace.
1819

20+
if(click == ClickType.DROP || click == ClickType.CONTROL_DROP) {
21+
if(!guiSlot.allowPickup) {
22+
isCancelled = true
23+
}
24+
}
25+
1926
guiSlot.onClick?.let { uiEvent ->
2027
uiEvent(this, whoClicked as Player)
2128
}

src/main/kotlin/me/tech/mcchestui/listeners/hotbar/GUIHotbarListener.kt

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package me.tech.mcchestui.listeners.hotbar
22

33
import me.tech.mcchestui.GUI
44
import me.tech.mcchestui.listeners.GUIEventListener
5-
import org.bukkit.Bukkit
65
import org.bukkit.Material
76
import org.bukkit.entity.Player
87
import org.bukkit.event.EventHandler

0 commit comments

Comments
 (0)