Jump to content
  • Home
  • Files
  • Docs
Topics
  • All Content

  • This Topic
  • This Forum

  • Advanced Search
  • Existing user? Sign In  

    Sign In



    • Not recommended on shared computers


    • Forgot your password?

  • Sign Up
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • How do I add custom trades to the Wandering Trader?
Currently Supported: 1.16.X (Latest) and 1.15.X (LTS)
Sign in to follow this  
Followers 1
Moomallowz

How do I add custom trades to the Wandering Trader?

By Moomallowz, November 23, 2020 in Modder Support

  • Start new topic
  • Prev
  • 1
  • 2
  • Next
  • Page 1 of 2  

Recommended Posts

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 23, 2020

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?

 


Please be patient, I'm a dunce.

Share this post


Link to post
Share on other sites

vemerion    57

vemerion

vemerion    57

  • Creeper Killer
  • vemerion
  • Members
  • 57
  • 222 posts
Posted November 23, 2020
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

Share this post


Link to post
Share on other sites

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 23, 2020
9 hours ago, vemerion said:

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

Thank you, good sir. Can I call this event in any class, or do I need to do it a specific way?


Please be patient, I'm a dunce.

Share this post


Link to post
Share on other sites

diesieben07    7696

diesieben07

diesieben07    7696

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7696
  • 56372 posts
Posted November 23, 2020
33 minutes ago, Moomallowz said:

Thank you, good sir. Can I call this event in any class, or do I need to do it a specific way?

https://mcforge.readthedocs.io/en/latest/events/intro/

  • Like 1

Share this post


Link to post
Share on other sites

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 23, 2020
2 hours ago, diesieben07 said:

https://mcforge.readthedocs.io/en/latest/events/intro/

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


Please be patient, I'm a dunce.

Share this post


Link to post
Share on other sites

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 23, 2020
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.

Share this post


Link to post
Share on other sites

vemerion    57

vemerion

vemerion    57

  • Creeper Killer
  • vemerion
  • Members
  • 57
  • 222 posts
Posted November 24, 2020
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

Share this post


Link to post
Share on other sites

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 24, 2020

That's what I was looking for, thank you sir.

 


Please be patient, I'm a dunce.

Share this post


Link to post
Share on other sites

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 24, 2020
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.

Share this post


Link to post
Share on other sites

diesieben07    7696

diesieben07

diesieben07    7696

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7696
  • 56372 posts
Posted November 24, 2020

Use your own item instance instead of one from the vanilla Items class.

  • Like 1

Share this post


Link to post
Share on other sites

ChampionAsh5357    165

ChampionAsh5357

ChampionAsh5357    165

  • World Shaper
  • ChampionAsh5357
  • Members
  • 165
  • 1038 posts
Posted November 24, 2020
2 minutes ago, Moomallowz said:

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?

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

  • Like 1

Share this post


Link to post
Share on other sites

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 24, 2020

 

6 minutes ago, ChampionAsh5357 said:

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

Thanks! Now the Wandering Trader has a use, and my mod is ready to update!


Please be patient, I'm a dunce.

Share this post


Link to post
Share on other sites

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 24, 2020
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.

Share this post


Link to post
Share on other sites

diesieben07    7696

diesieben07

diesieben07    7696

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7696
  • 56372 posts
Posted November 24, 2020

What is your issue?

  • Like 1

Share this post


Link to post
Share on other sites

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 24, 2020
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.

Share this post


Link to post
Share on other sites

diesieben07    7696

diesieben07

diesieben07    7696

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7696
  • 56372 posts
Posted November 24, 2020

Please learn basic Java programming before making a mod.

  • Like 1

Share this post


Link to post
Share on other sites

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 24, 2020
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.

Share this post


Link to post
Share on other sites

diesieben07    7696

diesieben07

diesieben07    7696

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7696
  • 56372 posts
Posted November 24, 2020

Your IDE already did.

If you know basic Java you know how to fix it.

  • Like 1

Share this post


Link to post
Share on other sites

ModMCdl    16

ModMCdl

ModMCdl    16

  • Creeper Killer
  • ModMCdl
  • Members
  • 16
  • 183 posts
Posted November 24, 2020
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

Share this post


Link to post
Share on other sites

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 24, 2020
10 minutes ago, ModMCdl said:

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


RegistryHandler.EXOTIC_SPICE.get()

 

IT WORKS! Thank you, good sir!


Please be patient, I'm a dunce.

Share this post


Link to post
Share on other sites

diesieben07    7696

diesieben07

diesieben07    7696

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7696
  • 56372 posts
Posted November 24, 2020
19 minutes ago, ModMCdl said:

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


RegistryHandler.EXOTIC_SPICE.get()

 

This is unfortunately not helpful.

Share this post


Link to post
Share on other sites

ModMCdl    16

ModMCdl

ModMCdl    16

  • Creeper Killer
  • ModMCdl
  • Members
  • 16
  • 183 posts
Posted November 25, 2020
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

Share this post


Link to post
Share on other sites

diesieben07    7696

diesieben07

diesieben07    7696

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7696
  • 56372 posts
Posted November 25, 2020
5 hours ago, ModMCdl said:

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()?

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.

Share this post


Link to post
Share on other sites

Moomallowz    0

Moomallowz

Moomallowz    0

  • Tree Puncher
  • Moomallowz
  • Members
  • 0
  • 22 posts
Posted November 28, 2020
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.

Share this post


Link to post
Share on other sites

c_y    2

c_y

c_y    2

  • Tree Puncher
  • c_y
  • Members
  • 2
  • 1 post
Posted November 28, 2020
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

Share this post


Link to post
Share on other sites
  • Prev
  • 1
  • 2
  • Next
  • Page 1 of 2  
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 1
Go To Topic Listing



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • Luis_ST
      [1.16.5] Help with custom Event

      By Luis_ST · Posted 20 minutes ago

      I've already found out that the bus is wrong   what do you mean by that? do you mean this: MinecraftForge.EVENT_BUS.post(event)  
    • loordgek
      [1.16.5] Help with custom Event

      By loordgek · Posted 29 minutes ago

      https://github.com/Luis-st/Forge-1.16.5-36.0.1-mdk/blob/main/forge-1.16.5-36.0.1-mdk/src/main/java/net/luis/cave/api/event/ModEventFactory.java you never post the event
    • Draco18s
      [1.16.5] Help with custom Event

      By Draco18s · Posted 41 minutes ago

      The error is caused by registering the event to the wrong bus. Change the bus, error goes away.
    • Luis_ST
      [1.16.5] Help with custom Event

      By Luis_ST · Posted 1 hour ago

      I already thought I wasn't sure   where is the error then? this is my enchanting table container (where i sue the event) https://github.com/Luis-st/Forge-1.16.5-36.0.1-mdk/blob/main/forge-1.16.5-36.0.1-mdk/src/main/java/net/luis/cave/common/inventory/container/ModEnchantingTableContainer.java
    • loordgek
      [1.16.5] Help with custom Event

      By loordgek · Posted 1 hour ago

      forge bus   is for when the game starts  
  • Topics

    • Luis_ST
      5
      [1.16.5] Help with custom Event

      By Luis_ST
      Started 3 hours ago

    • hammy3502
      1
      [1.16.4] Fluid Flowing Very Oddly

      By hammy3502
      Started 19 hours ago

    • <Gl33p_0r4nge>
      0
      [1.16.4] Screen Render

      By <Gl33p_0r4nge>
      Started 3 hours ago

    • forgnog
      0
      My Minecraft Forge Server Don't Start and I Don't Know Why

      By forgnog
      Started 3 hours ago

    • mikey3977
      4
      server won't start up

      By mikey3977
      Started December 4, 2020

  • Who's Online (See full list)

    • diesieben07
    • HalternerJunge
    • forgnog
    • brok4d
    • Vixze
    • Elrol_Arrowsend
    • JoanSam
    • KnightMiner
    • lupicus
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • How do I add custom trades to the Wandering Trader?
  • Theme

Copyright © 2019 ForgeDevelopment LLC · Ads by Longitude Ads LLC Powered by Invision Community