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} "); }
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); }
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); }
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); }
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); }
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); }
public override void HandleMcpeContainerOpen(McpeContainerOpen message) { UnhandledPackage(message); }
public override void HandleMcpeContainerOpen(McpeContainerOpen message) { }