Jump to content

How do I add custom trades to the Wandering Trader?


Moomallowz

Recommended Posts

6 hours ago, Moomallowz said:

I'm trying to add a new item to the Wandering Trader's list of trades. Do I make a class? Do I call an event? Do I modify a loot table? How would I, as an absolute dunce, achieve this?

 

Call the WandererTradesEvent event and add your own custom ITrades to the list in the event.

  • Like 2
Link to comment
Share on other sites

41 minutes ago, Moomallowz said:

I am a dunce. I think I have it figured out now, though... thanks for the help!

Never mind. Apparently, my stupidity knows no bounds, because about 83 errors were returned.

I'm fairly certain that adding trades has to do with the BasicTrade class. however, and I've tried adding it into the method where I call the WandererTradesEvent. No luck so far, though.
Stupid as I may be, with the little experience in Java that I have, I will keep trying. 

Can someone walk me through setting up a trade?

 

Please be patient, I'm a dunce.

Link to comment
Share on other sites

10 hours ago, Moomallowz said:

Can someone walk me through setting up a trade?

What exactly are you having trouble with? This line of code:

event.getGenericTrades().add(new BasicTrade(5, new ItemStack(Items.ENCHANTED_GOLDEN_APPLE, 5), 2, 10));

would add a new trade that costs 5 emeralds and gives you 5 enchanted golden apples in return.

  • Like 1
Link to comment
Share on other sites

13 hours ago, vemerion said:

What exactly are you having trouble with? This line of code:


event.getGenericTrades().add(new BasicTrade(5, new ItemStack(Items.ENCHANTED_GOLDEN_APPLE, 5), 2, 10));

would add a new trade that costs 5 emeralds and gives you 5 enchanted golden apples in return.

By the way, and I hate to be a bother, what would I need to do to add a modded item to the trade rather than a vanilla one?

Please be patient, I'm a dunce.

Link to comment
Share on other sites

11 minutes ago, ChampionAsh5357 said:

Specify a modded Item instance instead of a vanilla Item instance within the first argument of the ItemStack.

I'M SO SORRY, BUT AW BEANS, I MESSED IT UP.

event.getGenericTrades().add(new BasicTrade(3, new ItemStack(RegistryHandler.EXOTIC_SPICE, 1), 10, 10));

This is what I have. I probably did something stupid, but I don't know what.

Please be patient, I'm a dunce.

Link to comment
Share on other sites

2 minutes ago, diesieben07 said:

What is your issue?

If you were asking for my issue...

REQUIRED TYPE: IItemProvider
PROVIDED: RegistryObject <net.minecraft.item.item>

If you were asking what my issue was, everything I touch breaks. It's hereditary, I think.

Please be patient, I'm a dunce.

Link to comment
Share on other sites

1 minute ago, diesieben07 said:

Please learn basic Java programming before making a mod.

public class Main {
    public static void main(String[] args) {
        System.out.println("Sir, I'd greatly appreciate it if you at least told me what I did wrong.");
    }
}

Please be patient, I'm a dunce.

Link to comment
Share on other sites

37 minutes ago, Moomallowz said:

If you were asking for my issue...

REQUIRED TYPE: IItemProvider
PROVIDED: RegistryObject <net.minecraft.item.item>

If you were asking what my issue was, everything I touch breaks. It's hereditary, I think.

If you're registering your objects using a deferred register, you'll need to use

RegistryHandler.EXOTIC_SPICE.get()

 

  • Like 1

Follow these rules when talking to me, and we'll get along fine.

1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them.

2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't?

3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum.

 

ModMCdl - Co-Founder and Director of Design for Artemis Game Studios

Link to comment
Share on other sites

3 hours ago, diesieben07 said:

This is unfortunately not helpful.

Well, it's the reason his item wasn't being accepted, was it not? The line required an instance of an item, not the item itself which with a DeferredRegister is handled with .get()?

  • Like 1

Follow these rules when talking to me, and we'll get along fine.

1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them.

2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't?

3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum.

 

ModMCdl - Co-Founder and Director of Design for Artemis Game Studios

Link to comment
Share on other sites

On 11/25/2020 at 2:38 AM, diesieben07 said:

Correct. You have not even explained this to them. Instead you said "do this". They copied it, no idea what is going on potentially.

This is not how learning works. If they have basic Java knowledge, this is trivial to figure out.

In my defense, I now know how to add ".get()" to the end of my line, thus giving it an instance of a modded item to work with.

Please be patient, I'm a dunce.

Link to comment
Share on other sites

On 11/25/2020 at 3:38 AM, diesieben07 said:

Correct. You have not even explained this to them. Instead you said "do this". They copied it, no idea what is going on potentially.

This is not how learning works. If they have basic Java knowledge, this is trivial to figure out.

Your answer ("please learn basic Java programming before making a mod.") was of no help at all either way. This question wasn't even about basic Java--the RegistryObject class and all of its methods are part of Minecraft Forge, and so it is completely reasonable not to know a specific function from it.

 

Moomallowz, I appreciate your attitude and I hope your mod is going well! You are not a dunce, those are understandable and clear questions, and you are working to improve.

 

  • Like 2
Link to comment
Share on other sites

  • Guest locked this topic
Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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