80 lines
1.9 KiB
Java
80 lines
1.9 KiB
Java
package net.minecraft.world.entity.npc;
|
|
|
|
import net.minecraft.sounds.SoundEvents;
|
|
import net.minecraft.sounds.SoundEvent;
|
|
import net.minecraft.world.level.Level;
|
|
import net.minecraft.world.item.ItemStack;
|
|
import net.minecraft.world.item.trading.MerchantOffer;
|
|
import javax.annotation.Nullable;
|
|
import net.minecraft.world.item.trading.MerchantOffers;
|
|
import net.minecraft.world.entity.player.Player;
|
|
import net.minecraft.world.inventory.MerchantContainer;
|
|
import net.minecraft.world.item.trading.Merchant;
|
|
|
|
public class ClientSideMerchant implements Merchant {
|
|
private final MerchantContainer container;
|
|
private final Player source;
|
|
private MerchantOffers offers;
|
|
private int xp;
|
|
|
|
public ClientSideMerchant(final Player ayg) {
|
|
this.offers = new MerchantOffers();
|
|
this.source = ayg;
|
|
this.container = new MerchantContainer(this);
|
|
}
|
|
|
|
@Nullable
|
|
@Override
|
|
public Player getTradingPlayer() {
|
|
return this.source;
|
|
}
|
|
|
|
@Override
|
|
public void setTradingPlayer(@Nullable final Player ayg) {
|
|
}
|
|
|
|
@Override
|
|
public MerchantOffers getOffers() {
|
|
return this.offers;
|
|
}
|
|
|
|
@Override
|
|
public void overrideOffers(@Nullable final MerchantOffers bix) {
|
|
this.offers = bix;
|
|
}
|
|
|
|
@Override
|
|
public void notifyTrade(final MerchantOffer biw) {
|
|
biw.increaseUses();
|
|
}
|
|
|
|
@Override
|
|
public void notifyTradeUpdated(final ItemStack bek) {
|
|
}
|
|
|
|
@Override
|
|
public Level getLevel() {
|
|
return this.source.level;
|
|
}
|
|
|
|
@Override
|
|
public int getVillagerXp() {
|
|
return this.xp;
|
|
}
|
|
|
|
@Override
|
|
public void overrideXp(final int integer) {
|
|
this.xp = integer;
|
|
}
|
|
|
|
@Override
|
|
public boolean showProgressBar() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public SoundEvent getNotifyTradeSound() {
|
|
return SoundEvents.VILLAGER_YES;
|
|
}
|
|
}
|