Fix HotbarKitListener

Signed-off-by: Chaoscaot <max@maxsp.de>
This commit is contained in:
2026-01-01 17:04:09 +01:00
parent e4676d5eba
commit 1f64c3383d
2 changed files with 5 additions and 2 deletions
@@ -73,8 +73,8 @@ class InternalKit(id: EntityID<CompositeID>): CompositeEntity(id) {
this.rawInventory = rawInventory
this.rawArmor = rawArmor
this.inUse = false
}
}.also { it.setDefault() }
}.also { it.setDefault() }
}
@JvmStatic
fun getKitInUse(userId: Int, gamemode: String) = useDb {
@@ -110,6 +110,7 @@ class InternalKit(id: EntityID<CompositeID>): CompositeEntity(id) {
fun setDefault() = useDb {
find { PersonalKitTable.userId eq userID and (PersonalKitTable.gamemode eq gameMode) and (PersonalKitTable.inUse eq true) }
.filter { it.id.value != this@InternalKit.id.value }
.forEach { it.inUse = false }
inUse = true
}
@@ -34,6 +34,7 @@ import org.bukkit.event.block.Action;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.PlayerInventory;
import java.util.HashSet;
import java.util.Set;
@@ -62,6 +63,7 @@ public class HotbarKitListener implements Listener {
public void onInventoryClick(InventoryClickEvent event) {
int slot = event.getSlot();
if (slot < 0 || slot >= HotbarKit.HOTBAR_SIZE) return;
if (!(event.getClickedInventory() instanceof PlayerInventory)) return;
Player player = (Player) event.getWhoClicked();
click(player, slot, event);