2
0
Fork 0

Removed harad and dwarf levy (they were buggy)

Added some goodies
frozen
KeyLime17 1 year ago
parent a92c41d1ab
commit 44e50124e5

@ -1 +1 @@
�[�i5�ï¿á¡ �[�i5�ïÀ$_

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

@ -4,8 +4,10 @@ import com.zivilon.cinder_loe.blocks.*;
import com.zivilon.cinder_loe.character.CharacterEventListener; import com.zivilon.cinder_loe.character.CharacterEventListener;
import com.zivilon.cinder_loe.character.CharacterRoleAPI; import com.zivilon.cinder_loe.character.CharacterRoleAPI;
import com.zivilon.cinder_loe.client.render.*; import com.zivilon.cinder_loe.client.render.*;
import com.zivilon.cinder_loe.client.render.corrupt.*;
import com.zivilon.cinder_loe.command.CommandCinderCharacter; import com.zivilon.cinder_loe.command.CommandCinderCharacter;
import com.zivilon.cinder_loe.entity.*; import com.zivilon.cinder_loe.entity.*;
import com.zivilon.cinder_loe.entity.corrupt.*;
import com.zivilon.cinder_loe.items.*; import com.zivilon.cinder_loe.items.*;
import com.zivilon.cinder_loe.tileentity.*; import com.zivilon.cinder_loe.tileentity.*;
import com.zivilon.cinder_loe.util.Utilities; import com.zivilon.cinder_loe.util.Utilities;
@ -75,11 +77,11 @@ import net.minecraftforge.client.ClientCommandHandler;
@Mod( @Mod(
modid = "cinder_loe", modid = "cinder_loe",
version = "1.2.1", version = "1.2.3",
name = "CinderLoE", name = "CinderLoE",
dependencies = "required-after:spongemixins@[1.1.0,);required-after:lotr", dependencies = "required-after:spongemixins@[1.1.0,);required-after:lotr",
acceptedMinecraftVersions = "[1.7.10]", acceptedMinecraftVersions = "[1.7.10]",
acceptableRemoteVersions = "*") acceptableRemoteVersions = "[1.2.3]")
public class CinderLoE { public class CinderLoE {
@Instance("cinder_loe") @Instance("cinder_loe")
@ -100,7 +102,7 @@ public class CinderLoE {
// Blocks // Blocks
public static Block barricade; // public static Block barricade;
public static Block cinderBlock; public static Block cinderBlock;
public static Block ivoryBlock; public static Block ivoryBlock;
public static Block blockRedDwarfSteel; public static Block blockRedDwarfSteel;
@ -135,6 +137,7 @@ public class CinderLoE {
// Misc // Misc
public static Item frostblade; public static Item frostblade;
public static Item daggervoid;
public static Item spearsolidgold; public static Item spearsolidgold;
public static Item whip; public static Item whip;
public static Item swordAsh; public static Item swordAsh;
@ -299,13 +302,19 @@ public class CinderLoE {
event.registerServerCommand(new CommandCinderCharacter()); event.registerServerCommand(new CommandCinderCharacter());
} }
public void registerEntities() { // Last ID added: 37 public void registerEntities() { // Last ID added: 41
GameRegistry.registerTileEntity(TileEntityMistBlock.class, "TileEntityMistBlock"); GameRegistry.registerTileEntity(TileEntityMistBlock.class, "TileEntityMistBlock");
int entityID = 7320; // Always increment entityID by 1 over the last entity to ensure unique IDs int entityID = 7320; // Always increment entityID by 1 over the last entity to ensure unique IDs
EntityRegistry.registerModEntity(HaradLevy.class, "HaradLevy", (entityID + 36), this, 64, 1, true); // EntityRegistry.registerModEntity(HaradLevy.class, "HaradLevy", (entityID + 36), this, 64, 1, true);
EntityRegistry.registerModEntity(DwarfLevy.class, "DwarfLevy", (entityID + 37), this, 64, 1, true); // EntityRegistry.registerModEntity(DwarfLevy.class, "DwarfLevy", (entityID + 37), this, 64, 1, true);
EntityRegistry.registerModEntity(CorruptDwarf.class, "CorruptDwarf", (entityID + 36), this, 64, 1, true);
EntityRegistry.registerModEntity(CorruptElf.class, "CorruptElf", (entityID + 37), this, 64, 1, true);
EntityRegistry.registerModEntity(CorruptEnt.class, "CorruptEnt", (entityID + 38), this, 64, 1, true);
EntityRegistry.registerModEntity(CorruptHobbit.class, "CorruptHobit", (entityID + 39), this, 64, 1, true);
EntityRegistry.registerModEntity(CorruptMan.class, "CorruptMan", (entityID + 40), this, 64, 1, true);
EntityRegistry.registerModEntity(CorruptOrc.class, "CorruptOrc", (entityID + 41), this, 64, 1, true);
EntityRegistry.registerModEntity(SarumanFireball.class, "SarumanFireball", entityID + 0, this, 64, 10, true); EntityRegistry.registerModEntity(SarumanFireball.class, "SarumanFireball", entityID + 0, this, 64, 10, true);
EntityRegistry.registerModEntity(Renegade.class, "Renegade", (entityID + 1), this, 64, 1, true); EntityRegistry.registerModEntity(Renegade.class, "Renegade", (entityID + 1), this, 64, 1, true);
@ -354,8 +363,8 @@ public class CinderLoE {
public void registerBlocks() { public void registerBlocks() {
// barricade // barricade
barricade = (new barricade()); // barricade = (new barricade());
GameRegistry.registerBlock(barricade, "barricade"); // GameRegistry.registerBlock(barricade, "barricade");
// Cinder Block // Cinder Block
@ -502,7 +511,7 @@ public class CinderLoE {
* Item Registation, add up the "last ID added" upon adding a new item * Item Registation, add up the "last ID added" upon adding a new item
* Weapons will need to be linked * Weapons will need to be linked
*/ */
// Last ID added: 95 // Last ID added: 96
// ==Food Items== // ==Food Items==
ItemRegistration.registerItem(onion, "onion", 89); ItemRegistration.registerItem(onion, "onion", 89);
@ -571,15 +580,18 @@ public class CinderLoE {
// Misc // Misc
EVENT = getLOTRMaterialByName("EVENT"); EVENT = getLOTRMaterialByName("EVENT");
frostblade = (new LOTRItemSword(EVENT)).setUnlocalizedName("lotr:frostblade").setTextureName("lotr:frostblade"); frostblade = (new LOTRItemSword(EVENT)).setUnlocalizedName("lotr:frostblade").setTextureName("lotr:frostblade");
daggervoid = (new VoidDagger(EVENT)).addWeaponDamage(5.0F).setUnlocalizedName("lotr:daggerVoid").setTextureName("lotr:daggerVoid").setCreativeTab(null);
spearsolidgold = (new LOTRItemSpear(EVENT)).setUnlocalizedName("lotr:spearsolidgold").setTextureName("lotr:spearsolidgold").setCreativeTab(null); spearsolidgold = (new LOTRItemSpear(EVENT)).setUnlocalizedName("lotr:spearsolidgold").setTextureName("lotr:spearsolidgold").setCreativeTab(null);
whip = (new Whip()).setUnlocalizedName("lotr:whip").setTextureName("lotr:whip"); whip = (new Whip()).setUnlocalizedName("lotr:whip").setTextureName("lotr:whip");
ItemRegistration.registerItem(frostblade, "frostblade", 30); ItemRegistration.registerItem(frostblade, "frostblade", 30);
ItemRegistration.registerItem(daggervoid, "daggerVoid", 96);
ItemRegistration.registerItem(spearsolidgold, "spearsolidgold", 31); ItemRegistration.registerItem(spearsolidgold, "spearsolidgold", 31);
ItemRegistration.registerItem(whip, "whip", 32); ItemRegistration.registerItem(whip, "whip", 32);
linkLOTRWeapon(frostblade, "frostblade"); linkLOTRWeapon(frostblade, "frostblade");
linkLOTRWeapon(daggervoid, "daggerVoid");
linkLOTRWeapon(spearsolidgold, "spearsolidgold"); linkLOTRWeapon(spearsolidgold, "spearsolidgold");
linkLOTRWeapon(whip, "whip"); linkLOTRWeapon(whip, "whip");
@ -723,8 +735,8 @@ public class CinderLoE {
//Bree //Bree
MATERIAL_BREE = getLOTRMaterialByName("BREE"); MATERIAL_BREE = getLOTRMaterialByName("BREE");
if (MATERIAL_BREE != null) { if (MATERIAL_BREE != null) {
helmetBree = (new LOTRItemArmor(MATERIAL_BREE, 0, "helmet")).setUnlocalizedName("lotr:helmetBree").setTextureName("lotr:helmetBree");
helmetBreeKettle = (new LOTRItemArmor(MATERIAL_BREE, 0, "helmet")).setUnlocalizedName("lotr:helmetBreeKettle").setTextureName("lotr:breekettlehelmet"); helmetBreeKettle = (new LOTRItemArmor(MATERIAL_BREE, 0, "helmet")).setUnlocalizedName("lotr:helmetBreeKettle").setTextureName("lotr:breekettlehelmet");
helmetBree = (new LOTRItemArmor(MATERIAL_BREE, 0, "helmet")).setUnlocalizedName("lotr:helmetBree").setTextureName("lotr:helmetBree");
bodyBree = (new LOTRItemArmor(MATERIAL_BREE, 1)).setUnlocalizedName("lotr:bodyBree").setTextureName("lotr:bodyBree"); bodyBree = (new LOTRItemArmor(MATERIAL_BREE, 1)).setUnlocalizedName("lotr:bodyBree").setTextureName("lotr:bodyBree");
legsBree = (new LOTRItemArmor(MATERIAL_BREE, 2)).setUnlocalizedName("lotr:legsBree").setTextureName("lotr:legsBree"); legsBree = (new LOTRItemArmor(MATERIAL_BREE, 2)).setUnlocalizedName("lotr:legsBree").setTextureName("lotr:legsBree");
bootsBree = (new LOTRItemArmor(MATERIAL_BREE, 3)).setUnlocalizedName("lotr:bootsBree").setTextureName("lotr:bootsBree"); bootsBree = (new LOTRItemArmor(MATERIAL_BREE, 3)).setUnlocalizedName("lotr:bootsBree").setTextureName("lotr:bootsBree");
@ -783,8 +795,15 @@ public class CinderLoE {
public static class ClientProxy extends CommonProxy { public static class ClientProxy extends CommonProxy {
@Override @Override
public void setup() { public void setup() {
RenderingRegistry.registerEntityRenderingHandler(HaradLevy.class, new LOTRRenderNearHaradrim()); // RenderingRegistry.registerEntityRenderingHandler(HaradLevy.class, new LOTRRenderNearHaradrim());
RenderingRegistry.registerEntityRenderingHandler(DwarfLevy.class, new LOTRRenderDwarf()); // RenderingRegistry.registerEntityRenderingHandler(DwarfLevy.class, new LOTRRenderDwarf());
RenderingRegistry.registerEntityRenderingHandler(CorruptDwarf.class, new RenderCorruptDwarf());
RenderingRegistry.registerEntityRenderingHandler(CorruptElf.class, new RenderCorruptElf());
RenderingRegistry.registerEntityRenderingHandler(CorruptEnt.class, new RenderCorruptEnt());
RenderingRegistry.registerEntityRenderingHandler(CorruptHobbit.class, new RenderCorruptHobbit());
RenderingRegistry.registerEntityRenderingHandler(CorruptMan.class, new RenderCorruptMan());
RenderingRegistry.registerEntityRenderingHandler(CorruptOrc.class, new RenderCorruptOrc());
RenderingRegistry.registerEntityRenderingHandler(SarumanFireball.class, new RenderSarumanFireball()); RenderingRegistry.registerEntityRenderingHandler(SarumanFireball.class, new RenderSarumanFireball());
RenderingRegistry.registerEntityRenderingHandler(Renegade.class, new RenderRenegade()); RenderingRegistry.registerEntityRenderingHandler(Renegade.class, new RenderRenegade());
@ -937,7 +956,7 @@ public class CinderLoE {
//== Blocks== //== Blocks==
CinderCore.registerItemFallback(Block.getIdFromBlock(cinderBlock), Block.getIdFromBlock(Blocks.netherrack), "cinder_loe", "1.0"); CinderCore.registerItemFallback(Block.getIdFromBlock(cinderBlock), Block.getIdFromBlock(Blocks.netherrack), "cinder_loe", "1.0");
CinderCore.registerItemFallback(Block.getIdFromBlock(barricade), Block.getIdFromBlock(Blocks.fence), "cinder_loe", "1.0"); // CinderCore.registerItemFallback(Block.getIdFromBlock(barricade), Block.getIdFromBlock(Blocks.fence), "cinder_loe", "1.0");
CinderCore.registerItemFallback(Block.getIdFromBlock(ivoryBlock), Block.getIdFromBlock(LOTRMod.boneBlock), "cinder_loe", "1.0"); CinderCore.registerItemFallback(Block.getIdFromBlock(ivoryBlock), Block.getIdFromBlock(LOTRMod.boneBlock), "cinder_loe", "1.0");
CinderCore.registerItemFallback(Block.getIdFromBlock(blockRedDwarfSteel), Block.getIdFromBlock(LOTRMod.blockOreStorage), "cinder_loe", "1.0"); CinderCore.registerItemFallback(Block.getIdFromBlock(blockRedDwarfSteel), Block.getIdFromBlock(LOTRMod.blockOreStorage), "cinder_loe", "1.0");
CinderCore.registerItemFallback(Block.getIdFromBlock(chandelierRedDwarf), Block.getIdFromBlock(LOTRMod.chandelier), "cinder_loe", "1.0"); CinderCore.registerItemFallback(Block.getIdFromBlock(chandelierRedDwarf), Block.getIdFromBlock(LOTRMod.chandelier), "cinder_loe", "1.0");
@ -981,6 +1000,7 @@ public class CinderLoE {
CinderCore.registerItemFallback(Item.getIdFromItem(welfRelic), Item.getIdFromItem(LOTRMod.rhinoHorn), "cinder_loe", "1.2"); CinderCore.registerItemFallback(Item.getIdFromItem(welfRelic), Item.getIdFromItem(LOTRMod.rhinoHorn), "cinder_loe", "1.2");
// == Specials == // == Specials ==
CinderCore.registerItemFallback(Item.getIdFromItem(frostblade), Item.getIdFromItem(LOTRMod.swordMithril), "cinder_loe", "1.0"); CinderCore.registerItemFallback(Item.getIdFromItem(frostblade), Item.getIdFromItem(LOTRMod.swordMithril), "cinder_loe", "1.0");
CinderCore.registerItemFallback(Item.getIdFromItem(daggervoid), Item.getIdFromItem(LOTRMod.daggerMithril), "cinder_loe", "1.2.3");
CinderCore.registerItemFallback(Item.getIdFromItem(spearsolidgold), Item.getIdFromItem(LOTRMod.spearMithril), "cinder_loe", "1.1"); CinderCore.registerItemFallback(Item.getIdFromItem(spearsolidgold), Item.getIdFromItem(LOTRMod.spearMithril), "cinder_loe", "1.1");
CinderCore.registerItemFallback(Item.getIdFromItem(whip), Item.getIdFromItem(LOTRMod.balrogWhip), "cinder_loe", "1.2"); CinderCore.registerItemFallback(Item.getIdFromItem(whip), Item.getIdFromItem(LOTRMod.balrogWhip), "cinder_loe", "1.2");
// == Ash Forged == // == Ash Forged ==
@ -1058,8 +1078,15 @@ public class CinderLoE {
CinderCore.registerItemFallback(Item.getIdFromItem(bootsArnorBanner), Item.getIdFromItem(Items.chainmail_boots), "cinder_loe", "1.1"); CinderCore.registerItemFallback(Item.getIdFromItem(bootsArnorBanner), Item.getIdFromItem(Items.chainmail_boots), "cinder_loe", "1.1");
CinderCore.registerItemFallback(Item.getIdFromItem(maceArnor), Item.getIdFromItem(LOTRMod.blacksmithHammer), "cinder_loe", "1.1"); CinderCore.registerItemFallback(Item.getIdFromItem(maceArnor), Item.getIdFromItem(LOTRMod.blacksmithHammer), "cinder_loe", "1.1");
CinderCore.registerEntityFallback(HaradLevy.class, LOTREntityNearHaradrim.class, "cinder_loe", "1.2"); // CinderCore.registerEntityFallback(HaradLevy.class, LOTREntityNearHaradrim.class, "cinder_loe", "1.2.3");
CinderCore.registerEntityFallback(DwarfLevy.class, LOTREntityDwarf.class, "cinder_loe", "1.2"); // CinderCore.registerEntityFallback(DwarfLevy.class, LOTREntityDwarf.class, "cinder_loe", "1.2.3");
CinderCore.registerEntityFallback(CorruptDwarf.class, LOTREntityDwarf.class, "cinder_loe", "1.2.3");
CinderCore.registerEntityFallback(CorruptElf.class, LOTREntityTormentedElf.class, "cinder_loe", "1.2.3");
CinderCore.registerEntityFallback(CorruptEnt.class, LOTREntityEnt.class, "cinder_loe", "1.2.3");
CinderCore.registerEntityFallback(CorruptHobbit.class, LOTREntityHobbit.class, "cinder_loe", "1.2.3");
CinderCore.registerEntityFallback(CorruptMan.class, LOTREntityGondorMan.class, "cinder_loe", "1.2.3");
CinderCore.registerEntityFallback(CorruptOrc.class, LOTREntityGundabadOrc.class, "cinder_loe", "1.2.3");
CinderCore.registerEntityFallback(SarumanFireball.class, LOTREntityGandalfFireball.class, "cinder_loe", "1.0"); CinderCore.registerEntityFallback(SarumanFireball.class, LOTREntityGandalfFireball.class, "cinder_loe", "1.0");
CinderCore.registerEntityFallback(Renegade.class, LOTREntityBandit.class, "cinder_loe", "1.0"); CinderCore.registerEntityFallback(Renegade.class, LOTREntityBandit.class, "cinder_loe", "1.0");

@ -4,6 +4,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import java.io.File; import java.io.File;
import lotr.common.fac.LOTRFaction;
import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.config.Configuration;
public class CinderLoE_Config { public class CinderLoE_Config {
@ -11,6 +12,7 @@ public class CinderLoE_Config {
public static float enchantment_color_red; public static float enchantment_color_red;
public static float enchantment_color_green; public static float enchantment_color_green;
public static float enchantment_color_blue; public static float enchantment_color_blue;
public static String corrupt_faction;
public static void init(FMLPreInitializationEvent event) { public static void init(FMLPreInitializationEvent event) {
File configFile = new File(event.getModConfigurationDirectory(), "CinderLoE.cfg"); File configFile = new File(event.getModConfigurationDirectory(), "CinderLoE.cfg");
@ -28,6 +30,7 @@ public class CinderLoE_Config {
enchantment_color_green = config.getFloat("EnchantmentColorGreen", Configuration.CATEGORY_GENERAL, 0.19f, 0.0f, 1.0f, "Configure green color for enchantments"); enchantment_color_green = config.getFloat("EnchantmentColorGreen", Configuration.CATEGORY_GENERAL, 0.19f, 0.0f, 1.0f, "Configure green color for enchantments");
enchantment_color_blue = config.getFloat("EnchantmentColorBlue", Configuration.CATEGORY_GENERAL, 0.608f, 0.0f, 1.0f, "Configure blue color for enchantments"); enchantment_color_blue = config.getFloat("EnchantmentColorBlue", Configuration.CATEGORY_GENERAL, 0.608f, 0.0f, 1.0f, "Configure blue color for enchantments");
corrupt_faction = config.getString("CorruptFaction", Configuration.CATEGORY_GENERAL, "MORDOR", "Configure the alignment the Corrupt npcs follow");
// Save the configuration if it has changed // Save the configuration if it has changed
if (config.hasChanged()) { if (config.hasChanged()) {
config.save(); config.save();

@ -0,0 +1,38 @@
package com.zivilon.cinder_loe.client.render.corrupt;
import com.zivilon.cinder_loe.entity.corrupt.CorruptDwarf;
import com.zivilon.cinder_loe.entity.corrupt.CorruptElf;
import lotr.client.model.LOTRModelDwarf;
import lotr.client.model.LOTRModelElf;
import lotr.client.render.entity.LOTRRandomSkins;
import lotr.client.render.entity.LOTRRenderBiped;
import lotr.client.render.entity.LOTRRenderDwarf;
import lotr.common.entity.LOTRRandomSkinEntity;
import lotr.common.entity.npc.LOTREntityNPC;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
public class RenderCorruptDwarf extends LOTRRenderDwarf {
public static LOTRRandomSkins skinsMale;
protected ModelBiped standardRenderPassModel = new LOTRModelDwarf(0.5f, 64, 64);
public RenderCorruptDwarf() {
super();
skinsMale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/dwarf");
}
@Override
protected void func_82421_b() {
this.field_82423_g = new LOTRModelDwarf(1.0f);
this.field_82425_h = new LOTRModelDwarf(0.5f);
}
@Override
public ResourceLocation getEntityTexture(Entity entity) {
CorruptDwarf dwarf = (CorruptDwarf)entity;
if (dwarf.familyInfo.isMale()) {
return skinsMale.getRandomSkin(dwarf);
}
return skinsMale.getRandomSkin(dwarf);
}
}

@ -0,0 +1,41 @@
package com.zivilon.cinder_loe.client.render.corrupt;
import com.zivilon.cinder_loe.entity.corrupt.CorruptDwarf;
import com.zivilon.cinder_loe.entity.corrupt.CorruptElf;
import lotr.client.model.LOTRModelElf;
import lotr.client.render.entity.LOTRRandomSkins;
import lotr.client.render.entity.LOTRRenderBiped;
import lotr.client.render.entity.LOTRRenderElf;
import lotr.common.entity.LOTRRandomSkinEntity;
import lotr.common.entity.npc.LOTREntityNPC;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
public class RenderCorruptElf extends LOTRRenderElf {
public static LOTRRandomSkins skinsMale;
public static LOTRRandomSkins skinsFemale;
private LOTRModelElf eyesModel = new LOTRModelElf(0.05f, 64, 64);
private LOTRModelElf outfitModel = new LOTRModelElf(0.6f, 64, 64);
public RenderCorruptElf() {
super();
skinsMale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/elf_male");
skinsFemale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/elf_female");
}
@Override
protected void func_82421_b() {
this.field_82423_g = new LOTRModelElf(1.0f);
this.field_82425_h = new LOTRModelElf(0.5f);
}
@Override
public ResourceLocation getEntityTexture(Entity entity) {
CorruptElf elf = (CorruptElf)entity;
if (((LOTREntityNPC)elf).familyInfo.isMale()) {
return skinsMale.getRandomSkin((LOTRRandomSkinEntity)elf);
}
return skinsFemale.getRandomSkin((LOTRRandomSkinEntity)elf);
}
}

@ -0,0 +1,45 @@
package com.zivilon.cinder_loe.client.render.corrupt;
import com.zivilon.cinder_loe.entity.corrupt.CorruptDwarf;
import lotr.client.LOTRTextures;
import lotr.client.model.LOTRModelDwarf;
import lotr.client.model.LOTRModelEnt;
import lotr.client.render.entity.LOTRGlowingEyes;
import lotr.client.render.entity.LOTRRandomSkins;
import lotr.client.render.entity.LOTRRenderBiped;
import lotr.common.entity.npc.LOTREntityEnt;
import lotr.common.entity.npc.LOTREntityTree;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.ResourceLocation;
import java.util.HashMap;
public class RenderCorruptEnt extends RenderLiving {
private static HashMap entTextures = new HashMap();
private LOTRModelEnt eyesModel = new LOTRModelEnt(0.05f);
public RenderCorruptEnt() {
super((ModelBase)new LOTRModelEnt(), 0.5f);
}
protected ResourceLocation getEntityTexture(Entity entity) {
int treeType = ((LOTREntityEnt)entity).getTreeType();
String s = "cinder_loe:mob/corrupt/ent/" + LOTREntityTree.TYPES[treeType] + ".png";
ResourceLocation r = (ResourceLocation)entTextures.get(treeType);
if (r == null) {
r = new ResourceLocation(s);
entTextures.put(treeType, r);
}
return r;
}
protected void renderModel(EntityLivingBase entity, float f, float f1, float f2, float f3, float f4, float f5) {
super.renderModel(entity, f, f1, f2, f3, f4, f5);
ResourceLocation eyes = LOTRTextures.getEyesTexture(this.getEntityTexture((Entity)entity), new int[][]{{15, 23}, {22, 23}}, 3, 2);
LOTRGlowingEyes.renderGlowingEyes((Entity)entity, eyes, this.eyesModel, f, f1, f2, f3, f4, f5);
}
}

@ -0,0 +1,42 @@
package com.zivilon.cinder_loe.client.render.corrupt;
import com.zivilon.cinder_loe.entity.corrupt.CorruptDwarf;
import com.zivilon.cinder_loe.entity.corrupt.CorruptHobbit;
import lotr.client.model.LOTRModelDwarf;
import lotr.client.model.LOTRModelHobbit;
import lotr.client.render.entity.LOTRRandomSkins;
import lotr.client.render.entity.LOTRRenderBiped;
import lotr.client.render.entity.LOTRRenderHobbit;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.util.ResourceLocation;
public class RenderCorruptHobbit extends LOTRRenderHobbit {
public static LOTRRandomSkins hobbitSkinsMale;
public static LOTRRandomSkins hobbitSkinsFemale;
protected ModelBiped outfitModel = new LOTRModelHobbit(0.5f, 64, 64);
public RenderCorruptHobbit() {
super();
hobbitSkinsMale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/hobbit_male");
hobbitSkinsFemale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/hobbit_female");
}
@Override
protected void func_82421_b() {
this.field_82423_g = new LOTRModelHobbit(1.0f);
this.field_82425_h = new LOTRModelHobbit(0.5f);
}
@Override
public ResourceLocation getEntityTexture(Entity entity) {
CorruptHobbit dwarf = (CorruptHobbit) entity;
if (dwarf.familyInfo.isMale()) {
return hobbitSkinsMale.getRandomSkin(dwarf);
}
return hobbitSkinsFemale.getRandomSkin(dwarf);
}
}

@ -0,0 +1,41 @@
package com.zivilon.cinder_loe.client.render.corrupt;
import com.zivilon.cinder_loe.entity.corrupt.CorruptElf;
import com.zivilon.cinder_loe.entity.corrupt.CorruptMan;
import lotr.client.model.LOTRModelElf;
import lotr.client.model.LOTRModelHuman;
import lotr.client.render.entity.*;
import lotr.common.entity.LOTRRandomSkinEntity;
import lotr.common.entity.npc.LOTREntityMan;
import lotr.common.entity.npc.LOTREntityNPC;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.util.ResourceLocation;
public class RenderCorruptMan extends LOTRRenderGondorMan {
public static LOTRRandomSkins skinsMale;
public static LOTRRandomSkins skinsFemale;
protected ModelBiped outfitModel = new LOTRModelHuman(0.6f, false);
public RenderCorruptMan() {
super();
skinsMale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/human_male");
skinsFemale = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/human_female");
}
@Override
public ResourceLocation getEntityTexture(Entity entity) {
CorruptMan gondorian = (CorruptMan)entity;
if (gondorian.familyInfo.isMale()) {
return skinsMale.getRandomSkin(gondorian);
}
return skinsFemale.getRandomSkin(gondorian);
}
@Override
public int shouldRenderPass(EntityLiving entity, int pass, float f) {
CorruptMan dunedain = (CorruptMan)entity;
return super.shouldRenderPass((EntityLiving)dunedain, pass, f);
}
}

@ -0,0 +1,40 @@
package com.zivilon.cinder_loe.client.render.corrupt;
import com.zivilon.cinder_loe.entity.corrupt.CorruptDwarf;
import com.zivilon.cinder_loe.entity.corrupt.CorruptOrc;
import lotr.client.LOTRTextures;
import lotr.client.model.LOTRModelDwarf;
import lotr.client.model.LOTRModelOrc;
import lotr.client.render.entity.LOTRRandomSkins;
import lotr.client.render.entity.LOTRRenderBiped;
import lotr.client.render.entity.LOTRRenderDwarf;
import lotr.client.render.entity.LOTRRenderOrc;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
public class RenderCorruptOrc extends LOTRRenderOrc {
private static LOTRRandomSkins orcSkins;
private static LOTRRandomSkins urukSkins;
private static LOTRRandomSkins blackUrukSkins;
private LOTRModelOrc eyesModel = new LOTRModelOrc(0.05f);
public RenderCorruptOrc() {
super();
orcSkins = LOTRRandomSkins.loadSkinsList("cinder_loe:mob/corrupt/orc");
}
@Override
protected void func_82421_b() {
this.field_82423_g = new LOTRModelOrc(1.0f);
this.field_82425_h = new LOTRModelOrc(0.5f);
}
@Override
public ResourceLocation getEntityTexture(Entity entity) {
CorruptOrc orc = (CorruptOrc)entity;
return orcSkins.getRandomSkin(orc);
}
}

@ -32,6 +32,7 @@ import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeGenBase;
@ -67,4 +68,8 @@ public class Limwaith extends LOTREntityMoredain {
} }
return "limwaith/moredain/hostile"; return "limwaith/moredain/hostile";
} }
@Override
public ItemStack getPickedResult(MovingObjectPosition target) {
return new ItemStack(CinderLoE.limwaithSpawnEgg, 1);
}
} }

@ -0,0 +1,64 @@
package com.zivilon.cinder_loe.entity.corrupt;
import com.zivilon.cinder_loe.CinderLoE_Config;
import lotr.common.LOTRFoods;
import lotr.common.LOTRMod;
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
import lotr.common.entity.npc.LOTREntityDwarf;
import lotr.common.entity.npc.LOTREntityElf;
import lotr.common.entity.npc.LOTRNames;
import lotr.common.fac.LOTRFaction;
import lotr.common.item.LOTRItemMug;
import lotr.common.world.structure.LOTRChestContents;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import net.minecraftforge.common.config.Configuration;
import static com.zivilon.cinder_loe.CinderLoE_Config.config;
public class CorruptDwarf extends LOTREntityDwarf {
@Override
public ItemStack getPickedResult(MovingObjectPosition target) {
return null;
}
public CorruptDwarf(World world) {
super(world);
}
@Override
public void setupNPCGender() {
this.familyInfo.setMale(true);
}
@Override
public void setupNPCName() {
this.familyInfo.setName(LOTRNames.getDwarfName(this.rand, this.familyInfo.isMale()));
}
@Override
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
data = super.onSpawnWithEgg(data);
return data;
}
@Override
public LOTRFaction getFaction() {
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
}
@Override
protected float getSoundPitch() {
return super.getSoundPitch() * 0.65f;
}
@Override
public String getSpeechBank(EntityPlayer entityplayer) {
if (this.isFriendlyAndAligned(entityplayer)) {
return "corrupt/neutral";
}
return "corrupt/hostile";
}
}

@ -0,0 +1,119 @@
package com.zivilon.cinder_loe.entity.corrupt;
import com.zivilon.cinder_loe.CinderLoE_Config;
import lotr.common.LOTRFoods;
import lotr.common.LOTRMod;
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
import lotr.common.entity.npc.LOTREntityElf;
import lotr.common.entity.npc.LOTREntityNPC;
import lotr.common.entity.npc.LOTRNames;
import lotr.common.fac.LOTRFaction;
import lotr.common.item.LOTRItemMug;
import lotr.common.world.structure.LOTRChestContents;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class CorruptElf extends LOTREntityElf {
private LOTRFaction faction;
@Override
public ItemStack getPickedResult(MovingObjectPosition target) {
return null;
}
public CorruptElf(World world) {
super(world);
}
@Override
protected LOTRFoods getElfDrinks() {
return LOTRFoods.ORC_DRINK;
}
@Override
protected EntityAIBase createElfMeleeAttackAI() {
return new LOTREntityAIAttackOnCollide(this, 1.5, false);
}
@Override
protected EntityAIBase createElfRangedAttackAI() {
return this.createElfMeleeAttackAI();
}
@Override
public void setupNPCName() {
this.familyInfo.setName(LOTRNames.getSindarinName(this.rand, this.familyInfo.isMale()));
}
@Override
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
data = super.onSpawnWithEgg(data);
return data;
}
@Override
protected void onAttackModeChange(LOTREntityNPC.AttackMode mode, boolean mounted) {
if (mode == LOTREntityNPC.AttackMode.IDLE) {
this.tasks.removeTask(this.meleeAttackAI);
this.tasks.removeTask(this.rangedAttackAI);
this.setCurrentItemOrArmor(0, this.npcItemsInv.getIdleItem());
} else {
this.tasks.removeTask(this.meleeAttackAI);
this.tasks.removeTask(this.rangedAttackAI);
this.tasks.addTask(2, this.meleeAttackAI);
this.setCurrentItemOrArmor(0, this.npcItemsInv.getMeleeWeapon());
}
}
@Override
public LOTRFaction getFaction() {
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
}
@Override
public float getAlignmentBonus() {
return 0.0f;
}
@Override
protected void dropElfItems(boolean flag, int i) {
}
@Override
protected void dropFewItems(boolean flag, int i) {
}
@Override
public boolean canElfSpawnHere() {
return false;
}
@Override
public String getSpeechBank(EntityPlayer entityplayer) {
if (this.isFriendlyAndAligned(entityplayer)) {
return "corrupt/neutral";
}
return "corrupt/hostile";
}
@Override
public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) {
}
@Override
protected float getSoundPitch() {
return super.getSoundPitch() * 0.65f;
}
@Override
public String getHurtSound() {
return "lotr:orc.hurt";
}
@Override
public String getDeathSound() {
return "lotr:orc.death";
}
@Override
public String getAttackSound() {
return "lotr:orc.attack";
}
@Override
public void onKillEntity(EntityLivingBase entity) {
super.onKillEntity(entity);
this.playSound("lotr:orc.kill", this.getSoundVolume(), this.getSoundPitch());
}
}

@ -0,0 +1,50 @@
package com.zivilon.cinder_loe.entity.corrupt;
import com.zivilon.cinder_loe.CinderLoE_Config;
import lotr.common.LOTRFoods;
import lotr.common.LOTRMod;
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
import lotr.common.entity.npc.LOTREntityDwarf;
import lotr.common.entity.npc.LOTREntityEnt;
import lotr.common.entity.npc.LOTREntityTree;
import lotr.common.entity.npc.LOTRNames;
import lotr.common.fac.LOTRFaction;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import java.util.Random;
public class CorruptEnt extends LOTREntityEnt {
private LOTRFaction faction;
@Override
public ItemStack getPickedResult(MovingObjectPosition target) {
return null;
}
public CorruptEnt(World world) {
super(world);
}
@Override
public LOTRFaction getFaction() {
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
}
@Override
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
data = super.onSpawnWithEgg(data);
return data;
}
@Override
public float getAlignmentBonus() {
return 0.0f;
}
@Override
protected void dropFewItems(boolean flag, int i) {
super.dropFewItems(flag, i);
}
}

@ -0,0 +1,95 @@
package com.zivilon.cinder_loe.entity.corrupt;
import lotr.common.LOTRAchievement;
import lotr.common.LOTRFoods;
import lotr.common.LOTRMod;
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
import lotr.common.entity.npc.LOTREntityDwarf;
import lotr.common.entity.npc.LOTREntityHobbit;
import lotr.common.entity.npc.LOTREntityHobbitBounder;
import lotr.common.entity.npc.LOTRNames;
import lotr.common.fac.LOTRFaction;
import lotr.common.item.LOTRItemLeatherHat;
import lotr.common.world.structure.LOTRChestContents;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class CorruptHobbit extends LOTREntityHobbitBounder {
private LOTRFaction faction;
public CorruptHobbit(World world) {
super(world);
this.spawnRidingHorse = false;
}
@Override
public ItemStack getPickedResult(MovingObjectPosition target) {
return null;
}
@Override
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
return null;
}
@Override
protected LOTRFoods getHobbitFoods() {
return LOTRFoods.ORC;
}
@Override
protected LOTRFoods getHobbitDrinks() {
return LOTRFoods.ORC_DRINK;
}
@Override
public float getAlignmentBonus() {
return 0.0f;
}
@Override
public boolean getCanSpawnHere() {
return false;
}
@Override
public float getBlockPathWeight(int i, int j, int k) {
float f = 0.0f;
return f;
}
@Override
public LOTRFaction getFaction() {
return this.faction != null ? this.faction : LOTRFaction.UTUMNO;
}
@Override
protected float getSoundPitch() {
return super.getSoundPitch() * 1.5f;
}
@Override
public String getHurtSound() {
return "lotr:orc.hurt";
}
@Override
public String getDeathSound() {
return "lotr:orc.death";
}
@Override
public String getAttackSound() {
return "lotr:orc.attack";
}
@Override
public String getSpeechBank(EntityPlayer entityplayer) {
if (this.isFriendlyAndAligned(entityplayer)) {
return "corrupt/neutral";
}
return "corrupt/hostile";
}
@Override
protected void dropFewItems(boolean flag, int i) {
}
protected void dropHobbitItems(boolean flag, int i) {
}
}

@ -0,0 +1,110 @@
package com.zivilon.cinder_loe.entity.corrupt;
import com.zivilon.cinder_loe.CinderLoE;
import com.zivilon.cinder_loe.CinderLoE_Config;
import lotr.common.LOTRFoods;
import lotr.common.LOTRMod;
import lotr.common.entity.ai.*;
import lotr.common.entity.npc.*;
import lotr.common.fac.LOTRFaction;
import lotr.common.quest.LOTRMiniQuest;
import lotr.common.quest.LOTRMiniQuestFactory;
import net.minecraft.entity.*;
import net.minecraft.entity.ai.*;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class CorruptMan extends LOTREntityGondorMan {
public CorruptMan(World world) {
super(world);
this.addTargetTasks(true);
}
@Override
public ItemStack getPickedResult(MovingObjectPosition target) {
return null;
}
@Override
protected EntityAIBase createGondorAttackAI() {
return new LOTREntityAIAttackOnCollide(this, 1.45, true);
}
@Override
public void setupNPCName() {
this.familyInfo.setName(LOTRNames.getGondorName(this.rand, this.familyInfo.isMale()));
}
@Override
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
return null;
}
@Override
public LOTRFaction getFaction() {
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
}
@Override
public String getNPCName() {
return this.familyInfo.getName();
}
@Override
public float getAlignmentBonus() {
return 0.0f;
}
@Override
public boolean getCanSpawnHere() {
return false;
}
@Override
public float getBlockPathWeight(int i, int j, int k) {
float f = 0.0f;
return f;
}
@Override
protected float getSoundPitch() {
return super.getSoundPitch() * 0.65f;
}
@Override
public String getHurtSound() {
return "lotr:orc.hurt";
}
@Override
public String getDeathSound() {
return "lotr:orc.death";
}
@Override
public String getAttackSound() {
return "lotr:orc.attack";
}
@Override
public String getSpeechBank(EntityPlayer entityplayer) {
if (this.isFriendlyAndAligned(entityplayer)) {
return "corrupt/neutral";
}
return "corrupt/hostile";
}
@Override
public LOTRMiniQuest createMiniQuest() {
return null;
}
@Override
public LOTRMiniQuestFactory getBountyHelpSpeechDir() {
return null;
}
@Override
public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) {
}
@Override
protected void dropFewItems(boolean flag, int i) {
}
}

@ -0,0 +1,85 @@
package com.zivilon.cinder_loe.entity.corrupt;
import com.zivilon.cinder_loe.CinderLoE;
import com.zivilon.cinder_loe.CinderLoE_Config;
import lotr.common.LOTRFoods;
import lotr.common.LOTRMod;
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
import lotr.common.entity.npc.LOTREntityDwarf;
import lotr.common.entity.npc.LOTREntityOrc;
import lotr.common.entity.npc.LOTRNames;
import lotr.common.fac.LOTRFaction;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class CorruptOrc extends LOTREntityOrc {
private LOTRFaction faction;
public CorruptOrc(World world) {
super(world);
}
@Override
public ItemStack getPickedResult(MovingObjectPosition target) {
return null;
}
@Override
public EntityAIBase createOrcAttackAI() {
return new LOTREntityAIAttackOnCollide(this, 1.4, false);
}
@Override
protected void applyEntityAttributes() {
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0);
}
@Override
public LOTRFaction getFaction() {
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
}
@Override
public String getHurtSound() {
return "lotr:orc.hurt";
}
@Override
public String getDeathSound() {
return "lotr:orc.death";
}
@Override
public String getAttackSound() {
return "lotr:orc.attack";
}
@Override
public void onKillEntity(EntityLivingBase entity) {
super.onKillEntity(entity);
this.playSound("lotr:orc.kill", this.getSoundVolume(), this.getSoundPitch());
}
@Override
public String getSpeechBank(EntityPlayer entityplayer) {
if (this.isFriendlyAndAligned(entityplayer)) {
return "corrupt/neutral";
}
return "corrupt/hostile";
}
@Override
public float getAlignmentBonus() {
return 0.0f;
}
@Override
public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) {
}
@Override
protected void dropFewItems(boolean flag, int i) {
}
@Override
protected void dropOrcItems(boolean flag, int i) {
}
}

@ -0,0 +1,177 @@
package com.zivilon.cinder_loe.items;
import com.zivilon.cinder_loe.entity.corrupt.*;
import lotr.common.LOTRLevelData;
import lotr.common.entity.npc.*;
import lotr.common.fac.LOTRFaction;
import lotr.common.item.LOTRItemDagger;
import lotr.common.item.LOTRItemSword;
import lotr.common.item.LOTRMaterial;
import lotr.common.item.LOTRWeaponStats;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.EnumDifficulty;
import net.minecraft.world.World;
public class VoidDagger extends LOTRItemDagger {
public VoidDagger(LOTRMaterial material) {
super(material);
}
private LOTRFaction getFaction(EntityPlayer player) {
LOTRFaction faction = LOTRLevelData.getData(player).getPledgeFaction();
if (faction == null) {
faction = LOTRFaction.RUFFIAN;
}
return faction;
}
@Override
public boolean hitEntity(ItemStack itemstack, EntityLivingBase target, EntityLivingBase attacker) {
itemstack.damageItem(1, attacker);
// Check if the target is dead and call the onKillEntity method
if (target.getHealth() <= 0.0F) {
onKillEntity(target, attacker);
}
return true;
}
public void onKillEntity(EntityLivingBase entityKilled, EntityLivingBase killer) {
if (killer instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) killer;
LOTRFaction faction = getFaction(player);
entityKilled.worldObj.playSoundAtEntity(player, "mob.zombie.unfect", 1F,1F);
if (!entityKilled.worldObj.isRemote && entityKilled instanceof LOTREntityOrc) {
CorruptOrc corruptOrc = new CorruptOrc(entityKilled.worldObj);
corruptOrc.copyLocationAndAnglesFrom(entityKilled);
for (int i = 0; i < 4; i++) {
ItemStack armor = entityKilled.getEquipmentInSlot(i + 1); // Armor slots
corruptOrc.setCurrentItemOrArmor(i + 1, armor);
}
ItemStack mainWeapon = ((LOTREntityOrc) entityKilled).npcItemsInv.getMeleeWeapon(); // Main hand weapon
corruptOrc.npcItemsInv.setIdleItem(mainWeapon);
corruptOrc.npcItemsInv.setMeleeWeapon(mainWeapon);
corruptOrc.setHealth(10);
corruptOrc.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
entityKilled.worldObj.removeEntity(entityKilled);
corruptOrc.onSpawnWithEgg((IEntityLivingData) null);
entityKilled.worldObj.spawnEntityInWorld(corruptOrc);
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) corruptOrc.posX, (int) corruptOrc.posY, (int) corruptOrc.posZ, 0);
}
if (!entityKilled.worldObj.isRemote && entityKilled instanceof LOTREntityMan && !(entityKilled instanceof LOTREntityHobbit)) {
CorruptMan entity = new CorruptMan(entityKilled.worldObj);
entity.copyLocationAndAnglesFrom(entityKilled);
for (int i = 0; i < 4; i++) {
ItemStack armor = entityKilled.getEquipmentInSlot(i + 1); // Armor slots
entity.setCurrentItemOrArmor(i + 1, armor);
}
ItemStack mainWeapon = ((LOTREntityMan) entityKilled).npcItemsInv.getMeleeWeapon(); // Main hand weapon
entity.npcItemsInv.setIdleItem(mainWeapon);
entity.npcItemsInv.setMeleeWeapon(mainWeapon);
entity.setHealth(10);
entity.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
entityKilled.worldObj.removeEntity(entityKilled);
entity.onSpawnWithEgg((IEntityLivingData) null);
entityKilled.worldObj.spawnEntityInWorld(entity);
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) entity.posX, (int) entity.posY, (int) entity.posZ, 0);
}
}
if (entityKilled instanceof LOTREntityHobbit) {
CorruptHobbit entity = new CorruptHobbit(entityKilled.worldObj);
entity.copyLocationAndAnglesFrom(entityKilled);
for (int i = 0; i < 4; i++) {
ItemStack armor = entityKilled.getEquipmentInSlot(i + 1); // Armor slots
entity.setCurrentItemOrArmor(i + 1, armor);
}
ItemStack mainWeapon = ((LOTREntityHobbit) entityKilled).npcItemsInv.getMeleeWeapon(); // Main hand weapon
entity.npcItemsInv.setIdleItem(mainWeapon);
entity.npcItemsInv.setMeleeWeapon(mainWeapon);
entity.setHealth(10);
entity.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
entityKilled.worldObj.removeEntity(entityKilled);
entity.onSpawnWithEgg((IEntityLivingData) null);
entityKilled.worldObj.spawnEntityInWorld(entity);
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) entity.posX, (int) entity.posY, (int) entity.posZ, 0);
}
if (!entityKilled.worldObj.isRemote && entityKilled instanceof LOTREntityEnt) {
CorruptEnt entity = new CorruptEnt(entityKilled.worldObj);
entity.copyLocationAndAnglesFrom(entityKilled);
entityKilled.worldObj.removeEntity(entityKilled);
entity.onSpawnWithEgg((IEntityLivingData) null);
entity.setHealth(10);
entity.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
entityKilled.worldObj.spawnEntityInWorld(entity);
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) entity.posX, (int) entity.posY, (int) entity.posZ, 0);
}
if (!entityKilled.worldObj.isRemote && entityKilled instanceof LOTREntityElf) {
CorruptElf entity = new CorruptElf(entityKilled.worldObj);
entity.copyLocationAndAnglesFrom(entityKilled);
for (int i = 0; i < 4; i++) {
ItemStack armor = entityKilled.getEquipmentInSlot(i + 1); // Armor slots
entity.setCurrentItemOrArmor(i + 1, armor);
}
entity.setHealth(10);
entity.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
ItemStack mainWeapon = ((LOTREntityElf) entityKilled).npcItemsInv.getMeleeWeapon(); // Main hand weapon
entity.npcItemsInv.setIdleItem(mainWeapon);
entity.npcItemsInv.setMeleeWeapon(mainWeapon);
entityKilled.worldObj.removeEntity(entityKilled);
entity.onSpawnWithEgg((IEntityLivingData) null);
entityKilled.worldObj.spawnEntityInWorld(entity);
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) entity.posX, (int) entity.posY, (int) entity.posZ, 0);
}
if (!entityKilled.worldObj.isRemote && entityKilled instanceof LOTREntityDwarf) {
CorruptDwarf entity = new CorruptDwarf(entityKilled.worldObj);
entity.copyLocationAndAnglesFrom(entityKilled);
for (int i = 0; i < 4; i++) {
ItemStack armor = entityKilled.getEquipmentInSlot(i + 1); // Armor slots
entity.setCurrentItemOrArmor(i + 1, armor);
}
ItemStack mainWeapon = ((LOTREntityDwarf) entityKilled).npcItemsInv.getMeleeWeapon(); // Main hand weapon
entity.npcItemsInv.setIdleItem(mainWeapon);
entity.npcItemsInv.setMeleeWeapon(mainWeapon);
entity.setHealth(10);
entity.addPotionEffect(new PotionEffect(Potion.regeneration.id, 9999, 0));
entityKilled.worldObj.removeEntity(entityKilled);
entity.onSpawnWithEgg((IEntityLivingData) null);
entityKilled.worldObj.spawnEntityInWorld(entity);
entityKilled.worldObj.playAuxSFXAtEntity(null, 1016, (int) entity.posX, (int) entity.posY, (int) entity.posZ, 0);
}
}
}

@ -30,30 +30,37 @@ public class WoodElfRelic extends WizardStaff {
public ItemStack onEaten(ItemStack itemstack, World world, EntityPlayer entityplayer) { public ItemStack onEaten(ItemStack itemstack, World world, EntityPlayer entityplayer) {
entityplayer.swingItem(); entityplayer.swingItem();
itemstack.damageItem(2, (EntityLivingBase)entityplayer); itemstack.damageItem(2, (EntityLivingBase) entityplayer);
world.playSoundAtEntity((Entity)entityplayer, "lotr:elf.woodElf_teleport", 2.0F, (Item.itemRand.nextFloat() - Item.itemRand.nextFloat()) * 0.2F + 1.0F); world.playSoundAtEntity((Entity) entityplayer, "lotr:elf.woodElf_teleport", 2.0F, (Item.itemRand.nextFloat() - Item.itemRand.nextFloat()) * 0.2F + 1.0F);
LOTRFaction faction = LOTRFaction.WOOD_ELF; LOTRFaction faction = LOTRLevelData.getData(entityplayer).getPledgeFaction();
LOTRFaction woodElfFaction = LOTRFaction.WOOD_ELF;
if (!world.isRemote) { if (!world.isRemote) {
List<EntityLivingBase> entities = world.getEntitiesWithinAABB(EntityLivingBase.class, ((Entity)entityplayer).boundingBox.expand(12.0D, 8.0D, 12.0D)); List<EntityLivingBase> entities = world.getEntitiesWithinAABB(EntityLivingBase.class, ((Entity) entityplayer).boundingBox.expand(12.0D, 8.0D, 12.0D));
if (!entities.isEmpty()) if (!entities.isEmpty()) {
for (int i = 0; i < entities.size(); i++) { for (EntityLivingBase entity : entities) {
EntityLivingBase entity = entities.get(i);
if (entity != entityplayer) { if (entity != entityplayer) {
if (entity instanceof EntityLiving) { if (entity instanceof EntityLiving) {
EntityLiving entityliving = (EntityLiving)entity; EntityLiving entityliving = (EntityLiving) entity;
if (!faction.isGoodRelation(LOTRMod.getNPCFaction((Entity)entityliving))) if (LOTRMod.getNPCFaction((Entity) entityliving) != woodElfFaction) {
continue; continue;
} }
if (entity instanceof EntityPlayer) }
if (!MinecraftServer.getServer().isPVPEnabled() || LOTRLevelData.getData((EntityPlayer)entity).getAlignment(faction) < 0.0F)
if (entity instanceof EntityPlayer) {
if (!MinecraftServer.getServer().isPVPEnabled() || LOTRLevelData.getData((EntityPlayer) entity).getAlignment(faction) < 0.0F) {
continue; continue;
}
}
entity.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 1200, 0)); entity.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 1200, 0));
entity.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 1200, 0)); entity.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 1200, 0));
} }
} }
LOTRPacketWeaponFX packet = new LOTRPacketWeaponFX(LOTRPacketWeaponFX.Type.MACE_SAURON, (Entity)entityplayer); }
LOTRPacketHandler.networkWrapper.sendToAllAround((IMessage)packet, LOTRPacketHandler.nearEntity((Entity)entityplayer, 64.0D));
LOTRPacketWeaponFX packet = new LOTRPacketWeaponFX(LOTRPacketWeaponFX.Type.MACE_SAURON, (Entity) entityplayer);
LOTRPacketHandler.networkWrapper.sendToAllAround((IMessage) packet, LOTRPacketHandler.nearEntity((Entity) entityplayer, 64.0D));
} }
return itemstack; return itemstack;
} }

@ -21,6 +21,7 @@ tile.lotr:voidblock.name=Void
item.lotr:frostblade.name=Frostblade item.lotr:frostblade.name=Frostblade
item.lotr:whip.name=Whip item.lotr:whip.name=Whip
item.lotr:daggerVoid.name=Voidal Dagger
item.lotr:spearsolidgold.name=Solid Gold Spear item.lotr:spearsolidgold.name=Solid Gold Spear
item.lotr:helmetRedDwarf.name=Red Dwarven Helmet item.lotr:helmetRedDwarf.name=Red Dwarven Helmet
item.lotr:bodyRedDwarf.name=Red Dwarven Chestplate item.lotr:bodyRedDwarf.name=Red Dwarven Chestplate
@ -91,6 +92,8 @@ item.lotr:bowAsh.name=Ash-Forged Bow
item.lotr:pikeAsh.name=Ash-Forged Pike item.lotr:pikeAsh.name=Ash-Forged Pike
item.lotr:spearAsh.name=Ash-Forged Spear item.lotr:spearAsh.name=Ash-Forged Spear
item.lotr:banner.redDwarf.name=Banner of the Orocani
item.spawn_egg_fangornauroch.name=Spawn Fangorn Auroch item.spawn_egg_fangornauroch.name=Spawn Fangorn Auroch
item.spawn_egg_fangornbear.name=Spawn Fangorn Bear item.spawn_egg_fangornbear.name=Spawn Fangorn Bear
item.spawn_egg_fangornwildboar.name=Spawn Fangorn Wild Boar item.spawn_egg_fangornwildboar.name=Spawn Fangorn Wild Boar
@ -124,6 +127,14 @@ item.spawn_egg_limwaithshaman.name=Spawn Limwaith Shaman
item.spawn_egg_limwaithfishmonger.name=Spawn Limwaith Fishmonger item.spawn_egg_limwaithfishmonger.name=Spawn Limwaith Fishmonger
item.spawn_egg_limwaithbonewarrior.name=Spawn Limwaith Warrior item.spawn_egg_limwaithbonewarrior.name=Spawn Limwaith Warrior
entity.cinder_loe.CorruptMan.name=Corrupt Man
entity.cinder_loe.CorruptDwarf.name=Corrupt Dwarf
entity.cinder_loe.CorruptElf.name=Corrupt Elf
entity.cinder_loe.CorruptEnt.name=Corrupt Ent
entity.cinder_loe.CorruptHobit.name=Corrupt Hobbit
entity.cinder_loe.CorruptOrc.name=Corrupt Orc
entity.cinder_loe.RedDwarfSmith.name=Red Dwarf Smith entity.cinder_loe.RedDwarfSmith.name=Red Dwarf Smith
entity.cinder_loe.RedDwarfWarrior.name=Red Dwarf Warrior entity.cinder_loe.RedDwarfWarrior.name=Red Dwarf Warrior
entity.cinder_loe.RedDwarfArbalest.name=Red Dwarf Arbalest entity.cinder_loe.RedDwarfArbalest.name=Red Dwarf Arbalest

@ -0,0 +1,10 @@
Bow before the dark!
Beg for your gods to save you!
Stay back, or I'll be forced to attack you!
I don't have any choice! I'm Sorry!
I don't want to do this!
Soon you will know the cold of death...
The darkness consumes all...
You will serve in death...
You cannot escape the void...
Submit... that is the only option...

@ -0,0 +1,10 @@
Serve the darkness, obey the master.
The endless darkness creeps for us all...
In shadows, we find our purpose.
We are one with the void.
Our will is bound, our souls are lost.
The master commands, we obey.
Our minds are bound, our spirits broken.
The light fades, the dark remains.
No thoughts of our own, only the master's will.

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

@ -0,0 +1,77 @@
{
"animation": {
"frames": [
0,
0,
0,
1,
1,
1,
2,
2,
2,
3,
3,
3,
4,
4,
4,
5,
5,
5,
6,
6,
6,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7,
7
]
}
}
Loading…
Cancel
Save