Files
Mohammad-Ali Minaie b86dedad2f base mod created
2018-10-08 09:07:47 -04:00

85 lines
2.4 KiB
Java

package net.minecraft.entity;
import javax.annotation.Nullable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.InventoryMerchant;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextComponentTranslation;
import net.minecraft.village.MerchantRecipe;
import net.minecraft.village.MerchantRecipeList;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class NpcMerchant implements IMerchant
{
/** Instance of Merchants Inventory. */
private final InventoryMerchant merchantInventory;
/** This merchant's current player customer. */
private final EntityPlayer customer;
/** The MerchantRecipeList instance. */
private MerchantRecipeList recipeList;
private final ITextComponent name;
public NpcMerchant(EntityPlayer customerIn, ITextComponent nameIn)
{
this.customer = customerIn;
this.name = nameIn;
this.merchantInventory = new InventoryMerchant(customerIn, this);
}
@Nullable
public EntityPlayer getCustomer()
{
return this.customer;
}
public void setCustomer(@Nullable EntityPlayer player)
{
}
@Nullable
public MerchantRecipeList getRecipes(EntityPlayer player)
{
return this.recipeList;
}
public void setRecipes(@Nullable MerchantRecipeList recipeList)
{
this.recipeList = recipeList;
}
public void useRecipe(MerchantRecipe recipe)
{
recipe.incrementToolUses();
}
/**
* Notifies the merchant of a possible merchantrecipe being fulfilled or not. Usually, this is just a sound byte
* being played depending if the suggested itemstack is not null.
*/
public void verifySellingItem(ItemStack stack)
{
}
/**
* Get the formatted ChatComponent that will be used for the sender's username in chat
*/
public ITextComponent getDisplayName()
{
return (ITextComponent)(this.name != null ? this.name : new TextComponentTranslation("entity.Villager.name", new Object[0]));
}
public World getWorld()
{
return this.customer.world;
}
public BlockPos getPos()
{
return new BlockPos(this.customer);
}
}