Jump to content

Recommended Posts

Posted
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?

Posted
@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?

Posted
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.

Posted
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.

Posted
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.

Posted
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

Posted
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

Posted
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?

Posted
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?

 

Posted
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")); ?

Posted
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?

Posted (edited)
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 by nov4e
Posted

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%.

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.