2
0
Fork 0

fixed Chains, added more Objective NPCs

getting close to release?
frozen
KeyLime17 1 year ago
parent 8e5974b019
commit 6a27a7ae1a

@ -17,6 +17,7 @@ import com.zivilon.cinder_loe.entity.npc.dwarf.RedDwarfWarrior;
import com.zivilon.cinder_loe.entity.npc.evil_human.*;
import com.zivilon.cinder_loe.entity.npc.good_human.*;
import com.zivilon.cinder_loe.entity.npc.orc.MorgulOrc;
import com.zivilon.cinder_loe.entity.npc.orc.NorthernOrc;
import com.zivilon.cinder_loe.entity.npc.radagast.*;
import com.zivilon.cinder_loe.entity.projectile.*;
import com.zivilon.cinder_loe.entity.trader.*;
@ -132,6 +133,7 @@ public class CinderLoE {
public static Block cutDrystone;
public static Block cindercobble;
public static Block cinderfur;
public static Block furCarpet;
public static Block reeflessCoral;
public static Block silverChain;
public static Block goldChain;
@ -335,7 +337,7 @@ public class CinderLoE {
event.registerServerCommand(new CommandCinderCharacter());
}
public void registerEntities() { // Last ID added: 54
public void registerEntities() { // Last ID added: 56
///GameRegistry.registerTileEntity(TileEntityMistBlock.class, "TileEntityMistBlock");
///.registerBlock(TileEntityRustedSword, "TileEntityRustedSword");
@ -389,7 +391,6 @@ public class CinderLoE {
EntityRegistry.registerModEntity(ArnorSoldierArcher.class, "ArnorSoldierArcher", (entityID + 19), this, 64, 1, true);
EntityRegistry.registerModEntity(ArnorCaptain.class, "ArnorCaptain", (entityID + 20), this, 64, 1, true);
EntityRegistry.registerModEntity(ArnorBannerBearer.class, "ArnorBannerBearer", (entityID + 21), this, 64, 1, true);
EntityRegistry.registerModEntity(BattleNun.class, "BattleNun", (entityID + 27), this, 64, 1, true);
EntityRegistry.registerModEntity(BreeSoldier.class, "BreeSoldier", (entityID + 22), this, 64, 1, true);
EntityRegistry.registerModEntity(BreeCrossbowman.class, "BreeCrossbowman", (entityID + 23), this, 64, 1, true);
@ -398,9 +399,13 @@ public class CinderLoE {
EntityRegistry.registerModEntity(BreeOutrider.class, "BreeOutrider", (entityID + 26), this, 64, 1, true);
EntityRegistry.registerModEntity(HobbitBannerBearer.class, "HobbitBannerBearer", (entityID + 52), this, 64, 1, true);
// Objective and Custom npcs
EntityRegistry.registerModEntity(BattleNun.class, "BattleNun", (entityID + 27), this, 64, 1, true);
EntityRegistry.registerModEntity(MorgulOrc.class, "MorgulOrc", (entityID + 53), this, 64, 1, true);
// EntityRegistry.registerModEntity(MorgulOrc.class, "MorgulOrc", (entityID + 54), this, 64, 1, true);
EntityRegistry.registerModEntity(RhudaurSoldier.class, "RhudaurSoldier", (entityID + 54), this, 64, 1, true);
EntityRegistry.registerModEntity(NorthernOrc.class, "NorthernOrc", (entityID + 55), this, 64, 1, true);
EntityRegistry.registerModEntity(EsgarothSoldier.class, "EsgarothSoldier", (entityID + 56), this, 64, 1, true);
EntityRegistry.registerModEntity(TauredainTrueBlood.class, "TauredainTrueBlood", (entityID + 57), this, 64, 1, true);
}
@ -482,6 +487,8 @@ public class CinderLoE {
cinderfur = (new CinderFurBlock());
GameRegistry.registerBlock(cinderfur, CinderBlockMetaData.class, "cinderfur");
furCarpet = (new FurCarpet());
GameRegistry.registerBlock(furCarpet, CinderBlockMetaData.class, "furCarpet");
plaster = (new plaster());
GameRegistry.registerBlock(plaster, "plaster");
@ -577,7 +584,6 @@ public class CinderLoE {
ItemRegistration.register(onion, "onion", 6900);
ItemRegistration.register(cabbage, "cabbage", 6901);
ItemRegistration.register(pelmen, "pelmen", 6902);
ItemRegistration.register(lightStew, "lightStew", 6902);
ItemRegistration.register(spice, "spice", 6903);
ItemRegistration.register(spicedHam, "spicedHam", 6904);
ItemRegistration.register(chocolatebar, "chocolatebar", 6905);
@ -588,6 +594,7 @@ public class CinderLoE {
ItemRegistration.register(pretzel, "pretzel", 6910);
ItemRegistration.register(halva, "halva", 6911);
ItemRegistration.register(doner_kebab, "doner_kebab", 6912);
ItemRegistration.register(lightStew, "lightStew", 6913);
ItemRegistration.register(spawnEgg, "spawnEgg", 6003);
@ -1108,6 +1115,7 @@ public class CinderLoE {
CinderCore.registerItemFallback(Block.getIdFromBlock(cutDrystone), Block.getIdFromBlock(LOTRMod.cobblebrick), "cinder_loe", "1.2");
CinderCore.registerItemFallback(Block.getIdFromBlock(cindercobble), Block.getIdFromBlock(LOTRMod.cobblebrick), "cinder_loe", "1.2");
CinderCore.registerItemFallback(Block.getIdFromBlock(cinderfur), Block.getIdFromBlock(Blocks.wool), "cinder_loe", "1.2.4");
CinderCore.registerItemFallback(Block.getIdFromBlock(furCarpet), Block.getIdFromBlock(Blocks.carpet), "cinder_loe", "1.2.4");
CinderCore.registerItemFallback(Block.getIdFromBlock(reeflessCoral), Block.getIdFromBlock(LOTRMod.coralReef), "cinder_loe", "1.2");
CinderCore.registerItemFallback(Block.getIdFromBlock(plaster), Block.getIdFromBlock(Blocks.brick_block), "cinder_loe", "1.2.1");
CinderCore.registerItemFallback(Block.getIdFromBlock(voidblock), Block.getIdFromBlock(Blocks.coal_block), "cinder_loe", "1.2.1");
@ -1276,7 +1284,8 @@ public class CinderLoE {
(new LOTRUnitTradeEntry(RedDwarfArbalest.class, 400, 100.0F)).setPledgeType(LOTRUnitTradeEntry.PledgeType.ANY_DWARF),
(new LOTRUnitTradeEntry(RedDwarfWarrior.class, LOTREntityWildBoar.class, "RedDwarfWarrior_Boar", 500, 150.0F)).setMountArmor(boarArmorRedDwarf).setPledgeType(LOTRUnitTradeEntry.PledgeType.ANY_DWARF),
(new LOTRUnitTradeEntry(RedDwarfArbalest.class, LOTREntityWildBoar.class, "RedDwarfArbalest_Boar", 500, 200.0F)).setMountArmor(boarArmorRedDwarf).setPledgeType(LOTRUnitTradeEntry.PledgeType.ANY_DWARF),
(new LOTRUnitTradeEntry(RedDwarfBannerBearer.class, 400, 200.0F)).setPledgeType(LOTRUnitTradeEntry.PledgeType.ANY_DWARF));
(new LOTRUnitTradeEntry(RedDwarfBannerBearer.class, 400, 200.0F)).setPledgeType(LOTRUnitTradeEntry.PledgeType.ANY_DWARF),
(new LOTRUnitTradeEntry(RedDwarfArbalest.class, LOTREntityWildBoar.class, "Banner_Horse", 600, 300.0F)).setMountArmor(boarArmorRedDwarf).setPledgeType(LOTRUnitTradeEntry.PledgeType.ANY_DWARF));
LIMWAITH_COMMANDER = new LOTRUnitTradeEntries(200.0F, new LOTRUnitTradeEntry(LimwaithWarrior.class, 150, 50.0F),
(new LOTRUnitTradeEntry(LimwaithBlowgunner.class, 150, 100.0F)).setPledgeType(LOTRUnitTradeEntry.PledgeType.FACTION),
@ -1290,14 +1299,18 @@ public class CinderLoE {
(new LOTRUnitTradeEntry(LOTREntityRangerNorth.class, 250, 0.0f)),
(new LOTRUnitTradeEntry(LOTREntityRangerNorth.class, LOTREntityHorse.class, "RangerNorth_Horse", 350, 100.0f)),
(new LOTRUnitTradeEntry(LOTREntityRangerNorthBannerBearer.class, 250, 150.0f)),
(new LOTRUnitTradeEntry(ArnorBannerBearer.class, 250, 400.0F)).setPledgeType(LOTRUnitTradeEntry.PledgeType.FACTION));
(new LOTRUnitTradeEntry(ArnorBannerBearer.class, 250, 400.0F)).setPledgeType(LOTRUnitTradeEntry.PledgeType.FACTION),
(new LOTRUnitTradeEntry(ArnorBannerBearer.class, LOTREntityHorse.class, "Banner_Horse", 450, 500.0F)).setMountArmor(horseArmorIron).setPledgeType(LOTRUnitTradeEntry.PledgeType.FACTION),
(new CinderUnitTradeEntry(BattleNun.class, 250, 400.0F).setObjective("Arnor").setExtraInfo("Arnor")).setPledgeType(LOTRUnitTradeEntry.PledgeType.FACTION));
BREE_CAPTAIN = new LOTRUnitTradeEntries(150.0F, (new LOTRUnitTradeEntry(LOTREntityBreeGuard.class, 150, 0.0f)),
(new LOTRUnitTradeEntry(BreeSoldier.class, 250, 250.0F)).setPledgeType(LOTRUnitTradeEntry.PledgeType.FACTION),
(new LOTRUnitTradeEntry(BreeCrossbowman.class, 250, 300.0F)).setPledgeType(LOTRUnitTradeEntry.PledgeType.FACTION),
(new LOTRUnitTradeEntry(BreeOutrider.class, LOTREntityHorse.class, "Bree_Horse", 350, 400.0F)).setMountArmor(horseArmorIron).setPledgeType(LOTRUnitTradeEntry.PledgeType.FACTION),
(new LOTRUnitTradeEntry(LOTREntityBreeBannerBearer.class, 150, 150.0f)),
(new LOTRUnitTradeEntry(BreeSoldierBannerBearer.class, 250, 400.0F)).setPledgeType(LOTRUnitTradeEntry.PledgeType.FACTION));
(new LOTRUnitTradeEntry(BreeSoldierBannerBearer.class, 250, 400.0F)).setPledgeType(LOTRUnitTradeEntry.PledgeType.FACTION),
(new LOTRUnitTradeEntry(BreeSoldierBannerBearer.class, LOTREntityHorse.class, "Banner_Horse", 350, 500.0F)).setMountArmor(horseArmorIron).setPledgeType(LOTRUnitTradeEntry.PledgeType.FACTION));
}
public int getRustedSwordID() {return 0;}

@ -21,6 +21,8 @@ public class CinderLoE_Config {
public static boolean objective_dolguldur;
public static boolean objective_woodelf;
public static boolean objective_lothlorien;
public static boolean objective_dale;
public static boolean objective_rhudaur;
public static void init(FMLPreInitializationEvent event) {
@ -48,6 +50,8 @@ public class CinderLoE_Config {
objective_dolguldur = config.getBoolean("Dol_Guldur", Configuration.CATEGORY_GENERAL, false,"set true if Dol Guldur Objective Complete");
objective_woodelf = config.getBoolean("Wood_Elf", Configuration.CATEGORY_GENERAL, false, "set true if Wood Elf Objective Complete");
objective_lothlorien = config.getBoolean("Lothlorien", Configuration.CATEGORY_GENERAL, false, "set true if Lothlorien Objective Complete");
objective_dale = config.getBoolean("Dale", Configuration.CATEGORY_GENERAL, false, "set true if Dalish Objective Complete");
objective_rhudaur = config.getBoolean("Rhudaur", Configuration.CATEGORY_GENERAL, false, "set true if Rhudaur Objective Complete");
// Save the configuration if it has changed
if (config.hasChanged()) {

@ -28,7 +28,7 @@ public class LoECreativeTabs extends CreativeTabs {
tabSpawnLoE.theIcon = new ItemStack(CinderLoE.spawnEgg);
tabMiscLoE.theIcon = new ItemStack(CinderLoE.bonemold);
tabFoodLoE.theIcon = new ItemStack(CinderLoE.onion);
tabDecoLoE.theIcon = new ItemStack(CinderLoE.cinderchain);
tabDecoLoE.theIcon = new ItemStack(CinderLoE.goldChain);
tabCharacterLoE.theIcon = new ItemStack(CinderLoE.sarumanStaff);
}

@ -0,0 +1,45 @@
package com.zivilon.cinder_loe.blocks;
import com.zivilon.cinder_loe.CinderLoE;
import com.zivilon.cinder_loe.LoECreativeTabs;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockCarpet;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import java.util.List;
public class FurCarpet extends BlockCarpet {
public FurCarpet()
{
super();
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.0625F, 1.0F);
this.setTickRandomly(true);
this.setCreativeTab(LoECreativeTabs.tabDecoLoE);
this.func_150089_b(0);
setBlockName("lotr:cinderfurcarpet");
setStepSound(Block.soundTypeCloth);
}
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta)
{
return CinderLoE.cinderfur.getIcon(side, meta);
}
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item itemIn, CreativeTabs tab, List list)
{
for (int i = 0; i < 9; ++i)
{
list.add(new ItemStack(itemIn, 1, i));
}
}
}

@ -0,0 +1,44 @@
package com.zivilon.cinder_loe.entity.npc.evil_human;
import com.zivilon.cinder_loe.CinderLoE;
import lotr.common.LOTRMod;
import lotr.common.LOTRShields;
import lotr.common.entity.npc.LOTREntityAngmarHillmanWarrior;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class RhudaurSoldier extends LOTREntityAngmarHillmanWarrior {
private static ItemStack[] weapons = new ItemStack[]{new ItemStack(LOTRMod.swordAngmar), new ItemStack(LOTRMod.battleaxeAngmar), new ItemStack(LOTRMod.hammerAngmar), new ItemStack(LOTRMod.polearmAngmar), new ItemStack(LOTRMod.spearAngmar)};
private static ItemStack[] helmets = new ItemStack[]{new ItemStack(CinderLoE.helmetRhudaur)};
private static ItemStack[] bodies = new ItemStack[]{new ItemStack(CinderLoE.bodyRhudaur)};
private static ItemStack[] legs = new ItemStack[]{new ItemStack(CinderLoE.legsRhudaur)};
private static ItemStack[] boots = new ItemStack[]{new ItemStack(CinderLoE.bootsRhudaur)};
public RhudaurSoldier(World world) {
super(world);
this.npcShield = LOTRShields.ALIGNMENT_MORDOR;
}
@Override
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
data = super.onSpawnWithEgg(data);
int i = this.rand.nextInt(weapons.length);
this.npcItemsInv.setMeleeWeapon(weapons[i].copy());
this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon());
i = this.rand.nextInt(boots.length);
this.setCurrentItemOrArmor(1, boots[i].copy());
i = this.rand.nextInt(legs.length);
this.setCurrentItemOrArmor(2, legs[i].copy());
i = this.rand.nextInt(bodies.length);
this.setCurrentItemOrArmor(3, bodies[i].copy());
if (this.rand.nextInt(5) != 0) {
i = this.rand.nextInt(helmets.length);
this.setCurrentItemOrArmor(4, helmets[i].copy());
}
return data;
}
}

@ -0,0 +1,23 @@
package com.zivilon.cinder_loe.entity.npc.good_human;
import com.zivilon.cinder_loe.CinderLoE;
import lotr.common.LOTRMod;
import lotr.common.LOTRShields;
import lotr.common.entity.npc.LOTREntityDaleSoldier;
import lotr.common.entity.npc.LOTREntityDunedain;
import lotr.common.fac.LOTRFaction;
import lotr.common.quest.LOTRMiniQuest;
import lotr.common.quest.LOTRMiniQuestFactory;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class EsgarothSoldier extends LOTREntityDaleSoldier {
public EsgarothSoldier(World world) {
super(world);
this.npcShield = LOTRShields.ALIGNMENT_ESGAROTH;
}
}

@ -0,0 +1,54 @@
package com.zivilon.cinder_loe.entity.npc.good_human;
import lotr.common.LOTRMod;
import lotr.common.LOTRShields;
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
import lotr.common.entity.npc.LOTREntityDaleSoldier;
import lotr.common.entity.npc.LOTREntityTauredain;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class TauredainTrueBlood extends LOTREntityTauredain {
public TauredainTrueBlood(World world) {
super(world);
this.npcShield = LOTRShields.ALIGNMENT_TAUREDAIN;
}
@Override
public EntityAIBase createHaradrimAttackAI() {
return new LOTREntityAIAttackOnCollide(this, 1.7, false);
}
@Override
protected void applyEntityAttributes() {
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(26.0);
this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(24.0);
this.getEntityAttribute(npcAttackDamageExtra).setBaseValue(2.0);
}
private static ItemStack[] weapons = new ItemStack[]{new ItemStack(LOTRMod.swordTauredain), new ItemStack(LOTRMod.battleaxeTauredain), new ItemStack(LOTRMod.hammerTauredain), new ItemStack(LOTRMod.spearTauredain), new ItemStack(LOTRMod.pikeTauredain)};
private static ItemStack[] helmets = new ItemStack[]{new ItemStack(LOTRMod.helmetTauredainChieftain), new ItemStack(LOTRMod.helmetTauredainChieftain), new ItemStack(LOTRMod.helmetTauredainGold)};
private static ItemStack[] bodies = new ItemStack[]{new ItemStack(LOTRMod.bodyTauredain), new ItemStack(LOTRMod.bodyTauredain), new ItemStack(LOTRMod.bodyTauredainGold)};
private static ItemStack[] legs = new ItemStack[]{new ItemStack(LOTRMod.legsTauredain), new ItemStack(LOTRMod.legsTauredain), new ItemStack(LOTRMod.legsTauredainGold)};
private static ItemStack[] boots = new ItemStack[]{new ItemStack(LOTRMod.bootsTauredain), new ItemStack(LOTRMod.bootsTauredain), new ItemStack(LOTRMod.bootsTauredainGold)};
@Override
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
data = super.onSpawnWithEgg(data);
int i = this.rand.nextInt(weapons.length);
this.npcItemsInv.setMeleeWeapon(weapons[i].copy());
this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon());
i = this.rand.nextInt(boots.length);
this.setCurrentItemOrArmor(1, boots[i].copy());
i = this.rand.nextInt(legs.length);
this.setCurrentItemOrArmor(2, legs[i].copy());
i = this.rand.nextInt(bodies.length);
this.setCurrentItemOrArmor(3, bodies[i].copy());
if (this.rand.nextInt(5) != 0) {
i = this.rand.nextInt(helmets.length);
this.setCurrentItemOrArmor(4, helmets[i].copy());
}
return data;
}
}

@ -0,0 +1,74 @@
package com.zivilon.cinder_loe.entity.npc.orc;
import com.zivilon.cinder_loe.CinderLoE;
import lotr.common.LOTRLevelData;
import lotr.common.LOTRMod;
import lotr.common.LOTRShields;
import lotr.common.entity.npc.LOTREntityAngmarHillmanWarrior;
import lotr.common.entity.npc.LOTREntityGundabadUruk;
import lotr.common.fac.LOTRFaction;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class NorthernOrc extends LOTREntityGundabadUruk {
private static ItemStack[] weapons = new ItemStack[]{new ItemStack(LOTRMod.swordAngmar), new ItemStack(LOTRMod.battleaxeAngmar), new ItemStack(LOTRMod.hammerGundabadUruk), new ItemStack(LOTRMod.polearmAngmar), new ItemStack(LOTRMod.spearAngmar), new ItemStack(LOTRMod.swordGundabadUruk)};
private static ItemStack[] helmets = new ItemStack[]{new ItemStack(LOTRMod.helmetAngmar), new ItemStack(LOTRMod.helmetGundabadUruk), new ItemStack(LOTRMod.helmetBone)};
private static ItemStack[] bodies = new ItemStack[]{new ItemStack(LOTRMod.bodyAngmar), new ItemStack(LOTRMod.bodyGundabadUruk), new ItemStack(LOTRMod.bodyUruk)};
private static ItemStack[] legs = new ItemStack[]{new ItemStack(LOTRMod.legsAngmar), new ItemStack(LOTRMod.legsGundabadUruk), new ItemStack(LOTRMod.legsUruk)};
private static ItemStack[] boots = new ItemStack[]{new ItemStack(LOTRMod.bootsAngmar), new ItemStack(LOTRMod.bootsGundabadUruk), new ItemStack(LOTRMod.bootsUruk)};
public NorthernOrc(World world) {
super(world);
this.setSize(0.6f, 1.8f);
this.isWeakOrc = false;
this.npcShield = LOTRShields.ALIGNMENT_ANGMAR;
}
@Override
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
data = super.onSpawnWithEgg(data);
int i = this.rand.nextInt(weapons.length);
this.npcItemsInv.setMeleeWeapon(weapons[i].copy());
this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon());
i = this.rand.nextInt(boots.length);
this.setCurrentItemOrArmor(1, boots[i].copy());
i = this.rand.nextInt(legs.length);
this.setCurrentItemOrArmor(2, legs[i].copy());
i = this.rand.nextInt(bodies.length);
this.setCurrentItemOrArmor(3, bodies[i].copy());
if (this.rand.nextInt(5) != 0) {
i = this.rand.nextInt(helmets.length);
this.setCurrentItemOrArmor(4, helmets[i].copy());
}
return data;
}
@Override
public LOTRFaction getFaction() {
return LOTRFaction.ANGMAR;
}
@Override
public String getSpeechBank(EntityPlayer entityplayer) {
if (this.isFriendlyAndAligned(entityplayer)) {
if (this.hiredNPCInfo.getHiringPlayer() == entityplayer) {
return "angmar/orc/hired";
}
if (LOTRLevelData.getData(entityplayer).getAlignment(this.getFaction()) >= 100.0f) {
return "angmar/orc/friendly";
}
return "angmar/orc/neutral";
}
return "angmar/orc/hostile";
}
@Override
public boolean canOrcSkirmish() {
return false;
}
}

@ -0,0 +1,77 @@
package com.zivilon.cinder_loe.mixins.overrides;
import com.zivilon.cinder_loe.CinderLoE;
import lotr.common.LOTRMod;
import lotr.common.entity.npc.LOTREntityWarg;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
@Mixin(LOTREntityWarg.class)
public abstract class MixinLOTREntityWarg extends Entity {
public MixinLOTREntityWarg(World worldIn) {
super(worldIn);
}
/**
* @author KeyLime17
* @reason Mevans
*/
@Shadow
public abstract LOTREntityWarg.WargType getWargType();
@Overwrite(remap = false)
protected void func_70628_a(boolean flag, int i) {
Item furItem = null;
int furMeta = 0;
switch(getWargType().wargID) {
case 0:
furItem = LOTRMod.fur;
break;
case 1:
furItem = CinderLoE.cinderFurItem;
break;
case 2:
furItem = CinderLoE.cinderFurItem;
furMeta = 1;
break;
case 3:
furItem = CinderLoE.cinderFurItem;
furMeta = 2;
break;
case 4:
furItem = CinderLoE.cinderFurItem;
furMeta = 0; // Needs ice fur to be added
break;
case 5:
furItem = CinderLoE.cinderFurItem;
furMeta = 3;
break;
case 6:
furItem = CinderLoE.cinderFurItem;
furMeta = 0; // Needs fire fur to be added
break;
}
int furs = 1 + this.rand.nextInt(3) + this.rand.nextInt(i + 1);
for (int l = 0; l < furs; l++)
entityDropItem(new ItemStack(furItem, 1, furMeta), 0.0F);
int bones = 2 + this.rand.nextInt(2) + this.rand.nextInt(i + 1);
for (int j = 0; j < bones; j++)
dropItem(LOTRMod.wargBone, 1);
if (flag) {
int rugChance = 50 - i * 8;
rugChance = Math.max(rugChance, 1);
if (this.rand.nextInt(rugChance) == 0)
entityDropItem(new ItemStack(LOTRMod.wargskinRug, 1, (getWargType()).wargID), 0.0F);
}
}
}

@ -2,7 +2,12 @@ package com.zivilon.cinder_loe.mixins.overrides;
import com.zivilon.cinder_loe.CinderUnitTradeEntry;
import com.zivilon.cinder_loe.entity.npc.HobbitBannerBearer;
import com.zivilon.cinder_loe.entity.npc.evil_human.RhudaurSoldier;
import com.zivilon.cinder_loe.entity.npc.good_human.BattleNun;
import com.zivilon.cinder_loe.entity.npc.good_human.EsgarothSoldier;
import com.zivilon.cinder_loe.entity.npc.good_human.TauredainTrueBlood;
import com.zivilon.cinder_loe.entity.npc.orc.MorgulOrc;
import com.zivilon.cinder_loe.entity.npc.orc.NorthernOrc;
import lotr.common.LOTRMod;
import lotr.common.entity.animal.*;
import lotr.common.entity.npc.*;
@ -102,7 +107,6 @@ public class MixinLOTRUnitTradeEntries {
@Shadow
public static LOTRUnitTradeEntries ANGMAR_ORC_MERCENARY_CAPTAIN = new LOTRUnitTradeEntries(150.0f,
new LOTRUnitTradeEntry(LOTREntityAngmarOrc.class, 150, 0.0f),
new CinderUnitTradeEntry(MorgulOrc.class, null, "TestMob", 100, 0.0f).setObjective("Angmar").setExtraInfo("Angmar"),
new LOTRUnitTradeEntry(LOTREntityAngmarOrcArcher.class, 150, 50.0f),
new LOTRUnitTradeEntry(LOTREntityAngmarOrcBombardier.class, 250, 100.0f).setPledgeExclusive(),
new LOTRUnitTradeEntry(LOTREntityAngmarWarg.class, 100, 0.0f),
@ -112,7 +116,8 @@ public class MixinLOTRUnitTradeEntries {
new LOTRUnitTradeEntry(LOTREntityTroll.class, 500, 250.0f),
new LOTRUnitTradeEntry(LOTREntityMountainTroll.class, 600, 350.0f).setPledgeExclusive(),
new LOTRUnitTradeEntry(LOTREntityAngmarBannerBearer.class, 150, 150.0f),
new LOTRUnitTradeEntry(LOTREntityAngmarBannerBearer.class, LOTREntityAngmarWarg.class, "Banner_Warg", 250, 250.0f).setMountArmor(LOTRMod.wargArmorAngmar, 0.5f).setPledgeExclusive());
new LOTRUnitTradeEntry(LOTREntityAngmarBannerBearer.class, LOTREntityAngmarWarg.class, "Banner_Warg", 250, 250.0f).setMountArmor(LOTRMod.wargArmorAngmar, 0.5f).setPledgeExclusive(),
(new CinderUnitTradeEntry(NorthernOrc.class, 500, 400.0F).setObjective("Angmar").setExtraInfo("Angmar")).setPledgeExclusive());
@Shadow
public static LOTRUnitTradeEntries MORDOR_ORC_SLAVER = new LOTRUnitTradeEntries(200.0f,
new LOTRUnitTradeEntry(LOTREntityNurnSlave.class, 100, 0.0f).setTask(LOTRHiredNPCInfo.Task.FARMER));
@ -212,12 +217,14 @@ public class MixinLOTRUnitTradeEntries {
new LOTRUnitTradeEntry(LOTREntityAngmarHillmanWarrior.class, LOTREntityAngmarWarg.class, "AngmarHillmanWarrior_Warg", 250, 150.0f).setMountArmor(LOTRMod.wargArmorAngmar, 0.3f).setPledgeExclusive(),
new LOTRUnitTradeEntry(LOTREntityAngmarHillmanAxeThrower.class, LOTREntityAngmarWarg.class, "AngmarHillmanAxeThrower_Warg", 250, 200.0f).setMountArmor(LOTRMod.wargArmorAngmar, 0.3f).setPledgeExclusive(),
new LOTRUnitTradeEntry(LOTREntityAngmarHillmanBannerBearer.class, 150, 200.0f),
new LOTRUnitTradeEntry(LOTREntityAngmarHillmanBannerBearer.class, LOTREntityAngmarWarg.class, "Banner_Warg", 250, 300.0f).setMountArmor(LOTRMod.wargArmorAngmar, 0.5f).setPledgeExclusive());
new LOTRUnitTradeEntry(LOTREntityAngmarHillmanBannerBearer.class, LOTREntityAngmarWarg.class, "Banner_Warg", 250, 300.0f).setMountArmor(LOTRMod.wargArmorAngmar, 0.5f).setPledgeExclusive(),
(new CinderUnitTradeEntry(RhudaurSoldier.class, 500, 400.0F).setObjective("Rhudaur").setExtraInfo("Rhudaur")));
@Shadow
public static LOTRUnitTradeEntries TAUREDAIN_CHIEFTAIN = new LOTRUnitTradeEntries(200.0f,
new LOTRUnitTradeEntry(LOTREntityTauredainWarrior.class, 250, 0.0f),
new LOTRUnitTradeEntry(LOTREntityTauredainBlowgunner.class, 250, 50.0f),
new LOTRUnitTradeEntry(LOTREntityTauredainBannerBearer.class, 250, 150.0f));
new LOTRUnitTradeEntry(LOTREntityTauredainBannerBearer.class, 250, 150.0f),
new LOTRUnitTradeEntry(TauredainTrueBlood.class, 500, 800.0f).setPledgeExclusive());
@Shadow
public static LOTRUnitTradeEntries TAUREDAIN_FARMER = new LOTRUnitTradeEntries(0.0f,
new LOTRUnitTradeEntry(LOTREntityTauredainFarmhand.class, 100, 50.0f).setTask(LOTRHiredNPCInfo.Task.FARMER));
@ -229,8 +236,8 @@ public class MixinLOTRUnitTradeEntries {
new LOTRUnitTradeEntry(LOTREntityDaleSoldier.class, LOTREntityHorse.class, "DaleSoldier_Horse", 350, 150.0f).setMountArmor(LOTRMod.horseArmorDale).setPledgeExclusive(),
new LOTRUnitTradeEntry(LOTREntityDaleBannerBearer.class, 250, 200.0f),
new LOTRUnitTradeEntry(LOTREntityDaleBannerBearer.class, LOTREntityHorse.class, "Banner_Horse", 350, 300.0f).setMountArmor(LOTRMod.horseArmorDale).setPledgeExclusive(),
new LOTRUnitTradeEntry(LOTREntityEsgarothBannerBearer.class, 250, 200.0f),
new LOTRUnitTradeEntry(LOTREntityEsgarothBannerBearer.class, LOTREntityHorse.class, "Banner_Horse", 350, 300.0f).setMountArmor(LOTRMod.horseArmorDale).setPledgeExclusive());
(new CinderUnitTradeEntry(EsgarothSoldier.class, 500, 400.0F).setObjective("Dale").setExtraInfo("Dale")),
(new CinderUnitTradeEntry(LOTREntityEsgarothBannerBearer.class, 500, 400.0F).setObjective("Dale").setExtraInfo("Dale")));
@Shadow
public static LOTRUnitTradeEntries DORWINION_CAPTAIN = new LOTRUnitTradeEntries(150.0f,
new LOTRUnitTradeEntry(LOTREntityDorwinionGuard.class, 250, 0.0f),

@ -163,18 +163,14 @@ public class recipes {
'X', Items.fish));
//GameRegistry.addRecipe((IRecipe)new ShapedOreRecipe(new ItemStack(CinderLoE.rustedsword, 8), new Object[] { "X", "y", "y",
//Character.valueOf('Y'), Items.iron_ingot, Character.valueOf('X'), "stickWood"}));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(CinderLoE.cinderchain, 8, 0),
"X", "X", "X",
'X', LOTRMod.bronze));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(CinderLoE.cinderchain, 8, 1),
"X", "X", "X",
'X', Items.gold_ingot));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(CinderLoE.cinderchain, 8, 2),
"X", "X", "X",
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(CinderLoE.silverChain, 8), "X", "X", "X",
'X', LOTRMod.silver));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(CinderLoE.cinderchain, 8, 3),
"X", "X", "X",
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(CinderLoE.goldChain, 8), "X", "X", "X",
'X', Items.gold_ingot));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(CinderLoE.ironChain, 8), "X", "X", "X",
'X', Items.iron_ingot));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(CinderLoE.bronzeChain, 8), "X", "X", "X",
'X', LOTRMod.bronze));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(CinderLoE.cindercobble, 4, 0), "XX", "XX",
'X', LOTRMod.cobblebrick));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(CinderLoE.cutDrystone, 4), "XX", "XX",

@ -23,6 +23,58 @@ tile.lotr:enchantedIce.name=Enchanted Ice
tile.lotr:iceCage.name=Ice Cage
tile.forging_station.name=Forging Station
tile.lotr:cinderfur.0.name=Brown Warg Fur Block
tile.lotr:cinderfur.1.name=Gray Warg Fur Block
tile.lotr:cinderfur.2.name=Black Warg Fur Block
tile.lotr:cinderfur.3.name=White Warg Fur Block
tile.lotr:cinderfur.4.name=Obsidian Warg Fur Block
tile.lotr:cinderfur.5.name=Black Bear Fur Block
tile.lotr:cinderfur.6.name=Brown Bear Fur Block
tile.lotr:cinderfur.7.name=Lion Fur Block
tile.lotr:cinderfur.8.name=Lioness Fur Block
tile.lotr:cinderfurcarpet.0.name=Brown Warg Fur Carpet
tile.lotr:cinderfurcarpet.1.name=Gray Warg Fur Carpet
tile.lotr:cinderfurcarpet.2.name=Black Warg Fur Carpet
tile.lotr:cinderfurcarpet.3.name=White Warg Carpet
tile.lotr:cinderfurcarpet.4.name=Obsidian Warg Fur Carpet
tile.lotr:cinderfurcarpet.5.name=Black Bear Fur Carpet
tile.lotr:cinderfurcarpet.6.name=Brown Bear Fur Carpet
tile.lotr:cinderfurcarpet.7.name=Lion Fur Carpet
tile.lotr:cinderfurcarpet.8.name=Lioness Fur Carpet
item.repair_kit.name=Repair Kit
item.upgrade_kit.name=Upgrade Kit
item.cinder_fur_item_0.name=Gray Warg Fur
item.cinder_fur_item_1.name=Black Warg Fur
item.cinder_fur_item_2.name=White Warg Fur
item.cinder_fur_item_3.name=Obsidian Warg Fur
item.cinder_fur_item_4.name=Black Bear Fur
item.cinder_fur_item_5.name=Brown Bear Fur
item.cinder_fur_item_6.name=Lioness Fur
item.lotr:helmetJade.name=Jade Helmet
item.lotr:bodyJade.name=Jade Chestplate
item.lotr:legsJade.name=Jade Leggings
item.lotr:bootsJade.name=Jade Boots
item.lotr:helmetRhudaur.name=Rhudaur Helmet
item.lotr:bodyRhudaur.name=Rhudaur Chestplate
item.lotr:legsRhudaur.name=Rhudaur Leggings
item.lotr:bootsRhudaur.name=Rhudaur Boots
item.lotr:helmetserpent.name=Serpent Hood
item.lotr:bodyserpent.name=Serpent Cloak
item.lotr:legsserpent.name=Serpent Leggings
item.lotr:bootsserpent.name=Serpent Boots
item.lotr:helmetUsurper.name=Usurper Helmet
item.lotr:bodyUsurper.name=Usurper Chestplate
item.lotr:legsUsurper.name=Usurper Leggings
item.lotr:bootsUsurper.name=Usurper Boots
item.lotr:helmetWarlord.name=Warlord Headdress
item.lotr:bodyWarlord.name=Warlord Chestplate
item.lotr:legsWarlord.name=Warlord Leggings
item.lotr:bootsWarlord.name=Warlord Boots
item.lotr:cleaver=Cleaver
item.lotr:spearUnnamed.name=Drannach Oriour
item.lotr:frostblade.name=Frostblade
item.lotr:whip.name=Whip
@ -56,6 +108,14 @@ item.lotr:pelmen.name=Pelmeni
item.lotr:lightStew.name=Light Stew
item.lotr:spice.name=Spices
item.lotr:spicedHam.name=Spiced Ham
item.lotr:chocolatebar.name=Chocolate Bar
item.lotr:fruitsalad.name=Fruid Salad
item.lotr:flour.name=Flour
item.lotr:dough.name=Dough
item.lotr:pasta.name=Pasta
item.lotr:pretzel.name=Pretzel
item.lotr:halva.name=Halva
item.lotr:doner_kebab.name=Döner Kebab
item.lotr:bonemold.name=Bonemold
item.lotr:helmetLimwaith.name=Limwaith Helmet
@ -274,4 +334,6 @@ lotr.unit.Banner_Warg=Warg Rider Banner
lotr.unit.Banner_Horse=Mounted Banner Bearer
lotr.unit.TestMob=Test Mob
lotr.unitinfo.Angmar=To Hire this unit you must have the Angmar Objective complete.
lotr.unitinfo.Angmar=To Hire this unit you must have the Angmar Objective complete.
lotr.unitinfo.Rhudaur=To Hire this unit you must have the Rhudaur Objective complete.
lotr.unitinfo.Dale=To Hire this unit you must have the Dalish Objective complete.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

@ -0,0 +1,79 @@
Cinder LoE: An exciting expansion to Lord of Embers
==Credits==
• Mevans - Creation of the LOTRMod
• Shinare - Primary Creator of Cinder and all that it is capable of bringing to the world
• KeyLime17 - Secondary Developer, Texturer, and general assistant to whatever is being worked on
• cleric_red - primary developer of Textures and Models
• Deanburrito - Developer of textures and models
• Jacubie - Developer of some textures.
==Textures: (Please do not reuse without the creators permission!)==
KeyLime17
• Red Dwarven Alignment Shield
• Wood Elven Relic
• Upgrade Kit
• Limwaith Weapons
• Limwaith Armor sets
• Bree Sword
• Ash Weaponry
• Spiced Ham, Spice, Doner Kebab, Bacon, Beef Stew, Light Stew, Pelmen, Onion, Cabbage, Halva
• Wizard Staves
• Chains
• Frostblade
• Voidal Dagger
• Red Dwarf Crossbow
• Bonemold, Ashen Ingot
• Fish barrel
• Cut and Cobbled Drystone
Cleric_red
• War darts
• Toxic Core
• Red Dwarven Weapons
• Red Dwarven Armor sets
• Bree Armor sets
• Ash Weaponry
• Pretzel, Pasta, Dough, Flour, Chocolate
• Arnor Mace
• Arnor Light armor set
• Haradric Elite Armor sets
• Rhudaur Armor set
• Jade Armor set
• Red Dwarven Ingot and Block
• Cinder block
• Red Dwarven Chandelier
• Ice cage
• Plaster
• Red Dwarven Banner
• Mordor Cobblebrick
Deanburrito
• Repair Kit
• All the extra Fur Blocks
• And the Fur items
Jacubie
• Whip
Geralt (Or other usernames such as DefenderOfChina)
• Drannach Iaur (spearUnnamed.png)
==Models: (All models below belong to their corresponding individual, a lot of work was put into them, so if you wish to redistribute, please ask!)==
Cleric_red
• Jade Armor Model
• Serpent Armor Model
• Bree Kettle Helmet Model
• Broken Halo Model
• Red Dwarven Helmet Model
• Usurper Helmet Model
• Rhudaur Helmet Armor Model
• Warlord Helmet Model
==Sounds:==
KeyLime (Although Most of these are or will be taken from existing video games and sources, which will be attached to the name)

@ -40,9 +40,10 @@
"MixinRendererLivingEntity",
"MixinRenderItem",
"MixinSlotCrafting",
"overrides.MixinLOTREntityWarg",
"overrides.MixinLOTRHiredNPCInfo",
"overrides.MixinLOTRReplacedMethods",
"overrides.MixinLOTRUnitTradeEntries",
"overrides.MixinLOTRUnitTradeEntries"
],
"client": []
}

Loading…
Cancel
Save