November 8, 20186 yr There is a section in the official docs that explains how to add custom drops to a vanilla loottable. If you need an example you can have them here(json, registration, injection)
November 8, 20186 yr Author 8 minutes ago, V0idWa1k3r said: There is a section in the official docs that explains how to add custom drops to a vanilla loottable. If you need an example you can have them here(json, registration, injection) why I have to use loot tables? 4 hours ago, Animefan8888 said: LivingDeathEvent
November 8, 20186 yr 4 minutes ago, nov4e said: why I have to use loot tables? 36 minutes ago, V0idWa1k3r said: data-driven methods prefferred over code-based ones, a lot of mods rely on loottables, like JEI Mob drops addon. You also won't have any issues as a side bonus. Also why did you quote @Animefan8888 who also told you not to use LivingDeathEvent?
November 8, 20186 yr Author @SubscribeEvent public static void onLootTable(LootTableLoadEvent event) { if (event.getName().toString().equals("minecraft:entities/pig")) { LootEntry entry = new LootEntryTable(tableScales, 1, 0, new LootCondition[0], "bone_drop"); LootPool pool = new LootPool(new LootEntry[] { entry }, new LootCondition[0], new RandomValueRange(1), new RandomValueRange(0, 1), "bone_drop"); event.getTable().addPool(pool); } } { "pools": [ { "rolls": 1, "name": "bone", "entries": [ { "type": "item", "weight": 1, "name": "minecraft:bone", "functions": [ { "function": "set_count", "count": { "min": 1, "max": 2 } }, { "function": "looting_enchant", "count": { "min": 1, "max": 2 }, "limit": 2 } ] } ] } ] } HDropsLiving.tableScales = LootTableList.register(new ResourceLocation("bone_drop")); Thi is correct?
November 8, 20186 yr 23 minutes ago, nov4e said: HDropsLiving.tableScales = LootTableList.register(new ResourceLocation("bone_drop")); This would register the loottable with the name of minecraft:bone_drop. I don't think your modid is minecraft. Also when are you calling this? Apart from that(and apart from the fact that you've blatanly copied my code - you even left the field names the same which makes no sense in your mod) sure, looks fine to me.
November 8, 20186 yr Author 3 minutes ago, V0idWa1k3r said: Apart from that(and apart from the fact that you've blatanly copied my code - you even left the field names the same which makes no sense in your mod) sure, looks fine to me. It's just for make a base. Tomorrow I will change the code. 4 minutes ago, V0idWa1k3r said: minecraft:bone_drop What you mean? I would it drops minecraft:bone. 27 minutes ago, nov4e said: HDropsLiving.tableScales = LootTableList.register(new ResourceLocation("bone_drop")); Now eclipse tell me this is not correct.
November 8, 20186 yr 4 minutes ago, nov4e said: What you mean? I would it drops minecraft:bone. It can drop whatever you want, but you are telling the game to look for a lottable at minecraft:loot_tables/bone_drop, which is incorrect. 5 minutes ago, nov4e said: Now eclipse tell me this is not correct. Well, you are a programmer. You should be able to easily fix syntax errors. I can't tell what the issue is since you have neither provided enough code to determine the issue nor the error report.
November 8, 20186 yr Author 17 minutes ago, V0idWa1k3r said: It can drop whatever you want, but you are telling the game to look for a lottable at minecraft:loot_tables/bone_drop, which is incorrect. HDropsLiving.tableScales = LootTableList.register(new ResourceLocation("nex:bone_drop")); nex is the mod id
November 9, 20186 yr 1 hour ago, nov4e said: Why????? Multiple people could try to use that modid leading to mod ID conflictions. You have 64 characters use them. VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator.
November 9, 20186 yr Author 1 minute ago, Animefan8888 said: Multiple people could try to use that modid leading to mod ID conflictions. You have 64 characters use them. okok but we are here for talking about loot tables. If I would do that i have to rewrite a lot of models, recipes ufff
November 9, 20186 yr 56 minutes ago, nov4e said: If I would do that i have to rewrite a lot of models, recipes ufff Write a file parser that will do it for you. VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator.
November 9, 20186 yr Author 1 hour ago, Animefan8888 said: Write a file parser that will do it for you. okok but i need help for loottables.
November 10, 20186 yr Author On 11/8/2018 at 10:18 PM, nov4e said: @SubscribeEvent public static void onLootTable(LootTableLoadEvent event) { if (event.getName().toString().equals("minecraft:entities/pig")) { LootEntry entry = new LootEntryTable(tableScales, 1, 0, new LootCondition[0], "bone_drop"); LootPool pool = new LootPool(new LootEntry[] { entry }, new LootCondition[0], new RandomValueRange(1), new RandomValueRange(0, 1), "bone_drop"); event.getTable().addPool(pool); } } { "pools": [ { "rolls": 1, "name": "bone", "entries": [ { "type": "item", "weight": 1, "name": "minecraft:bone", "functions": [ { "function": "set_count", "count": { "min": 1, "max": 2 } }, { "function": "looting_enchant", "count": { "min": 1, "max": 2 }, "limit": 2 } ] } ] } ] } HDropsLiving.tableScales = LootTableList.register(new ResourceLocation("bone_drop")); Is this correct?
November 10, 20186 yr 37 minutes ago, nov4e said: HDropsLiving.tableScales = LootTableList.register(new ResourceLocation("bone_drop")); On 11/9/2018 at 12:39 AM, V0idWa1k3r said: This would register the loottable with the name of minecraft:bone_drop. I don't think your modid is minecraft. Also when are you calling this?
November 10, 20186 yr Author 1 minute ago, V0idWa1k3r said: 35 minutes ago, nov4e said: HDropsLiving.tableScales = LootTableList.register(new ResourceLocation("bone_drop")); On 11/8/2018 at 10:39 PM, V0idWa1k3r said: This would register the loottable with the name of minecraft:bone_drop. I don't think your modid is minecraft. Also when are you calling this? So it has to be: HDropsLiving.tableScales = LootTableList.register(new ResourceLocation("nex:inject/bone_drop")); ?
November 10, 20186 yr 4 minutes ago, nov4e said: new ResourceLocation("nex:inject/bone_drop") Where did the inject/ came from? It wasn't there in your previous message. Is your loottable located withing the inject folder?
November 10, 20186 yr Author 18 minutes ago, V0idWa1k3r said: Where did the inject/ came from? It wasn't there in your previous message. Is your loottable located withing the inject folder? Ok so i have to remove inject/ ?? I found inject in the documentation Edited November 10, 20186 yr by nov4e
November 10, 20186 yr I don't know. I have not seen your folder structure nor have you told it to us. I don't know which folder contains your loottable file and thus which path you should use. The base path is assets/%modid%/loot_tables/%filename%.
November 10, 20186 yr Author 31 minutes ago, V0idWa1k3r said: assets/%modid%/loot_tables/%filename%. yeah is here the file.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.