I am trying to make my own Villagers, following Samedifferent's More Villagers code, and it all works, except EmeraldForItemsTrade and ItemsForEmeraldsTrade are both private, so I cannot use them.
Is there a different method to use instead to give trades? This is the code that should, but doesn't work:
VillagerTrades.ITrade[] oceanographerLevel1 = new VillagerTrades.ITrade[]{
new VillagerTrades.EmeraldForItemsTrade(Items.PRISMARINE,14,16,2),
new VillagerTrades.ItemsForEmeraldsTrade(Items.SEA_LANTERN, 2, 4, 16, 1)
};
VillagerTrades.ITrade[] oceanographerLevel2 = new VillagerTrades.ITrade[]{
new VillagerTrades.EmeraldForItemsTrade(Items.PRISMARINE_BRICKS,14,16,10),
new VillagerTrades.ItemsForEmeraldsTrade(Items.SPONGE, 4, 2, 16, 5)
};
VillagerTrades.ITrade[] oceanographerLevel3 = new VillagerTrades.ITrade[]{
new VillagerTrades.EmeraldForItemsTrade(Items.DARK_PRISMARINE,12,16,20),
new VillagerTrades.EmeraldForMapTrade(13, Structure.BURIED_TREASURE, MapDecoration.Type.RED_X, 12, 10)
};
VillagerTrades.ITrade[] oceanographerLevel4 = new VillagerTrades.ITrade[]{
new VillagerTrades.ItemsForEmeraldsTrade(Items.NAUTILUS_SHELL, 3, 1, 12, 15),
new VillagerTrades.ItemsForEmeraldsTrade(Items.HEART_OF_THE_SEA, 8, 1, 12, 15),
};
VillagerTrades.ITrade[] oceanographerLevel5 = new VillagerTrades.ITrade[]{
new VillagerTrades.ItemsForEmeraldsTrade(Items.TRIDENT, 32, 1, 2, 30)
};
VillagerTrades.TRADES.put(OCEANOGRAPHER.get(),toIntMap(ImmutableMap.of(1,oceanographerLevel1,2,oceanographerLevel2,3,oceanographerLevel3,4,oceanographerLevel4,5,oceanographerLevel5)));