Minecraft Data Packs / Other

Datapack Menu, No More Using The Vanilla Datapack List.

  • check_circle Functions
  • 1,995 views, 1 today
  • 223 downloads, 0 today
  • 12
  • 13
  • 3
Max Flower's Avatar Max Flower
Level 14 : Journeyman Pony
2
One thing that has annoyed me is that using /datapack list came up with a ugly menu and didn't really tell you much, so I came up with this datapack, it shows your installed datapacks in a much easier to read format while also crediting the datapack creator, as seen in the image above

How To Use:

As a consumer:
It's very simple, just do /trigger Datapack_Menu as seen in the image.
As a creator:
It's a bit complicated but I think I made it as simple as possible, if you're here you
probably know about directories so I won't bother explaining that to you.

Here's the folder structure you will need:

- Your Datapack
  - data
    - your_namespace
      - functions
        - menuitem.mcfunction
    - minecraft
      - tags
        - functions
          - menuinfo.json

menuinfo.json HAS to have
{"replace":false,"values":[";dpmenu:menuitem";]}
in it.
While menuitem.mcfunction can really have anything in it I do think consistency would be good, so use
tellraw @s ["",{"text":"[your datapack]","color":"gold","clickEvent":{"action":"open_url","value":"your download page/"},"hoverEvent":{"action":"show_text","contents":[{"text":"Version: 1.0","color":"blue"}]}},{"text":" [your name]","color":"light_purple","clickEvent":{"action":"open_url","value":"your site"}},{"text": " [UNINSTALL]","color": "dark_purple","clickEvent": {"action": "run_command","value": "uninstall function"}}]
and customize it however you want.


One more thing i should mention is how menuitem.mcfunction can be named anything, just make sure menuinfo.json has the correct function inside of it.
Add collapsed content here





This datapack really only is useful if a lot of people use it, so I will ask you all to share this datapack wherever you can. I will be making all my datapacks compatible with this from now on and I suggest you do as well.
CompatibilityMinecraft 1.13
toMinecraft 1.19
Tags

Create an account or sign in to comment.

Kefaku
12/27/2022 2:44 am
Level 42 : Master Nerd
history
Kefaku's Avatar
execute as @a[scores={Datapack_Menu=1}] if score @s Datapack_Menu matches 1 run function dpmenu:showmenu
You check for the same score twice (in the selector and with if score; dpmenu:tick), that is unnecessary

Anyways, great idea! :D

Edit: I noticed the same issue has already been mentioned in another comment.
1
Frogster
09/17/2022 10:43 am
Level 34 : Artisan Waffle
Frogster's Avatar
Great idea! But I must say that I feel as though if people don’t know that this pack exists, then it’ll go unused and datapack developers would waste time in adding support for this.

I would also add a requirement where the datapacks should use periods to line up with their “Author” and “Uninstall” buttons. A clean, aligned GUI would be very good in getting more people to your pack. That is also why when you create a settings menu, you should generally put the options to the left of the label to ensure that the labels align. Just a piece of advice.
2
Lordphenex
09/17/2022 4:33 am
Level 40 : Master Miner
Lordphenex's Avatar
That's a good idea to enhance compatibility across datapacks. But I think you should have a difference between a normal player and an admin player, maybe via a different message for both. The admin player would have the uninstall button but the normal player should not have it.
In your tick function you wrote
execute as @a[scores={Datapack_Menu=1}] if score @s Datapack_Menu matches 1 run function dpmenu:showmenubut the selector and the if score argument do exactly the same thing.
3
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome