Search in sources :

Example 1 with InventorySlotPacket

use of cn.nukkit.network.protocol.InventorySlotPacket in project Nukkit by Nukkit.

the class BaseInventory method sendSlot.

@Override
public void sendSlot(int index, Player... players) {
    InventorySlotPacket pk = new InventorySlotPacket();
    pk.slot = index;
    pk.item = this.getItem(index).clone();
    for (Player player : players) {
        int id = player.getWindowId(this);
        if (id == -1) {
            this.close(player);
            continue;
        }
        pk.inventoryId = id;
        player.dataPacket(pk);
    }
}
Also used : Player(cn.nukkit.Player) InventorySlotPacket(cn.nukkit.network.protocol.InventorySlotPacket)

Example 2 with InventorySlotPacket

use of cn.nukkit.network.protocol.InventorySlotPacket in project Nukkit by Nukkit.

the class PlayerInventory method sendArmorSlot.

public void sendArmorSlot(int index, Player[] players) {
    Item[] armor = this.getArmorContents();
    MobArmorEquipmentPacket pk = new MobArmorEquipmentPacket();
    pk.eid = this.getHolder().getId();
    pk.slots = armor;
    pk.encode();
    pk.isEncoded = true;
    for (Player player : players) {
        if (player.equals(this.getHolder())) {
            InventorySlotPacket pk2 = new InventorySlotPacket();
            pk2.inventoryId = InventoryContentPacket.SPECIAL_ARMOR;
            pk2.slot = index - this.getSize();
            pk2.item = this.getItem(index);
            player.dataPacket(pk2);
        } else {
            player.dataPacket(pk);
        }
    }
}
Also used : Item(cn.nukkit.item.Item) Player(cn.nukkit.Player) InventorySlotPacket(cn.nukkit.network.protocol.InventorySlotPacket) MobArmorEquipmentPacket(cn.nukkit.network.protocol.MobArmorEquipmentPacket)

Example 3 with InventorySlotPacket

use of cn.nukkit.network.protocol.InventorySlotPacket in project Nukkit by Nukkit.

the class PlayerInventory method sendSlot.

@Override
public void sendSlot(int index, Player... players) {
    InventorySlotPacket pk = new InventorySlotPacket();
    pk.slot = index;
    pk.item = this.getItem(index).clone();
    for (Player player : players) {
        if (player.equals(this.getHolder())) {
            pk.inventoryId = ContainerIds.INVENTORY;
            player.dataPacket(pk);
        } else {
            int id = player.getWindowId(this);
            if (id == -1) {
                this.close(player);
                continue;
            }
            pk.inventoryId = id;
            player.dataPacket(pk.clone());
        }
    }
}
Also used : Player(cn.nukkit.Player) InventorySlotPacket(cn.nukkit.network.protocol.InventorySlotPacket)

Example 4 with InventorySlotPacket

use of cn.nukkit.network.protocol.InventorySlotPacket in project Nukkit by Nukkit.

the class PlayerCursorInventory method sendSlot.

public void sendSlot(int index, Player... target) {
    InventorySlotPacket pk = new InventorySlotPacket();
    pk.slot = index;
    pk.item = this.getItem(index);
    for (Player p : target) {
        if (p == this.getHolder()) {
            pk.inventoryId = ContainerIds.CURSOR;
            p.dataPacket(pk);
        } else {
            int id;
            if ((id = p.getWindowId(this)) == ContainerIds.NONE) {
                this.close(p);
                continue;
            }
            pk.inventoryId = id;
            p.dataPacket(pk);
        }
    }
}
Also used : Player(cn.nukkit.Player) InventorySlotPacket(cn.nukkit.network.protocol.InventorySlotPacket)

Aggregations

Player (cn.nukkit.Player)4 InventorySlotPacket (cn.nukkit.network.protocol.InventorySlotPacket)4 Item (cn.nukkit.item.Item)1 MobArmorEquipmentPacket (cn.nukkit.network.protocol.MobArmorEquipmentPacket)1