Currently, there doesn't seem to be a way for plugins to open the beacon view for an existing beacon block in the world.
The beacon BlockState does not provide a getInventory() method like other types of blocks that have an inventory. This is probably because the beacon inventory is kind of special: It only exists while a player is viewing it. Any temporarily stored item is either converted to beacon levels by the player, or dropped once the player closes the inventory.
Options could be:
- Have the Beacon BlockState return some kind of dummy beacon inventory that can be used to open the beacon view for a player via openInventory(inventory). Since the item stored by this inventory would not be persisted, an option could be for it to either restrict or ignore attempts to store items in it. Or have the item silently vanish once this dummy inventory object is GC'ed.
- Provide some kind of special method to open the beacon view for a player, similar to the existing HumanEntity#openEnchanting andHumanEntity#openWorkbench methods.