base mod created
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user