(Java Minecraft 1.14) How to set the probability of nested entries in a loot table?My arrows aren't being executed at by a looping function/command blockPrevent functions from showing in autofill command windowWhere do I place block loot table in 1.14 data pack?How do I add a loot table to an item in a loot table in minecraft?How to run a command (using /execute) based on a player having 7 or more xp points in Minecraft?(Java Minecraft 1.14) How to /give a written book?(Java Minecraft 1.14) Was the Levels:n beacon tag removed/altered?(Minecraft Java 1.14) CanPlaceOn tag not working(Java Minecraft 1.14) how to access a written book's contents?(Java Minecraft 1.14) Datapack scoreboard timer optimization?

Can I shorten this filter, that finds disk sizes over 100G?

Does the use of a new concept require a prior definition?

How do I safety check that there is no light in Darkroom / Darkbag?

Export economy of Mars

Deflecting lasers with lightsabers

Pre-Greek θάλασσα "thalassa" and Turkish talaz

How long should I wait to plug in my refrigerator after unplugging it?

A wiild aanimal, a cardinal direction, or a place by the water

Partial Fractions: Why does this shortcut method work?

How to get maximum number that newcount can hold?

Protect a 6 inch air hose from physical damage

Why do player start with fighting for the corners in go?

Word to describe someone doing something even though told not to

Move label of an angle in Tikz

When did J.K. Rowling decide to make Ron and Hermione a couple?

Can't understand an ACT practice problem: Triangle appears to be isosceles, why isn't the answer 7.3~ here?

How is Sword Coast North governed?

Is this popular optical illusion made of a grey-scale image with coloured lines?

Does the problem of P vs NP come under the category of Operational Research?

Can the globes from multiple castings of the Otiluke's Freezing Sphere spell be stockpiled?

How were x-ray diffraction patterns deciphered before computers?

Why interlaced CRT scanning wasn't done back and forth?

linearization of objective function

Gold Battle KoTH



(Java Minecraft 1.14) How to set the probability of nested entries in a loot table?


My arrows aren't being executed at by a looping function/command blockPrevent functions from showing in autofill command windowWhere do I place block loot table in 1.14 data pack?How do I add a loot table to an item in a loot table in minecraft?How to run a command (using /execute) based on a player having 7 or more xp points in Minecraft?(Java Minecraft 1.14) How to /give a written book?(Java Minecraft 1.14) Was the Levels:n beacon tag removed/altered?(Minecraft Java 1.14) CanPlaceOn tag not working(Java Minecraft 1.14) how to access a written book's contents?(Java Minecraft 1.14) Datapack scoreboard timer optimization?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I'm trying to add a new drop, 'Dark Quartz', as a rare drop for the nether quartz ore, using a datapack. I want to replace the old loot table and add a new one, so I've copied the vanilla one out of the vanilla datapack and put it in the minecraft namespace in my datapack:




"type": "minecraft:block",
"pools": [

"rolls": 1,
"entries": [

"type": "minecraft:alternatives",
"children": [

"type": "minecraft:item",
"conditions": [

"condition": "minecraft:match_tool",
"predicate":
"enchantments": [

"enchantment": "minecraft:silk_touch",
"levels":
"min": 1


]


],
"name": "minecraft:nether_quartz_ore"
,

"type": "minecraft:item",
"functions": [

"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
,

"function": "minecraft:explosion_decay"

],
"name": "minecraft:quartz"

]

]

]



As you can see, there is one entry of the type minecraft:alternatives. This will select one entry from a list of "children": sub-entries. There are two sub-entries: one for if the player uses a silk touch pick, and one for if they use a pickaxe with fortune (including Fortune 0). I want to make the second entry, with the Fortune, have a 1/20 chance of additionally dropping a Dark Quartz item.



I know that to do this I can't add a third entry, because it would drop the Dark Quartz instead of the normal quartz, so therefore I need to nest two sub-sub-entries in the second sub-entry, and have the normal quartz sub-sub-entry get picked always and the other sub-sub-entry get picked 1/20 times.



This is where I'm stuck, because I don't know if nesting in this way is possible, or how to make one entry always be selected and the other be selected a certain portion of the time. Additionally, I would ideally have it where if there was no fortune on the pick, the only drop would be either quartz (19/20) or dark quartz (1/20). If there was a fortune great enough to have multiple drops, only one of the normal quartzes would have a 1/20 percent chance of being a Dark Quartz, while the rest would stay the same. However, I would be content with just getting the dark quartz to additionally be selected 5% of the time, as I originally detailed. If you need it for reference, the entry for my Dark Quartz should look something like this:




"type": "minecraft:item",
"functions": [

"function": "set_name",
"name": "text":"Dark Quartz","color":"dark_gray","italic":"false"
,

"function": "set_nbt",
"tag": "DarkQuartz:1b,CustomModelData:1"
,

"function": "minecraft:explosion_decay"

],
"name": "minecraft:quartz"



Any help is appreciated.










share|improve this question


























  • I don't know much about loot tables, but can't you do it like this? quartz OR (quartz AND dark_quartz) You would need to either specify the regular quartz twice or include a sub-loot-table.

    – Fabian Röling
    6 hours ago












  • Oh, good tag! I should go through all old questions one day and add it when necessary.

    – Fabian Röling
    6 hours ago











  • @FabianRöling I think, in terms of the use of this tag, it should be applied to all datapack things except functions, so tags, loot_tables, advancements, structures, and recipes. minecraft-commands should be used for functions that don't use any special function behavior, but minecraft-datapack should apply when raycasting or recursion (or /schedule) is involved. Finally, I think if anyone has a question about CustomModelData it should have minecraft-resourcepack and minecraft-datapack.

    – Nik3141
    5 hours ago












  • @FabianRöling So I don't know why I didn't think of this before, but your mention of AND reminded me of the "sequence" type of entry, which is basically AND. Just gotta get the probability to work and I'll post the solution as an answer.

    – Nik3141
    4 hours ago

















0















I'm trying to add a new drop, 'Dark Quartz', as a rare drop for the nether quartz ore, using a datapack. I want to replace the old loot table and add a new one, so I've copied the vanilla one out of the vanilla datapack and put it in the minecraft namespace in my datapack:




"type": "minecraft:block",
"pools": [

"rolls": 1,
"entries": [

"type": "minecraft:alternatives",
"children": [

"type": "minecraft:item",
"conditions": [

"condition": "minecraft:match_tool",
"predicate":
"enchantments": [

"enchantment": "minecraft:silk_touch",
"levels":
"min": 1


]


],
"name": "minecraft:nether_quartz_ore"
,

"type": "minecraft:item",
"functions": [

"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
,

"function": "minecraft:explosion_decay"

],
"name": "minecraft:quartz"

]

]

]



As you can see, there is one entry of the type minecraft:alternatives. This will select one entry from a list of "children": sub-entries. There are two sub-entries: one for if the player uses a silk touch pick, and one for if they use a pickaxe with fortune (including Fortune 0). I want to make the second entry, with the Fortune, have a 1/20 chance of additionally dropping a Dark Quartz item.



I know that to do this I can't add a third entry, because it would drop the Dark Quartz instead of the normal quartz, so therefore I need to nest two sub-sub-entries in the second sub-entry, and have the normal quartz sub-sub-entry get picked always and the other sub-sub-entry get picked 1/20 times.



This is where I'm stuck, because I don't know if nesting in this way is possible, or how to make one entry always be selected and the other be selected a certain portion of the time. Additionally, I would ideally have it where if there was no fortune on the pick, the only drop would be either quartz (19/20) or dark quartz (1/20). If there was a fortune great enough to have multiple drops, only one of the normal quartzes would have a 1/20 percent chance of being a Dark Quartz, while the rest would stay the same. However, I would be content with just getting the dark quartz to additionally be selected 5% of the time, as I originally detailed. If you need it for reference, the entry for my Dark Quartz should look something like this:




"type": "minecraft:item",
"functions": [

"function": "set_name",
"name": "text":"Dark Quartz","color":"dark_gray","italic":"false"
,

"function": "set_nbt",
"tag": "DarkQuartz:1b,CustomModelData:1"
,

"function": "minecraft:explosion_decay"

],
"name": "minecraft:quartz"



Any help is appreciated.










share|improve this question


























  • I don't know much about loot tables, but can't you do it like this? quartz OR (quartz AND dark_quartz) You would need to either specify the regular quartz twice or include a sub-loot-table.

    – Fabian Röling
    6 hours ago












  • Oh, good tag! I should go through all old questions one day and add it when necessary.

    – Fabian Röling
    6 hours ago











  • @FabianRöling I think, in terms of the use of this tag, it should be applied to all datapack things except functions, so tags, loot_tables, advancements, structures, and recipes. minecraft-commands should be used for functions that don't use any special function behavior, but minecraft-datapack should apply when raycasting or recursion (or /schedule) is involved. Finally, I think if anyone has a question about CustomModelData it should have minecraft-resourcepack and minecraft-datapack.

    – Nik3141
    5 hours ago












  • @FabianRöling So I don't know why I didn't think of this before, but your mention of AND reminded me of the "sequence" type of entry, which is basically AND. Just gotta get the probability to work and I'll post the solution as an answer.

    – Nik3141
    4 hours ago













0












0








0








I'm trying to add a new drop, 'Dark Quartz', as a rare drop for the nether quartz ore, using a datapack. I want to replace the old loot table and add a new one, so I've copied the vanilla one out of the vanilla datapack and put it in the minecraft namespace in my datapack:




"type": "minecraft:block",
"pools": [

"rolls": 1,
"entries": [

"type": "minecraft:alternatives",
"children": [

"type": "minecraft:item",
"conditions": [

"condition": "minecraft:match_tool",
"predicate":
"enchantments": [

"enchantment": "minecraft:silk_touch",
"levels":
"min": 1


]


],
"name": "minecraft:nether_quartz_ore"
,

"type": "minecraft:item",
"functions": [

"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
,

"function": "minecraft:explosion_decay"

],
"name": "minecraft:quartz"

]

]

]



As you can see, there is one entry of the type minecraft:alternatives. This will select one entry from a list of "children": sub-entries. There are two sub-entries: one for if the player uses a silk touch pick, and one for if they use a pickaxe with fortune (including Fortune 0). I want to make the second entry, with the Fortune, have a 1/20 chance of additionally dropping a Dark Quartz item.



I know that to do this I can't add a third entry, because it would drop the Dark Quartz instead of the normal quartz, so therefore I need to nest two sub-sub-entries in the second sub-entry, and have the normal quartz sub-sub-entry get picked always and the other sub-sub-entry get picked 1/20 times.



This is where I'm stuck, because I don't know if nesting in this way is possible, or how to make one entry always be selected and the other be selected a certain portion of the time. Additionally, I would ideally have it where if there was no fortune on the pick, the only drop would be either quartz (19/20) or dark quartz (1/20). If there was a fortune great enough to have multiple drops, only one of the normal quartzes would have a 1/20 percent chance of being a Dark Quartz, while the rest would stay the same. However, I would be content with just getting the dark quartz to additionally be selected 5% of the time, as I originally detailed. If you need it for reference, the entry for my Dark Quartz should look something like this:




"type": "minecraft:item",
"functions": [

"function": "set_name",
"name": "text":"Dark Quartz","color":"dark_gray","italic":"false"
,

"function": "set_nbt",
"tag": "DarkQuartz:1b,CustomModelData:1"
,

"function": "minecraft:explosion_decay"

],
"name": "minecraft:quartz"



Any help is appreciated.










share|improve this question
















I'm trying to add a new drop, 'Dark Quartz', as a rare drop for the nether quartz ore, using a datapack. I want to replace the old loot table and add a new one, so I've copied the vanilla one out of the vanilla datapack and put it in the minecraft namespace in my datapack:




"type": "minecraft:block",
"pools": [

"rolls": 1,
"entries": [

"type": "minecraft:alternatives",
"children": [

"type": "minecraft:item",
"conditions": [

"condition": "minecraft:match_tool",
"predicate":
"enchantments": [

"enchantment": "minecraft:silk_touch",
"levels":
"min": 1


]


],
"name": "minecraft:nether_quartz_ore"
,

"type": "minecraft:item",
"functions": [

"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
,

"function": "minecraft:explosion_decay"

],
"name": "minecraft:quartz"

]

]

]



As you can see, there is one entry of the type minecraft:alternatives. This will select one entry from a list of "children": sub-entries. There are two sub-entries: one for if the player uses a silk touch pick, and one for if they use a pickaxe with fortune (including Fortune 0). I want to make the second entry, with the Fortune, have a 1/20 chance of additionally dropping a Dark Quartz item.



I know that to do this I can't add a third entry, because it would drop the Dark Quartz instead of the normal quartz, so therefore I need to nest two sub-sub-entries in the second sub-entry, and have the normal quartz sub-sub-entry get picked always and the other sub-sub-entry get picked 1/20 times.



This is where I'm stuck, because I don't know if nesting in this way is possible, or how to make one entry always be selected and the other be selected a certain portion of the time. Additionally, I would ideally have it where if there was no fortune on the pick, the only drop would be either quartz (19/20) or dark quartz (1/20). If there was a fortune great enough to have multiple drops, only one of the normal quartzes would have a 1/20 percent chance of being a Dark Quartz, while the rest would stay the same. However, I would be content with just getting the dark quartz to additionally be selected 5% of the time, as I originally detailed. If you need it for reference, the entry for my Dark Quartz should look something like this:




"type": "minecraft:item",
"functions": [

"function": "set_name",
"name": "text":"Dark Quartz","color":"dark_gray","italic":"false"
,

"function": "set_nbt",
"tag": "DarkQuartz:1b,CustomModelData:1"
,

"function": "minecraft:explosion_decay"

],
"name": "minecraft:quartz"



Any help is appreciated.







minecraft minecraft-datapack






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 25 mins ago







Nik3141

















asked 6 hours ago









Nik3141Nik3141

1,6824 silver badges27 bronze badges




1,6824 silver badges27 bronze badges















  • I don't know much about loot tables, but can't you do it like this? quartz OR (quartz AND dark_quartz) You would need to either specify the regular quartz twice or include a sub-loot-table.

    – Fabian Röling
    6 hours ago












  • Oh, good tag! I should go through all old questions one day and add it when necessary.

    – Fabian Röling
    6 hours ago











  • @FabianRöling I think, in terms of the use of this tag, it should be applied to all datapack things except functions, so tags, loot_tables, advancements, structures, and recipes. minecraft-commands should be used for functions that don't use any special function behavior, but minecraft-datapack should apply when raycasting or recursion (or /schedule) is involved. Finally, I think if anyone has a question about CustomModelData it should have minecraft-resourcepack and minecraft-datapack.

    – Nik3141
    5 hours ago












  • @FabianRöling So I don't know why I didn't think of this before, but your mention of AND reminded me of the "sequence" type of entry, which is basically AND. Just gotta get the probability to work and I'll post the solution as an answer.

    – Nik3141
    4 hours ago

















  • I don't know much about loot tables, but can't you do it like this? quartz OR (quartz AND dark_quartz) You would need to either specify the regular quartz twice or include a sub-loot-table.

    – Fabian Röling
    6 hours ago












  • Oh, good tag! I should go through all old questions one day and add it when necessary.

    – Fabian Röling
    6 hours ago











  • @FabianRöling I think, in terms of the use of this tag, it should be applied to all datapack things except functions, so tags, loot_tables, advancements, structures, and recipes. minecraft-commands should be used for functions that don't use any special function behavior, but minecraft-datapack should apply when raycasting or recursion (or /schedule) is involved. Finally, I think if anyone has a question about CustomModelData it should have minecraft-resourcepack and minecraft-datapack.

    – Nik3141
    5 hours ago












  • @FabianRöling So I don't know why I didn't think of this before, but your mention of AND reminded me of the "sequence" type of entry, which is basically AND. Just gotta get the probability to work and I'll post the solution as an answer.

    – Nik3141
    4 hours ago
















I don't know much about loot tables, but can't you do it like this? quartz OR (quartz AND dark_quartz) You would need to either specify the regular quartz twice or include a sub-loot-table.

– Fabian Röling
6 hours ago






I don't know much about loot tables, but can't you do it like this? quartz OR (quartz AND dark_quartz) You would need to either specify the regular quartz twice or include a sub-loot-table.

– Fabian Röling
6 hours ago














Oh, good tag! I should go through all old questions one day and add it when necessary.

– Fabian Röling
6 hours ago





Oh, good tag! I should go through all old questions one day and add it when necessary.

– Fabian Röling
6 hours ago













@FabianRöling I think, in terms of the use of this tag, it should be applied to all datapack things except functions, so tags, loot_tables, advancements, structures, and recipes. minecraft-commands should be used for functions that don't use any special function behavior, but minecraft-datapack should apply when raycasting or recursion (or /schedule) is involved. Finally, I think if anyone has a question about CustomModelData it should have minecraft-resourcepack and minecraft-datapack.

– Nik3141
5 hours ago






@FabianRöling I think, in terms of the use of this tag, it should be applied to all datapack things except functions, so tags, loot_tables, advancements, structures, and recipes. minecraft-commands should be used for functions that don't use any special function behavior, but minecraft-datapack should apply when raycasting or recursion (or /schedule) is involved. Finally, I think if anyone has a question about CustomModelData it should have minecraft-resourcepack and minecraft-datapack.

– Nik3141
5 hours ago














@FabianRöling So I don't know why I didn't think of this before, but your mention of AND reminded me of the "sequence" type of entry, which is basically AND. Just gotta get the probability to work and I'll post the solution as an answer.

– Nik3141
4 hours ago





@FabianRöling So I don't know why I didn't think of this before, but your mention of AND reminded me of the "sequence" type of entry, which is basically AND. Just gotta get the probability to work and I'll post the solution as an answer.

– Nik3141
4 hours ago










1 Answer
1






active

oldest

votes


















0














Ok, so after a bit of thinking time I got it. Here is the file:




"type": "minecraft:block",
"pools": [

"rolls": 1,
"entries": [

"type": "minecraft:alternatives",
"children": [

"type": "minecraft:item",
"conditions": [

"condition": "minecraft:match_tool",
"predicate":
"enchantments": [

"enchantment": "minecraft:silk_touch",
"levels":
"min": 1


]


],
"name": "minecraft:nether_quartz_ore"
,

"type": "minecraft:sequence",
"children": [

"type": "minecraft:item",
"functions": [

"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
,

"function": "minecraft:explosion_decay"

],
"name": "minecraft:quartz"
,

"type": "minecraft:item",
"conditions": [

"condition": "random_chance",
"chance": 0.05

],
"functions": [

"function": "set_name",
"name": "text":"Dark Quartz","color":"dark_gray","italic":"false"
,

"function": "set_nbt",
"tag": "DarkQuartz:1b,CustomModelData:1"
,

"function": "minecraft:explosion_decay"

],
"name": "minecraft:quartz"

]

]

]

]



And now for an explanation:
The loot table has one pool, with one roll, meaning that only one entry will be selected. That one entry is of the type "minecraft:alternatives", which means that the first entry with successful conditions out of several children sub-entries will be the one choosen. There are two children pools: one for silk touch picks and one for non silk touch picks. The first is of type "minecraft:item", meaning it just has an item, while the second is of the type "minecraft:sequence", meaning it has a few sub-entries of its own. If the first is chosen, one nether quartz ore is dropped and that's the end of things. If the first is NOT chosen, we go into the second entry, which as we said earlier is a "minecraft:sequence" type. This means that out of several children entries, items will be chosen from all entries in a row until an entry fails the conditions, at which point everything stops. We have two entries: the first with no conditions (meaning it will always give an item, provided we have not used a silk touch pick and are therefore in the "minecraft:sequence" entry) and the second with a "random_chance" condition (meaning it only gives an item when a randomly generated number between 0 and 1 is below the "chance" value,in this case 0.05). Testing shows it works: mining 20 nether quartz ores with a normal pick, I get 20 nether quartz and 1 dark quartz. With a silk touch pick I get 20 nether quartz ore, and with a fortune III pick I get 39 nether quartz and 1 dark quartz.






share|improve this answer



























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "41"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    noCode: true, onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgaming.stackexchange.com%2fquestions%2f355599%2fjava-minecraft-1-14-how-to-set-the-probability-of-nested-entries-in-a-loot-tab%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Ok, so after a bit of thinking time I got it. Here is the file:




    "type": "minecraft:block",
    "pools": [

    "rolls": 1,
    "entries": [

    "type": "minecraft:alternatives",
    "children": [

    "type": "minecraft:item",
    "conditions": [

    "condition": "minecraft:match_tool",
    "predicate":
    "enchantments": [

    "enchantment": "minecraft:silk_touch",
    "levels":
    "min": 1


    ]


    ],
    "name": "minecraft:nether_quartz_ore"
    ,

    "type": "minecraft:sequence",
    "children": [

    "type": "minecraft:item",
    "functions": [

    "function": "minecraft:apply_bonus",
    "enchantment": "minecraft:fortune",
    "formula": "minecraft:ore_drops"
    ,

    "function": "minecraft:explosion_decay"

    ],
    "name": "minecraft:quartz"
    ,

    "type": "minecraft:item",
    "conditions": [

    "condition": "random_chance",
    "chance": 0.05

    ],
    "functions": [

    "function": "set_name",
    "name": "text":"Dark Quartz","color":"dark_gray","italic":"false"
    ,

    "function": "set_nbt",
    "tag": "DarkQuartz:1b,CustomModelData:1"
    ,

    "function": "minecraft:explosion_decay"

    ],
    "name": "minecraft:quartz"

    ]

    ]

    ]

    ]



    And now for an explanation:
    The loot table has one pool, with one roll, meaning that only one entry will be selected. That one entry is of the type "minecraft:alternatives", which means that the first entry with successful conditions out of several children sub-entries will be the one choosen. There are two children pools: one for silk touch picks and one for non silk touch picks. The first is of type "minecraft:item", meaning it just has an item, while the second is of the type "minecraft:sequence", meaning it has a few sub-entries of its own. If the first is chosen, one nether quartz ore is dropped and that's the end of things. If the first is NOT chosen, we go into the second entry, which as we said earlier is a "minecraft:sequence" type. This means that out of several children entries, items will be chosen from all entries in a row until an entry fails the conditions, at which point everything stops. We have two entries: the first with no conditions (meaning it will always give an item, provided we have not used a silk touch pick and are therefore in the "minecraft:sequence" entry) and the second with a "random_chance" condition (meaning it only gives an item when a randomly generated number between 0 and 1 is below the "chance" value,in this case 0.05). Testing shows it works: mining 20 nether quartz ores with a normal pick, I get 20 nether quartz and 1 dark quartz. With a silk touch pick I get 20 nether quartz ore, and with a fortune III pick I get 39 nether quartz and 1 dark quartz.






    share|improve this answer





























      0














      Ok, so after a bit of thinking time I got it. Here is the file:




      "type": "minecraft:block",
      "pools": [

      "rolls": 1,
      "entries": [

      "type": "minecraft:alternatives",
      "children": [

      "type": "minecraft:item",
      "conditions": [

      "condition": "minecraft:match_tool",
      "predicate":
      "enchantments": [

      "enchantment": "minecraft:silk_touch",
      "levels":
      "min": 1


      ]


      ],
      "name": "minecraft:nether_quartz_ore"
      ,

      "type": "minecraft:sequence",
      "children": [

      "type": "minecraft:item",
      "functions": [

      "function": "minecraft:apply_bonus",
      "enchantment": "minecraft:fortune",
      "formula": "minecraft:ore_drops"
      ,

      "function": "minecraft:explosion_decay"

      ],
      "name": "minecraft:quartz"
      ,

      "type": "minecraft:item",
      "conditions": [

      "condition": "random_chance",
      "chance": 0.05

      ],
      "functions": [

      "function": "set_name",
      "name": "text":"Dark Quartz","color":"dark_gray","italic":"false"
      ,

      "function": "set_nbt",
      "tag": "DarkQuartz:1b,CustomModelData:1"
      ,

      "function": "minecraft:explosion_decay"

      ],
      "name": "minecraft:quartz"

      ]

      ]

      ]

      ]



      And now for an explanation:
      The loot table has one pool, with one roll, meaning that only one entry will be selected. That one entry is of the type "minecraft:alternatives", which means that the first entry with successful conditions out of several children sub-entries will be the one choosen. There are two children pools: one for silk touch picks and one for non silk touch picks. The first is of type "minecraft:item", meaning it just has an item, while the second is of the type "minecraft:sequence", meaning it has a few sub-entries of its own. If the first is chosen, one nether quartz ore is dropped and that's the end of things. If the first is NOT chosen, we go into the second entry, which as we said earlier is a "minecraft:sequence" type. This means that out of several children entries, items will be chosen from all entries in a row until an entry fails the conditions, at which point everything stops. We have two entries: the first with no conditions (meaning it will always give an item, provided we have not used a silk touch pick and are therefore in the "minecraft:sequence" entry) and the second with a "random_chance" condition (meaning it only gives an item when a randomly generated number between 0 and 1 is below the "chance" value,in this case 0.05). Testing shows it works: mining 20 nether quartz ores with a normal pick, I get 20 nether quartz and 1 dark quartz. With a silk touch pick I get 20 nether quartz ore, and with a fortune III pick I get 39 nether quartz and 1 dark quartz.






      share|improve this answer



























        0












        0








        0







        Ok, so after a bit of thinking time I got it. Here is the file:




        "type": "minecraft:block",
        "pools": [

        "rolls": 1,
        "entries": [

        "type": "minecraft:alternatives",
        "children": [

        "type": "minecraft:item",
        "conditions": [

        "condition": "minecraft:match_tool",
        "predicate":
        "enchantments": [

        "enchantment": "minecraft:silk_touch",
        "levels":
        "min": 1


        ]


        ],
        "name": "minecraft:nether_quartz_ore"
        ,

        "type": "minecraft:sequence",
        "children": [

        "type": "minecraft:item",
        "functions": [

        "function": "minecraft:apply_bonus",
        "enchantment": "minecraft:fortune",
        "formula": "minecraft:ore_drops"
        ,

        "function": "minecraft:explosion_decay"

        ],
        "name": "minecraft:quartz"
        ,

        "type": "minecraft:item",
        "conditions": [

        "condition": "random_chance",
        "chance": 0.05

        ],
        "functions": [

        "function": "set_name",
        "name": "text":"Dark Quartz","color":"dark_gray","italic":"false"
        ,

        "function": "set_nbt",
        "tag": "DarkQuartz:1b,CustomModelData:1"
        ,

        "function": "minecraft:explosion_decay"

        ],
        "name": "minecraft:quartz"

        ]

        ]

        ]

        ]



        And now for an explanation:
        The loot table has one pool, with one roll, meaning that only one entry will be selected. That one entry is of the type "minecraft:alternatives", which means that the first entry with successful conditions out of several children sub-entries will be the one choosen. There are two children pools: one for silk touch picks and one for non silk touch picks. The first is of type "minecraft:item", meaning it just has an item, while the second is of the type "minecraft:sequence", meaning it has a few sub-entries of its own. If the first is chosen, one nether quartz ore is dropped and that's the end of things. If the first is NOT chosen, we go into the second entry, which as we said earlier is a "minecraft:sequence" type. This means that out of several children entries, items will be chosen from all entries in a row until an entry fails the conditions, at which point everything stops. We have two entries: the first with no conditions (meaning it will always give an item, provided we have not used a silk touch pick and are therefore in the "minecraft:sequence" entry) and the second with a "random_chance" condition (meaning it only gives an item when a randomly generated number between 0 and 1 is below the "chance" value,in this case 0.05). Testing shows it works: mining 20 nether quartz ores with a normal pick, I get 20 nether quartz and 1 dark quartz. With a silk touch pick I get 20 nether quartz ore, and with a fortune III pick I get 39 nether quartz and 1 dark quartz.






        share|improve this answer













        Ok, so after a bit of thinking time I got it. Here is the file:




        "type": "minecraft:block",
        "pools": [

        "rolls": 1,
        "entries": [

        "type": "minecraft:alternatives",
        "children": [

        "type": "minecraft:item",
        "conditions": [

        "condition": "minecraft:match_tool",
        "predicate":
        "enchantments": [

        "enchantment": "minecraft:silk_touch",
        "levels":
        "min": 1


        ]


        ],
        "name": "minecraft:nether_quartz_ore"
        ,

        "type": "minecraft:sequence",
        "children": [

        "type": "minecraft:item",
        "functions": [

        "function": "minecraft:apply_bonus",
        "enchantment": "minecraft:fortune",
        "formula": "minecraft:ore_drops"
        ,

        "function": "minecraft:explosion_decay"

        ],
        "name": "minecraft:quartz"
        ,

        "type": "minecraft:item",
        "conditions": [

        "condition": "random_chance",
        "chance": 0.05

        ],
        "functions": [

        "function": "set_name",
        "name": "text":"Dark Quartz","color":"dark_gray","italic":"false"
        ,

        "function": "set_nbt",
        "tag": "DarkQuartz:1b,CustomModelData:1"
        ,

        "function": "minecraft:explosion_decay"

        ],
        "name": "minecraft:quartz"

        ]

        ]

        ]

        ]



        And now for an explanation:
        The loot table has one pool, with one roll, meaning that only one entry will be selected. That one entry is of the type "minecraft:alternatives", which means that the first entry with successful conditions out of several children sub-entries will be the one choosen. There are two children pools: one for silk touch picks and one for non silk touch picks. The first is of type "minecraft:item", meaning it just has an item, while the second is of the type "minecraft:sequence", meaning it has a few sub-entries of its own. If the first is chosen, one nether quartz ore is dropped and that's the end of things. If the first is NOT chosen, we go into the second entry, which as we said earlier is a "minecraft:sequence" type. This means that out of several children entries, items will be chosen from all entries in a row until an entry fails the conditions, at which point everything stops. We have two entries: the first with no conditions (meaning it will always give an item, provided we have not used a silk touch pick and are therefore in the "minecraft:sequence" entry) and the second with a "random_chance" condition (meaning it only gives an item when a randomly generated number between 0 and 1 is below the "chance" value,in this case 0.05). Testing shows it works: mining 20 nether quartz ores with a normal pick, I get 20 nether quartz and 1 dark quartz. With a silk touch pick I get 20 nether quartz ore, and with a fortune III pick I get 39 nether quartz and 1 dark quartz.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 4 hours ago









        Nik3141Nik3141

        1,6824 silver badges27 bronze badges




        1,6824 silver badges27 bronze badges






























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Arqade!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgaming.stackexchange.com%2fquestions%2f355599%2fjava-minecraft-1-14-how-to-set-the-probability-of-nested-entries-in-a-loot-tab%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            ParseJSON using SSJSUsing AMPscript with SSJS ActivitiesHow to resubscribe a user in Marketing cloud using SSJS?Pulling Subscriber Status from Lists using SSJSRetrieving Emails using SSJSProblem in updating DE using SSJSUsing SSJS to send single email in Marketing CloudError adding EmailSendDefinition using SSJS

            Кампала Садржај Географија Географија Историја Становништво Привреда Партнерски градови Референце Спољашње везе Мени за навигацију0°11′ СГШ; 32°20′ ИГД / 0.18° СГШ; 32.34° ИГД / 0.18; 32.340°11′ СГШ; 32°20′ ИГД / 0.18° СГШ; 32.34° ИГД / 0.18; 32.34МедијиПодациЗванични веб-сајту

            19. јануар Садржај Догађаји Рођења Смрти Празници и дани сећања Види још Референце Мени за навигацијуу