Fix search item being sent to player inventory

This commit is contained in:
TDSTOS
2026-04-17 07:32:04 +02:00
parent 1569764982
commit fd94310c56
2 changed files with 14 additions and 3 deletions

View File

@@ -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 )

View File

@@ -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