mc-datapacks / review-tracker

Datapack Review tracker
6 stars 1 forks source link

Warp Shrines #79

Closed maxheyn closed 2 years ago

maxheyn commented 2 years ago

Project Page: https://github.com/maxheyn/warp_shrines

oOBoomberOo commented 2 years ago

A bounty of $10 has been added to this review. You will be rewarded if you choose to review this datapack.

Keep in mind that I will be expecting a high-quality review with this bounty.

EstEarth202 commented 2 years ago
maxheyn commented 2 years ago

Published Websites

Discord User

Review Type

EstEarth202 commented 2 years ago

Certified Compatibility βœ…

You can now use the first certified banner for this datapack. The link to your datapack will also be posted on the #certified-datapacks channel.

βš β”β”β”β”β”γƒ»Important γƒ»β”β”β”β”β”βš 

Global ignoring tag βœ…

Namespace Convention βœ…

If you have more than one datapack project, I need to recommend this, I hope it will be useful to you.

Suggest (Optional): Please note: Namespaces are not recommended as datapack names (except standalone), which may cause some issues.

Datapack Advancement

data
 β”œ <namespace> <- It doesn't make sense to set it as datapack_name.
 β”‚    β”” advancements         
 β”‚        β”” <datapack_name>.json
 β”œ <global>
 β”‚    β”” advancements
 β”‚        β”œ <namespace>.json <- "This is creator_head" * That's why
 β”‚        β”” root.json

Scoreboards and teams: (1.17 and below)

Scoreboards and teams: (1.18 and higher) | Tags: (1.13 and higher)

Directories guideline

Guideline Optional

  • Multiple datapacks: If possible, I would recommend the following.

Q: If I use creator_name instead of datapack_name. I'm going to have an issue like this

"friendly_beacon:main" -> "boomber:main"
"shulker_mob:main" -> "boomber:main"

A: You can create sub-folders inside functions folder.

boomber/functions/friendly_beacon/
boomber/functions/shulker_mob/

"friendly_beacon:main" -> "boomber:friendly_beacon/main"
"shulker_mob:main" -> "boomber:shulker_mob/main"

If you want an example guideline, I have it.

data
 β”œ <your_name>
 β”‚    β”œ advancements
 β”‚    β”‚   β”œ <datapack_name>
 β”‚    β”‚   β”‚   β”œ <event>
 β”‚    β”‚   β”‚   β”‚   β”” <player_hurt_entity>.json
 β”‚    β”‚   β”‚   β”œ <place>
 β”‚    β”‚   β”‚   β”‚   β”” <place_block>.json
 β”‚    β”‚   β”‚   β”” <folder advancement groups>
 β”‚    β”‚   β”” <datapack_name>.json
 β”‚    β”œ functions
 β”‚    β”‚   β”œ <datapack_name>
 β”‚    β”‚   β”‚   β”œ <folder function groups>
 β”‚    β”‚   β”‚   β”œ main.mcfunction or tick.mcfunction
 β”‚    β”‚   β”‚   β”œ setup.mcfunction or init.mcfunction
 β”‚    β”‚   β”‚   β”” uninstall.function
 β”‚    β”‚   β”” <database, random & etc.>
 β”‚    β”œ loot_tables
 β”‚    β”‚   β”” <datapack_name>
 β”‚    β”‚       β”” <loot folder groups item, block>
 β”‚    β”‚           β”” <...>.json
 β”‚    β”œ predicates
 β”‚    β”‚   β”” <datapack_name>
 β”‚    β”‚       β”œ <folder predicate groups>
 β”‚    β”‚       β”” <...>.json
 β”‚    β”œ recipes
 β”‚    β”‚   β”” <datapack_name>
 β”‚    β”‚       β”” <...>.json
 β”‚    β”” tags
 β”‚        β””  <items>
 β”‚            β”” <datapack_name>
 β”‚                β”” <...>.json
 β”œ <global>
 β”‚    β”” advancements
 β”‚        β”œ <your_name>.json
 β”‚        β”” root.json
 β”” <minecraft>

More facts from the perspective of convention mod

In datapacker circles, there are identical datapacks created by different datapackers, with the same functionality. (with different command's algorithm in different datapacker methods, but with the same result) and may be slightly different, according to the functionality and design features.

Example cool stuff datapack here

For example, the veinminer datapack, if you use a namespace is vm and other datapackers use too, it's an issue. And not explicitly identify under the datapacker's name. Because it was not grouped or class directly under datapacker's name, which lacks flexibility and easy maintenance.

Note: But this is not disallowing you to use namespace as datapack name.

Fictitious directory example:

data veinminer:main
 β”œ veinminer
 β”œ <global>
 β”‚    β”” advancements
 β”‚        β”” convention.json

data - villager_magic:main
 β”œ villager_magic
 β”œ <global>
 β”‚    β”” advancements
 β”‚        β”” convention.json

data - veinminer_faq:tick
 β”œ veinminer_faq
 β”œ <global>
 β”‚    β”” advancements
 β”‚        β”” faq.json

data - vm:tick
 β”œ vm (Virtual Magic)
 β”œ <global>
 β”‚    β”” advancements
 β”‚        β”” faq.json
function veinminer:main
function villager_magic:main
function veinminer_faq:tick
function vm:tick

Or

data - convention:veinminer/main
 β”œ convention
 β”‚    β”” functions
 β”‚        β”” veinminer
 β”œ <global>
 β”‚    β”” advancements
 β”‚        β”” convention.json

data - convention:villager_magic/main
 β”œ convention
 β”‚    β”” functions
 β”‚        β”” villager_magic
 β”œ <global>
 β”‚    β”” advancements
 β”‚        β”” convention.json

 data - faq:veinminer/tick
 β”œ faq
 β”‚    β”” functions
 β”‚        β”” veinminer
 β”œ <global>
 β”‚    β”” advancements
 β”‚        β”” faq.json

data - faq:virtual_magic/tick
 β”œ faq
 β”‚    β”” functions
 β”‚        β”” virtual_magic
 β”œ <global>
 β”‚    β”” advancements
 β”‚        β”” faq.json
function convention:veinminer/main
function convention:villager_magic/main
function faq:veinminer/tick
function faq:virtual_magic/tick

But from the above example, which one do you think looks better? Here, I think it's better to let the user see both the creator name and the datapack name when typing the /function command. Instead of just the datapack name. I hope this helpful to you in datapacking.

Note: This is a draft I prepared to bring more detail and comprehension to the conventions, but it isn't complete enough to publish on the conventions' page at this time.

Additional Suggesttion

Try to check data\warp_shrines\functions\shrines\thrown_pearl.mcfunction I see that line 18 contains execute run scoreboard players add $ws_shrineCount ws_linkID 1.