Example #1
0
        public override void HandleMcpeContainerOpen(McpeContainerOpen message)
        {
            var stringWriter = new StringWriter();

            ObjectDumper.Write(message, 1, stringWriter);

            Log.Debug($"Handled chest for {Client.EntityId} 0x{message.Id:x2} {message.GetType().Name}:\n{stringWriter} ");
        }
Example #2
0
        public override bool Interact(Level world, Player player, BlockCoordinates blockCoordinates, BlockFace face, Vector3 faceCoord)
        {
            var containerOpen = McpeContainerOpen.CreateObject();

            containerOpen.windowId               = 5 + 9;
            containerOpen.type                   = 5;
            containerOpen.coordinates            = blockCoordinates;
            containerOpen.unknownRuntimeEntityId = 1;
            player.SendPackage(containerOpen);

            return(true);
        }
Example #3
0
        public override bool Interact(Level world, Player player, BlockCoordinates blockCoordinates, BlockFace face, Vector3 faceCoord)
        {
            var containerOpen = McpeContainerOpen.CreateObject();

            containerOpen.windowId        = 24;
            containerOpen.type            = 24;
            containerOpen.coordinates     = blockCoordinates;
            containerOpen.runtimeEntityId = EntityManager.EntityIdSelf;
            player.SendPacket(containerOpen);

            return(true);
        }
Example #4
0
        public override bool Interact(Level world, Player player, BlockCoordinates blockCoordinates, BlockFace face, Vector3 faceCoord)
        {
            player.UsingAnvil = true;
            var containerOpen = McpeContainerOpen.CreateObject();

            containerOpen.windowId        = 14;
            containerOpen.type            = 5;
            containerOpen.coordinates     = blockCoordinates;
            containerOpen.runtimeEntityId = EntityManager.EntityIdSelf;
            player.SendPacket(containerOpen);

            //var sendSlot = McpeInventorySlot.CreateObject();
            //sendSlot.inventoryId = 14;
            //sendSlot.slot = (uint) 1;
            //sendSlot.uniqueid = 1;
            //sendSlot.item = new ItemIronShovel();
            //player.SendPacket(sendSlot);

            return(true);
        }
Example #5
0
        public override bool Interact(Level world, Player player, BlockCoordinates blockCoordinates, BlockFace face, Vector3 faceCoord)
        {
            var containerOpen = McpeContainerOpen.CreateObject();

            containerOpen.windowId        = 13;
            containerOpen.type            = 1;
            containerOpen.coordinates     = Coordinates;
            containerOpen.runtimeEntityId = EntityManager.EntityIdSelf;
            player.SendPacket(containerOpen);

            //var sendSlot = McpeInventorySlot.CreateObject();
            //sendSlot.inventoryId = 124;
            //sendSlot.slot = 32;
            //sendSlot.uniqueid = 1;
            //sendSlot.item = new ItemBlock(new Planks());
            //player.SendPacket(sendSlot);


            return(true);
        }
Example #6
0
 public virtual void HandleMcpeContainerOpen(McpeContainerOpen message)
 {
 }
 public abstract void HandleMcpeContainerOpen(McpeContainerOpen message);
        public void OpenInventory(Player player)
        {
            //Log.Info("Command Executed!");
            player.SendMessage("Opening Chest...");

            /*BlockCoordinates coords = (BlockCoordinates) player.KnownPosition;
             * coords.Y = 0;*/
            BlockCoordinates coords = new BlockCoordinates(0);

            //Block past = player.Level.GetBlock(coords);

            McpeUpdateBlock chest = Package <McpeUpdateBlock> .CreateObject();

            chest.blockId              = 54;
            chest.coordinates          = coords;
            chest.blockMetaAndPriority = 0 & 15;
            player.SendPackage(chest);

            ChestBlockEntity blockEntity = new ChestBlockEntity {
                Coordinates = coords
            };
            NbtCompound compound = blockEntity.GetCompound();

            compound["CustomName"] = new NbtString("CustomName", "§5§k--§r §l§o§2Virtual Chest§r §5§k--§r");
            //player.Level.SetBlockEntity(blockEntity);
            McpeBlockEntityData chestEntity = Package <McpeBlockEntityData> .CreateObject();

            chestEntity.namedtag = new Nbt
            {
                NbtFile = new NbtFile
                {
                    BigEndian = false,
                    UseVarInt = true,
                    RootTag   = compound
                }
            };
            chestEntity.coordinates = coords;
            player.SendPackage(chestEntity);

            //player.OpenInventory(coords);
            Inventory inventory = new Inventory(0, blockEntity, 1, new NbtList())
            {
                Type      = 0,
                WindowsId = 10
            };

            //inventory.InventoryChange += new Action<Player, MiNET.Inventory, byte, Item>(player.OnInventoryChange);
            inventory.AddObserver(player);
            McpeContainerOpen mcpeContainerOpen = Package <McpeContainerOpen> .CreateObject(1L);

            mcpeContainerOpen.windowId               = inventory.WindowsId;
            mcpeContainerOpen.type                   = inventory.Type;
            mcpeContainerOpen.coordinates            = coords;
            mcpeContainerOpen.unknownRuntimeEntityId = 1L;
            player.SendPackage((Package)mcpeContainerOpen);
            McpeInventoryContent inventoryContent = Package <McpeInventoryContent> .CreateObject(1L);

            inventoryContent.inventoryId = (uint)inventory.WindowsId;
            inventoryContent.input       = inventory.Slots;
            player.SendPackage((Package)inventoryContent);
        }
Example #9
0
 public override void HandleMcpeContainerOpen(McpeContainerOpen message)
 {
     UnhandledPackage(message);
 }
Example #10
0
 public override void HandleMcpeContainerOpen(McpeContainerOpen message)
 {
 }