@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 228 B |
|
After Width: | Height: | Size: 237 B |
|
After Width: | Height: | Size: 266 B |
|
After Width: | Height: | Size: 266 B |
|
After Width: | Height: | Size: 215 B |
|
After Width: | Height: | Size: 212 B |
|
After Width: | Height: | Size: 235 B |
|
After Width: | Height: | Size: 235 B |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 365 B |
|
After Width: | Height: | Size: 328 B |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
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)
|
||||
•
|
||||
|
||||