ActuallyAdditions/src/main/java/de/ellpeck/actuallyadditions/common/gen/village/BasicTradeList.java

44 lines
1.6 KiB
Java
Raw Normal View History

package de.ellpeck.actuallyadditions.common.gen.village;
import java.util.Random;
import net.minecraft.entity.IMerchant;
import net.minecraft.entity.passive.EntityVillager.ITradeList;
import net.minecraft.entity.passive.EntityVillager.PriceInfo;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.village.MerchantRecipe;
import net.minecraft.village.MerchantRecipeList;
2019-05-02 09:10:29 +02:00
public class BasicTradeList implements ITradeList {
private final ItemStack input;
private final PriceInfo inputAmount;
private final ItemStack output;
private final PriceInfo outputAmount;
2019-05-02 09:10:29 +02:00
public BasicTradeList(ItemStack input, PriceInfo inputAmount, ItemStack output, PriceInfo outputAmount) {
this.input = input;
this.inputAmount = inputAmount;
this.output = output;
this.outputAmount = outputAmount;
}
2019-05-02 09:10:29 +02:00
public BasicTradeList(PriceInfo emeraldInput, ItemStack output, PriceInfo outputAmount) {
this(new ItemStack(Items.EMERALD), emeraldInput, output, outputAmount);
}
2019-05-02 09:10:29 +02:00
public BasicTradeList(ItemStack input, PriceInfo inputAmount, PriceInfo emeraldOutput) {
this(input, inputAmount, new ItemStack(Items.EMERALD), emeraldOutput);
}
@Override
2019-05-02 09:10:29 +02:00
public void addMerchantRecipe(IMerchant merchant, MerchantRecipeList recipeList, Random random) {
ItemStack in = this.input.copy();
in.setCount(this.inputAmount.getPrice(random));
ItemStack out = this.output.copy();
out.setCount(this.outputAmount.getPrice(random));
recipeList.add(new MerchantRecipe(in, out));
}
}