📢 Hello,
I'm trying to only allow items from "tacz:modern_kinetic_gun" in my hotbars 0 to 3.
I don't want players to be able to have weapons elsewhere. 🥳
PlayerEvents.inventoryChanged(event => {
const player = event.player;
const inventory = player.inventory;
// Vérifier tous les slots de l'inventaire
// Slots 0-8 = hotbar, slots 9-35 = inventaire principal
for (let slot = 0; slot < 36; slot++) {
const item = inventory.getStackInSlot(slot);
// Vérifier si l'item est une arme TACZ
if (item.id === 'tacz:modern_kinetic_gun') {
// Si l'item est dans la hotbar (slots 0-8)
if (slot <= 8) {
// Si l'item est dans les slots 4-8 de la hotbar (slots interdits)
if (slot >= 4) {
// Retirer l'item du slot actuel
inventory.setStackInSlot(slot, Item.EMPTY);
// Essayer de placer l'item dans un slot valide (0-3 de la hotbar)
let placed = false;
for (let validSlot = 0; validSlot < 4; validSlot++) {
const targetItem = inventory.getStackInSlot(validSlot);
if (targetItem.isEmpty()) {
inventory.setStackInSlot(validSlot, item);
placed = true;
break;
}
}
// Si aucun slot valide n'est disponible, drop l'item
if (!placed) {
player.drop(item, false);
player.tell(Text.red('Les armes TACZ ne peuvent être placées que dans les slots 1-4 de la hotbar !'));
}
}
}
I tried this to at least detect the weapons, but I'm not sure I'm approaching the problem the right way. 🤯