Fix search item being sent to player inventory
This commit is contained in:
@@ -33,16 +33,27 @@ class AnvilSearchMenu(
|
|||||||
AnvilSearchTracker.register(player, this)
|
AnvilSearchTracker.register(player, this)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onClick(event: InventoryClickEvent, view: AnvilView) {
|
fun onClick(
|
||||||
|
event: InventoryClickEvent,
|
||||||
|
view: AnvilView
|
||||||
|
) {
|
||||||
event.isCancelled = true
|
event.isCancelled = true
|
||||||
if ( event.rawSlot != 2 ) return
|
if ( event.rawSlot != 2 ) return
|
||||||
|
|
||||||
val query = view.renameText ?: ""
|
val query = view.renameText ?: ""
|
||||||
|
|
||||||
if ( !player.itemOnCursor.type.isAir ) {
|
// Output-Slot leeren - verhindert dass das Item clientseitig ins Inventar wandert
|
||||||
|
view.topInventory.setItem( 2, null )
|
||||||
|
|
||||||
|
// Cursor leeren (Fallback für shift-click o.ä.)
|
||||||
|
if ( !player.itemOnCursor.type.isAir )
|
||||||
|
{
|
||||||
player.setItemOnCursor(ItemStack( Material.AIR ))
|
player.setItemOnCursor(ItemStack( Material.AIR ))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Client-Inventar synchronisieren
|
||||||
|
player.updateInventory()
|
||||||
|
|
||||||
AnvilSearchTracker.unregister( player )
|
AnvilSearchTracker.unregister( player )
|
||||||
player.closeInventory()
|
player.closeInventory()
|
||||||
returnMenu.applySearch( query )
|
returnMenu.applySearch( query )
|
||||||
|
|||||||
@@ -344,7 +344,7 @@ class TricksterKit : Kit(), Listener
|
|||||||
Bukkit.getScheduler().runTaskLater( plugin, { ->
|
Bukkit.getScheduler().runTaskLater( plugin, { ->
|
||||||
npc.spawn( location )
|
npc.spawn( location )
|
||||||
}, 1L )
|
}, 1L )
|
||||||
|
|
||||||
val now = System.currentTimeMillis()
|
val now = System.currentTimeMillis()
|
||||||
val tricksterUUID = player.uniqueId
|
val tricksterUUID = player.uniqueId
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user