Posted December 17, 20213 yr As you read from the title, I have a mob that extends to custom abstract villager etc (literal same function as wandering trader but modified), everything is fine but sometimes I get same duplicate trades, how can I fix that? I was possibly thinking something to do with from: @Override protected void updateTrades() { ModVillagerTrades.ItemListing[] avillagertrades$itrade = ModVillagerTrades.CROAKER_TRADES.get(1); if (avillagertrades$itrade != null) { MerchantOffers merchantoffers = this.getOffers(); this.addOffersFromItemListings(merchantoffers, avillagertrades$itrade, 9); int i = this.random.nextInt(avillagertrades$itrade.length); ModVillagerTrades.ItemListing villagertrades$itrade = avillagertrades$itrade[i]; MerchantOffer merchantoffer = villagertrades$itrade.getOffer(this, this.random); if (merchantoffer != null) { merchantoffers.add(merchantoffer); } } } method thats in my entity class
December 18, 20213 yr you add trades to the MerchantOffers twice since AbstractVillager#addOffersFromItemListings already adds trades to the MerchantOffers, in your case 9 then you add a random 10th trade
December 18, 20213 yr Author 24 minutes ago, Luis_ST said: you add trades to the MerchantOffers twice since AbstractVillager#addOffersFromItemListings already adds trades to the MerchantOffers, in your case 9 then you add a random 10th trade So on my Villager trades class or in this method of mine in my entity class, just a bit confused still so I apologize
December 20, 20213 yr start with an empty collection, then add your trades. it is pretty simple. instead you pasted wandering trader code which takes 5 (iirc) trades from one list and adds a 6th one from a second list and you plugged your list into that. as a result - you wasted hours trying to find out why this thing doesn't work, but you did initially save 2 minutes by not reading what the pasted code does. nice job.
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.