You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
4.6 KiB
Java
114 lines
4.6 KiB
Java
package com.zivilon.cinder_loe.entity;
|
|
|
|
import com.zivilon.cinder_loe.CinderLoE;
|
|
import lotr.common.LOTRFoods;
|
|
import lotr.common.LOTRLevelData;
|
|
import lotr.common.LOTRMod;
|
|
import lotr.common.entity.npc.LOTREntityDwarf;
|
|
import lotr.common.entity.npc.LOTRTradeEntries;
|
|
import lotr.common.entity.npc.LOTRTradeEntries.TradeType;
|
|
import lotr.common.entity.npc.LOTRTradeEntry;
|
|
import lotr.common.entity.npc.LOTRTradeable;
|
|
import lotr.common.item.LOTRItemMug;
|
|
import net.minecraft.entity.EntityLivingBase;
|
|
import net.minecraft.entity.IEntityLivingData;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.init.Items;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.world.World;
|
|
|
|
public class LimwaithShaman extends Limwaith implements LOTRTradeable.Smith {
|
|
public static LOTRTradeEntries LIMWAITH_SHAMAN_BUY;
|
|
public static LOTRTradeEntries LIMWAITH_SHAMAN_SELL;
|
|
|
|
public LimwaithShaman(World world) {
|
|
super(world);
|
|
}
|
|
|
|
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
|
|
data = super.onSpawnWithEgg(data);
|
|
this.npcItemsInv.setMeleeWeapon(new ItemStack(CinderLoE.daggerLimwaithPoisoned));
|
|
this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon());
|
|
return data;
|
|
}
|
|
|
|
public LOTRTradeEntries getBuyPool() {
|
|
return LIMWAITH_SHAMAN_BUY;
|
|
}
|
|
|
|
public LOTRTradeEntries getSellPool() {
|
|
return LIMWAITH_SHAMAN_SELL;
|
|
}
|
|
|
|
public float getAlignmentBonus() {
|
|
return 2.0F;
|
|
}
|
|
|
|
protected void dropFewItems(boolean flag, int i) {
|
|
super.dropFewItems(flag, i);
|
|
dropItem(getLimwaithTraderDrop(), 1 + rand.nextInt(2) + rand.nextInt(i + 1));
|
|
}
|
|
|
|
public boolean canTradeWith(EntityPlayer entityplayer) {
|
|
return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer));
|
|
}
|
|
|
|
|
|
static {
|
|
LIMWAITH_SHAMAN_BUY = new LOTRTradeEntries(TradeType.BUY,
|
|
new LOTRTradeEntry(new ItemStack(CinderLoE.daggerLimwaith), 12),
|
|
new LOTRTradeEntry(new ItemStack(CinderLoE.daggerLimwaithPoisoned), 20),
|
|
new LOTRTradeEntry(new ItemStack(CinderLoE.blowgunLimwaith), 25),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.tauredainDart, 4), 5),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.tauredainDartPoisoned, 4), 10),
|
|
new LOTRTradeEntry(new ItemStack(CinderLoE.bonemold, 2), 4),
|
|
new LOTRTradeEntry(new ItemStack(Items.bone, 1), 1),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.bottlePoison), 10));
|
|
|
|
LIMWAITH_SHAMAN_SELL = new LOTRTradeEntries(TradeType.SELL,
|
|
new LOTRTradeEntry(new ItemStack(Items.gold_nugget), 2),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.emerald), 15),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.amber), 10),
|
|
new LOTRTradeEntry(new ItemStack(Items.glass_bottle), 2),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 1),
|
|
new LOTRTradeEntry(new ItemStack(Items.bone), 1),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.rhinoHorn), 5),
|
|
new LOTRTradeEntry(new ItemStack(Items.dye, 3, 15), 1),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.gemsbokHorn), 4),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 2, 2), 1),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 2, 3), 1),
|
|
new LOTRTradeEntry(new ItemStack(Blocks.red_mushroom, 1, 0), 2),
|
|
new LOTRTradeEntry(new ItemStack(Blocks.brown_mushroom, 1, 0), 2),
|
|
new LOTRTradeEntry(new ItemStack(CinderLoE.bonemold, 2), 3),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.mango), 1),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.banana), 1),
|
|
new LOTRTradeEntry(new ItemStack(LOTRMod.corn, 2), 1));
|
|
}
|
|
|
|
@Override
|
|
public void onPlayerTrade(EntityPlayer entityplayer, TradeType type, ItemStack itemstack) {
|
|
}
|
|
|
|
@Override
|
|
public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) {
|
|
}
|
|
|
|
protected Item getLimwaithTraderDrop() {
|
|
return LOTRMod.pearl;
|
|
}
|
|
|
|
@Override
|
|
public String getSpeechBank(EntityPlayer entityplayer) {
|
|
if (this.isFriendlyAndAligned(entityplayer)) {
|
|
if (this.canTradeWith(entityplayer)) {
|
|
return "limwaith/shaman/friendly";
|
|
}
|
|
return "limwaith/shaman/neutral";
|
|
}
|
|
return "limwaith/shaman/hostile";
|
|
}
|
|
|
|
}
|